• 0

[PHP] Help trying to clear text when clicking on a link


Question

hey, so i'm playing around with PHP just to get used to it.

i was wondering if its possible to make this

page.php

(everything is being done and reported back to page.php btw)

have two options via submit button

Option 1 - Option 2

[submit] [submit]

when the option is clicked for it to clear the current data and show the new data when clicked.

so far i have this

if($opt1)

{

echo "option 1";

}

else

{

echo "option 2";

so $opt1 will clear everything and show the info in that IF statement.

dunno if i explained it clearly :huh:

Recommended Posts

  • 0

well this is my live example

Test Site

when a person chooses either Agent or Broker, for the screen to clear and display the register script i made specific to either agent or broker.

my goal really is to learn PHP and to only have 1 php page to handle all request.

  • 0

I think I understand what you want. What about having something like this?

if(isset($_POST['agent']))
{
// They picked the agent button
include('agentform.php');
}
else if(isset($_POST['broker']))
{
// They picked the broker button
include('brokerform.php');
}

Then, you can create your agent form and broker form in the corresponding files. :)

Steven

  • 0

oh, ya i was somewhat on the right state of mind there. i thought of the isset function but not used it correctly

anyhow, i applied the code. bit it still shows the selection buttons.

i was wanting it to clear the entire screen and output the agent/brokerform.php all within the register3.php

  • 0
oh, ya i was somewhat on the right state of mind there. i thought of the isset function but not used it correctly

anyhow, i applied the code. bit it still shows the selection buttons.

i was wanting it to clear the entire screen and output the agent/brokerform.php all within the register3.php

In that case, here's what you're looking for:

if(isset($_GET['agent']))
{
// They picked the agent button
include('agentform.php');
}
else if(isset($_GET['broker']))
{
// They picked the broker button
include('brokerform.php');
}
else
{
// Show the buttons
}

Your form needs to look like this:

<form method="post" action="register3.php?agent">
<input type="submit" name="agent" value="Agent" />
</form>

<form method="post" action="register3.php?broker">
<input type="submit" name="broker" value="Broker" />
</form>

That way is the better way to go because the GET variables can be easily transferred via the page URL itself; not the same case for POST variables.

Steven

  • 0

hey just out of curiousity how would you have use this tehcnique to invoke a type of slides to register with.

i.e.

company info

-- next

personal info

-- next

logi info

-- submit

and all data returns to register3.php where i have all the PHP/SQL to enter all data into the database

  • 0

so this what i have so far

Live test site

when the user clicks on an option it takes them to the form i want.

but when the 'next' button is pressed it refreshes my IF statement...

i think i nested my IF statements correctly as its not giving me a blank .php page

meaning that the code is being run correctly right?

my logic here is this

if(isset($_GET['option1'])){
   echo " text";
   echo "<form action='register.php?next'><input type='submit' name='next' value='Next'></form>";
	  if(isset($_GET['next'])){
		 echo "you pressed next";
	  }
}else if(isset($_GET['option2'])){
   echo " text";
}else{
echo " text";
}

the code loops right when i press Next in the Option1 section and doesn't go proceed to the next section.

i have all my code in the register.php and really didn't want to make other php pages for each option as I want all data to be processed by my SQL queries i have in the register.php page

  • 0
wow, thank you steven...

i was on the right track but i was just overthinking the entire thing making it rather complicated in my mind.

you been a real big help thanks!

i'm buying you a virtual beer :beer:

Not a problem! I'm very glad it helped you. :D

so this what i have so far

Live test site

when the user clicks on an option it takes them to the form i want.

but when the 'next' button is pressed it refreshes my IF statement...

i think i nested my IF statements correctly as its not giving me a blank .php page

meaning that the code is being run correctly right?

my logic here is this

if(isset($_GET['option1'])){
   echo " text";
   echo "<form action='register.php?next'><input type='submit' name='next' value='Next'></form>";
	  if(isset($_GET['next'])){
		 echo "you pressed next";
	  }
}else if(isset($_GET['option2'])){
   echo " text";
}else{
echo " text";
}

the code loops right when i press Next in the Option1 section and doesn't go proceed to the next section.

i have all my code in the register.php and really didn't want to make other php pages for each option as I want all data to be processed by my SQL queries i have in the register.php page

To set up the scenario that you have in mind, you'll need to remember two things:

1) Have a $_GET variable which determines the account type - broker or agent;

2) Have a $_GET variable which determines the step.

The key here is to isolate the agent form output and submission from the broker form output and submission and again isolate all of that from the introductory form.

The first thing you'll need to do is set up your if statements as before:

if(isset($_GET['agent']))
{
// This is where we will handle all agent actions
}
else if(isset($_GET['broker']))
{
// This is where we'll handle all broker actions
}
else
{
// This is where we'll handle all introductory form actions
}

Then, we'll expand on this to include the step the user is currently up to by using a switch statement:

if(isset($_GET['agent']))
{
switch($_GET['step'])
{
default:
case 1:
	  // Output the step one form right here
break;
case 2:
	 // Process the step one form data here
	 // Output the step two form here
break;

// And so on and so forth until all your steps are catered for.
}
}

Do the same for broker, and you'll be able to handle all the steps. :)

To use this in your forms, you'll need to have your step 1 form submit data to step 2, using the action attribute of the form tag:

<form method="post" action="register3.php?agent&step=2">
<!-- My step one form goes here -->
</form>

And hey presto! It should all work out nicely.

Let me know if any of this is at all confusing, because I get the feeling I haven't explained it in the best way... :p

Steven

  • 0

hmmm, ok so i played around with it but i think i got a little confused now. i know that you only listed the hiarchy for agent so i got that far.

i plugged in what i thought you were talking about but i just ended up getting lost heh.

OK, so this is what i got from your awesome explanation.

if(isset($_GET['agent']))
{
step 1 for agent with next button labeled 'next'
}
else if(isset($_GET['broker']))
{
// This is where we'll handle all broker actions
}
else
{
choose agent or broker slide
}

then with the switched statement (where i got lost btw)

if(isset($_GET['agent']))
{
switch($_GET['step'])
{
default:
case 1:
	  // Output the step one form right here
-- wouldn't this be step 2?? as that step one is initiated when agent is pressed in the first block of code?
break;
case 2:
	 // Process the step one form data here
	 // Output the step two form here
this is where i input my SQL process queries? or the code that passes all data into empty strings for later processing when the submit button is pressed?
break;

// And so on and so forth until all your steps are catered for.
}
}

I get the code and its logic, just that maybe my brain trying to process more than i can handle at 5am

  • 0

Haha, not a problem. :)

You are absolutely right about your comment under case 1: above. When you click the agent button, the step is basically nothing, because the $_GET variable step is missing, so you'd have the button initially go to register3.php?agent, then the form on that page would post to register3.php?agent&step=1, and that would go to register3.php?agent&step=2.

So, because of this, you would end up with something like this:

if(isset($_GET['agent']))
{
if(isset($_GET['step']))
{
// $_GET['step'] exists - which step are we on?

switch($_GET['step'])
{
case 1:
default:
// Here is where you handle the input received from the form at the bottom (the initial form) - MySQL queries, etc.
echo '<form method="post" action="register3.php?agent&step=2">
Form goes here
</form>';
break;
case 2:
// And again, handle the input received from the step above - MySQL queries, etc.
break;

// And so on and so forth...

}
}
else
{
// $_GET['step'] doesn't exist, so output the first form
echo '<form method="post" action="register3.php?agent&step=1">
Your form goes here...
</form>';
}
}

It might be even more confusing if you're not sure what switch statements are - if you want an explanation of them, I would be more than happy to help you. :)

Let me know how you get on.

Steven

  • 0

yeah, i did think about that... hmmm

say that if a user clicks the back button either from the browser of the back button i provide will they be able to edit the fields and have the data dynamically update through the form so when they hit 'register' it all updates to my DB?

  • 0
watch, this is what i have and you'll see what I mean

Test Site

the data isn't brought over from previous steps and its boggling my mind. I did the hidden input via a foreach statement but it does.... well you'll see what i mean

Yeah, hidden form fields would be a good idea. The problem here is that your 'cumulative' form fields are outside of your form, so they aren't picked up when the form is submitted to the next step. Just move all of your inputs into the form and you should be sorted. :)

Steven

  • 0

this is my PHP code that creates my hidden fields which I have set to text just to see the script in action

	if ($key!="loginInfo"){

		  foreach ($_POST as $key => $value) {

		$value=htmlentities(stripslashes(strip_tags($value)));


		echo "<input type=\"text\" name=\"" . $key . "\" value=\"" . $value . "\" />\r\n";
		}

  • 0

ack, so i fiddled around endlessly (well for a really long while now ^-^) i can't figure out how to get everything into one <form>...</form> so its all captured by the invisible fields and passed to my varibles so i can later on input them into my sql queries... *sigh*

  • 0
ack, so i fiddled around endlessly (well for a really long while now ^-^) i can't figure out how to get everything into one <form>...</form> so its all captured by the invisible fields and passed to my varibles so i can later on input them into my sql queries... *sigh*

For each step, you need to have the fields for that step and the hidden fields within the form tags, otherwise the data won't get passed to the next step. Post your code here in full and I'll show you what you need to alter. :)

Steven

  • 0

Well ok, here it goes...

	   &lt;!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'&gt;
	   &lt;html xmlns='http://www.w3.org/1999/xhtml'&gt;
	   &lt;head&gt;
	   &lt;meta http-equiv='Content-Type' content='text/html; charset=utf-8' /&gt;
	   &lt;link href='css/hp.css' rel='stylesheet' type='text/css' /&gt;
	   &lt;title&gt;Untitled Document&lt;/title&gt;

	   &lt;/head&gt;
	   &lt;body&gt;
	   &lt;table width="720px" border="1" align="center"&gt;
		   &lt;tr&gt;
			   &lt;td colspan ="3"&gt;Menu goes here&lt;/td&gt;
		   &lt;/tr&gt;
		   &lt;tr&gt;
			   &lt;td width="98"&gt;some text here&lt;/td&gt;
			   &lt;td width="524"&gt;
	   &lt;?
	   if(isset($_POST['agentInfo']))
	   {
		   if ($key!="agentInfo"){

	   /*  $company_name	= $_POST['company_name'];
		   $company_address = $_POST['company_address'];
		   $company_suite   = $_POST['company_suite'];
		   $company_city	= $_POST['company_city'];
		   $company_zip	 = $_POST['company_zip'];
		   $company_tel	 = $_POST['company_tel'];
		   $company_fax	 = $_POST['company_fax'];
		   $company_web	 = $_POST['company_web']; */

		   echo"&lt;form action='".$PHPSELF."' method='POST'&gt;
			   &lt;table width='524' border='0' cellpadding='3' cellspacing='3' class='forms'&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;Step 2 - Tell us about yourself&lt;/td&gt;
					   &lt;td align='right' colspan='2'&gt;Agent Registration&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;First Name:&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='first_name' id='first_name'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Last Name:&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='last_name' id='last_name'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Real Estate License #:&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='license_num' id='license_num'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;How long have you been an Agent?&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='exp_age' id='exp_num'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;Check all that apply...&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;What are you experienced in:&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;
						   &lt;input type='checkbox' name='exp_sales' id='exp_sales'&gt;Sales

						   &lt;input type='checkbox' name='exp_sSales' id='exp_Ssales'&gt;Short Sales

						   &lt;input type='checkbox' name='exp_reo' id='exp_reo'&gt;R.E.O.

						   &lt;input type='checkbox' name='exp_propmngt' id='exp_propmngt'&gt;Property Management
					   &lt;/td&gt;
					   &lt;td&gt;
						   &lt;input type='checkbox' name='exp_foreclosures' id='exp_foreclosures'&gt;Foreclosures

						   &lt;input type='checkbox' name='exp_lMods' id='exp_Lmods'&gt;Loan Modifications

						   &lt;input type='checkbox' name='exp_bpo' id='exp_bpo'&gt;B.P.O.

						   &lt;input type='checkbox' name='exp_commreal' id='exp_commreal'&gt;Commercial Real Estate
					   &lt;/td&gt;
					   &lt;td align='center' valign='bottom'&gt;&lt;input type='submit' name='loginInfo' value='Next'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
			   &lt;/table&gt;
			   &lt;/form&gt;
			   &lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";

			   // Loop through the POST variables passed from the previous page
				 foreach ($_POST as $key =&gt; $value) {
			   // Decode the POST variable
			   $value=htmlentities(stripslashes(strip_tags($value)));

			   // Create a hidden input containing the value
			   echo "&lt;input type=\"text\" name=\"" . $key . "\" value=\"" . $value . "\" /&gt;\r\n";
			   }
		   }
	   }else if(isset($_POST['loginInfo']))
	   {
		   if ($key!="loginInfo"){


	   /*  $personal_first_name	   = $_POST['first_name'];
		   $personal_last_name		= $_POST['last_name'];
		   $personal_license_num	  = $_POST['license_num'];
		   $personal_exp_age		  = $_POST['exp_age'];
		   $personal_exp_sales		= $_POST['exp_sales'];
		   $personal_exp_sSales	   = $_POST['exp_sSales'];
		   $personal_exp_reo		  = $_POST['exp_reo'];
		   $personal_exp_propmngt	 = $_POST['exp_propmngt'];
		   $personal_exp_foreclosures = $_POST['exp_foreclosures'];
		   $personal_exp_lMods		= $_POST['exp_lMods'];
		   $personal_exp_bpo		  = $_POST['exp_bpo'];
		   $personal_exp_commreal	 = $_POST['exp_commreal']; */

		   echo"&lt;form action='".$PHPSELF."' method='POST'&gt;
		   &lt;table width='524' border='0' cellpadding='3' cellspacing='3' class='forms'&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;Step 3 - Choose your login details&lt;/td&gt;
					   &lt;td align='right' colspan='2'&gt;Agent Registration&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
				   &lt;td&gt;Username:&lt;/td&gt;
				   &lt;td&gt;&lt;input type='text' name='username'&gt;&lt;/td&gt;
			   &lt;/tr&gt;
			   &lt;tr&gt;
				   &lt;td&gt;Password:&lt;/td&gt;
				   &lt;td&gt;&lt;input type='password' name='password'&gt;&lt;/td&gt;
			   &lt;/tr&gt;
			   &lt;tr&gt;
				   &lt;td&gt;&lt;input type='submit' name='register' value='Register'&gt;&lt;/td&gt;
			   &lt;/tr&gt;
		   &lt;/table&gt;
		   &lt;/form&gt;
			   &lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";

			   // Loop through the POST variables passed from the previous page
				 foreach ($_POST as $key =&gt; $value) {

			   // Decode the POST variable
			   $value=htmlentities(stripslashes(strip_tags($value)));

			   // Create a hidden input containing the value
			   echo "&lt;input type=\"text\" name=\"" . $key . "\" value=\"" . $value . "\" /&gt;\r\n";
			   }
		   }
	   }else if(isset($_POST['register']))
	   {

		   echo "		&lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";

	   }else
	   {
		   echo"
			   &lt;form action='".$PHPSELF."' method='POST'&gt;	
			   &lt;table width='524' border='0' cellpadding='3' cellspacing='3' class='forms'&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Step 1 - Tell us about your company&lt;/td&gt;
					   &lt;td align='right'&gt;Agent Registration&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td colspan'4'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt; 
					   &lt;td colspan='2'&gt;&lt;font color='#CC0000'&gt;*&lt;/font&gt; Required
	   &lt;h2&gt;Company Information&lt;/h2&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
						 &lt;td valign='top'&gt;&lt;span class='required'&gt;Company name:&lt;font color='#CC0000'&gt;*&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
					   &lt;td width='280'&gt;&lt;input name='company_name' type='text' id='company_name' size='40' class='required'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt; 
					   &lt;td valign='top'&gt;Address:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_address' type='text' id='company_address' size='40'&gt;&lt;/td&gt;
					   &lt;td&gt; Suite:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_suite' type='text' id='company_suite' size='4'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;City:&lt;/td&gt;
					   &lt;td&gt;
					   &lt;input name='company_city' id='company_city'&gt;
					   &lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt; 
					   &lt;td&gt;Zip Code:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_zip' id='company_zip'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt; 
					   &lt;td&gt;Office Phone:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_tel' type='text' id='company_tel'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt; 
					   &lt;td&gt;Fax:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='fax' type='text' id='fax'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt; 
					   &lt;td valign='top'&gt;Website&lt;/td&gt;
					   &lt;td&gt;
					   &lt;input name='web' type='text' class='optional defaultInvalid url'&gt; 
					   &lt;span class='example'&gt;http://www.example.com&lt;/span&gt;
						  &lt;/td&gt;
					   &lt;td colspan='2' align='center'&gt;&lt;input type='submit' value='Next' name='agentInfo'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
			   &lt;/table&gt;
			   &lt;/form&gt;
			   &lt;/td&gt;

			   &lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";
	   }
		   ?&gt;
		   &lt;/tr&gt;
		   &lt;tr&gt;
			   &lt;td colspan="3"&gt;Copyright information&lt;/td&gt;
		   &lt;/tr&gt;
	   &lt;/table&gt;
	   &lt;/body&gt;
	   &lt;/html&gt;

  • 0

Try this:

&lt;!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'&gt;
	   &lt;html xmlns='http://www.w3.org/1999/xhtml'&gt;
	   &lt;head&gt;
	   &lt;meta http-equiv='Content-Type' content='text/html; charset=utf-8' /&gt;
	   &lt;link href='css/hp.css' rel='stylesheet' type='text/css' /&gt;
	   &lt;title&gt;Untitled Document&lt;/title&gt;

	   &lt;/head&gt;
	   &lt;body&gt;
	   &lt;table width="720px" border="1" align="center"&gt;
		   &lt;tr&gt;
			   &lt;td colspan ="3"&gt;Menu goes here&lt;/td&gt;
		   &lt;/tr&gt;
		   &lt;tr&gt;
			   &lt;td width="98"&gt;some text here&lt;/td&gt;
			   &lt;td width="524"&gt;
	   &lt;?
	   if(isset($_POST['agentInfo']))
	   {
		   if ($key!="agentInfo"){

	   /*  $company_name	= $_POST['company_name'];
		   $company_address = $_POST['company_address'];
		   $company_suite   = $_POST['company_suite'];
		   $company_city	= $_POST['company_city'];
		   $company_zip	 = $_POST['company_zip'];
		   $company_tel	 = $_POST['company_tel'];
		   $company_fax	 = $_POST['company_fax'];
		   $company_web	 = $_POST['company_web']; */

		   echo"&lt;form action='".$PHPSELF."' method='POST'&gt;
			   &lt;table width='524' border='0' cellpadding='3' cellspacing='3' class='forms'&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;Step 2 - Tell us about yourself&lt;/td&gt;
					   &lt;td align='right' colspan='2'&gt;Agent Registration&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;First Name:&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='first_name' id='first_name'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Last Name:&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='last_name' id='last_name'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Real Estate License #:&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='license_num' id='license_num'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;How long have you been an Agent?&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='exp_age' id='exp_num'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;Check all that apply...&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;What are you experienced in:&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;
						   &lt;input type='checkbox' name='exp_sales' id='exp_sales'&gt;Sales

						   &lt;input type='checkbox' name='exp_sSales' id='exp_Ssales'&gt;Short Sales

						   &lt;input type='checkbox' name='exp_reo' id='exp_reo'&gt;R.E.O.

						   &lt;input type='checkbox' name='exp_propmngt' id='exp_propmngt'&gt;Property Management
					   &lt;/td&gt;
					   &lt;td&gt;
						   &lt;input type='checkbox' name='exp_foreclosures' id='exp_foreclosures'&gt;Foreclosures

						   &lt;input type='checkbox' name='exp_lMods' id='exp_Lmods'&gt;Loan Modifications

						   &lt;input type='checkbox' name='exp_bpo' id='exp_bpo'&gt;B.P.O.

						   &lt;input type='checkbox' name='exp_commreal' id='exp_commreal'&gt;Commercial Real Estate
					   &lt;/td&gt;
					   &lt;td align='center' valign='bottom'&gt;&lt;input type='submit' name='loginInfo' value='Next'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
			   &lt;/table&gt;";

			   // Loop through the POST variables passed from the previous page
				 foreach ($_POST as $key =&gt; $value) {
			   // Decode the POST variable
			   $value=htmlentities(stripslashes(strip_tags($value)));

			   // Create a hidden input containing the value
			   echo "&lt;input type=\"text\" name=\"" . $key . "\" value=\"" . $value . "\" /&gt;\r\n";

			   }

			   echo "&lt;/form&gt;
			   &lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";
		   }
	   }else if(isset($_POST['loginInfo']))
	   {
		   if ($key!="loginInfo"){


	   /*  $personal_first_name	   = $_POST['first_name'];
		   $personal_last_name		= $_POST['last_name'];
		   $personal_license_num	  = $_POST['license_num'];
		   $personal_exp_age		  = $_POST['exp_age'];
		   $personal_exp_sales		= $_POST['exp_sales'];
		   $personal_exp_sSales	   = $_POST['exp_sSales'];
		   $personal_exp_reo		  = $_POST['exp_reo'];
		   $personal_exp_propmngt	 = $_POST['exp_propmngt'];
		   $personal_exp_foreclosures = $_POST['exp_foreclosures'];
		   $personal_exp_lMods		= $_POST['exp_lMods'];
		   $personal_exp_bpo		  = $_POST['exp_bpo'];
		   $personal_exp_commreal	 = $_POST['exp_commreal']; */

		   echo"&lt;form action='".$PHPSELF."' method='POST'&gt;
		   &lt;table width='524' border='0' cellpadding='3' cellspacing='3' class='forms'&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;Step 3 - Choose your login details&lt;/td&gt;
					   &lt;td align='right' colspan='2'&gt;Agent Registration&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
				   &lt;td&gt;Username:&lt;/td&gt;
				   &lt;td&gt;&lt;input type='text' name='username'&gt;&lt;/td&gt;
			   &lt;/tr&gt;
			   &lt;tr&gt;
				   &lt;td&gt;Password:&lt;/td&gt;
				   &lt;td&gt;&lt;input type='password' name='password'&gt;&lt;/td&gt;
			   &lt;/tr&gt;
			   &lt;tr&gt;
				   &lt;td&gt;&lt;input type='submit' name='register' value='Register'&gt;&lt;/td&gt;
			   &lt;/tr&gt;
		   &lt;/table&gt;";

			   // Loop through the POST variables passed from the previous page
				 foreach ($_POST as $key =&gt; $value) {

			   // Decode the POST variable
			   $value=htmlentities(stripslashes(strip_tags($value)));

			   // Create a hidden input containing the value
			   echo "&lt;input type=\"text\" name=\"" . $key . "\" value=\"" . $value . "\" /&gt;\r\n";
			   }

			   echo "		   &lt;/form&gt;
			   &lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";
		   }
	   }else if(isset($_POST['register']))
	   {

		   echo "		&lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";

	   }else
	   {
		   echo"
			   &lt;form action='".$PHPSELF."' method='POST'&gt;	
			   &lt;table width='524' border='0' cellpadding='3' cellspacing='3' class='forms'&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Step 1 - Tell us about your company&lt;/td&gt;
					   &lt;td align='right'&gt;Agent Registration&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td colspan'4'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;&lt;font color='#CC0000'&gt;*&lt;/font&gt; Required
	   &lt;h2&gt;Company Information&lt;/h2&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
						 &lt;td valign='top'&gt;&lt;span class='required'&gt;Company name:&lt;font color='#CC0000'&gt;*&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
					   &lt;td width='280'&gt;&lt;input name='company_name' type='text' id='company_name' size='40' class='required'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td valign='top'&gt;Address:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_address' type='text' id='company_address' size='40'&gt;&lt;/td&gt;
					   &lt;td&gt; Suite:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_suite' type='text' id='company_suite' size='4'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;City:&lt;/td&gt;
					   &lt;td&gt;
					   &lt;input name='company_city' id='company_city'&gt;
					   &lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Zip Code:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_zip' id='company_zip'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Office Phone:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_tel' type='text' id='company_tel'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Fax:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='fax' type='text' id='fax'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td valign='top'&gt;Website&lt;/td&gt;
					   &lt;td&gt;
					   &lt;input name='web' type='text' class='optional defaultInvalid url'&gt;
					   &lt;span class='example'&gt;http://www.example.com&lt;/span&gt;
						  &lt;/td&gt;
					   &lt;td colspan='2' align='center'&gt;&lt;input type='submit' value='Next' name='agentInfo'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
			   &lt;/table&gt;
			   &lt;/form&gt;
			   &lt;/td&gt;

			   &lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";
	   }
		   ?&gt;
		   &lt;/tr&gt;
		   &lt;tr&gt;
			   &lt;td colspan="3"&gt;Copyright information&lt;/td&gt;
		   &lt;/tr&gt;
	   &lt;/table&gt;
	   &lt;/body&gt;
	   &lt;/html&gt;

The key is to move the closing form tags below the foreach statements, so that they are captured by the form.

Steven

  • 0
Try this:

&lt;!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'&gt;
	   &lt;html xmlns='http://www.w3.org/1999/xhtml'&gt;
	   &lt;head&gt;
	   &lt;meta http-equiv='Content-Type' content='text/html; charset=utf-8' /&gt;
	   &lt;link href='css/hp.css' rel='stylesheet' type='text/css' /&gt;
	   &lt;title&gt;Untitled Document&lt;/title&gt;

	   &lt;/head&gt;
	   &lt;body&gt;
	   &lt;table width="720px" border="1" align="center"&gt;
		   &lt;tr&gt;
			   &lt;td colspan ="3"&gt;Menu goes here&lt;/td&gt;
		   &lt;/tr&gt;
		   &lt;tr&gt;
			   &lt;td width="98"&gt;some text here&lt;/td&gt;
			   &lt;td width="524"&gt;
	   &lt;?
	   if(isset($_POST['agentInfo']))
	   {
		   if ($key!="agentInfo"){

	   /*  $company_name	= $_POST['company_name'];
		   $company_address = $_POST['company_address'];
		   $company_suite   = $_POST['company_suite'];
		   $company_city	= $_POST['company_city'];
		   $company_zip	 = $_POST['company_zip'];
		   $company_tel	 = $_POST['company_tel'];
		   $company_fax	 = $_POST['company_fax'];
		   $company_web	 = $_POST['company_web']; */

		   echo"&lt;form action='".$PHPSELF."' method='POST'&gt;
			   &lt;table width='524' border='0' cellpadding='3' cellspacing='3' class='forms'&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;Step 2 - Tell us about yourself&lt;/td&gt;
					   &lt;td align='right' colspan='2'&gt;Agent Registration&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;First Name:&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='first_name' id='first_name'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Last Name:&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='last_name' id='last_name'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Real Estate License #:&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='license_num' id='license_num'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;How long have you been an Agent?&lt;/td&gt;
					   &lt;td&gt;&lt;input type='text' name='exp_age' id='exp_num'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;Check all that apply...&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;What are you experienced in:&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;
						   &lt;input type='checkbox' name='exp_sales' id='exp_sales'&gt;Sales

						   &lt;input type='checkbox' name='exp_sSales' id='exp_Ssales'&gt;Short Sales

						   &lt;input type='checkbox' name='exp_reo' id='exp_reo'&gt;R.E.O.

						   &lt;input type='checkbox' name='exp_propmngt' id='exp_propmngt'&gt;Property Management
					   &lt;/td&gt;
					   &lt;td&gt;
						   &lt;input type='checkbox' name='exp_foreclosures' id='exp_foreclosures'&gt;Foreclosures

						   &lt;input type='checkbox' name='exp_lMods' id='exp_Lmods'&gt;Loan Modifications

						   &lt;input type='checkbox' name='exp_bpo' id='exp_bpo'&gt;B.P.O.

						   &lt;input type='checkbox' name='exp_commreal' id='exp_commreal'&gt;Commercial Real Estate
					   &lt;/td&gt;
					   &lt;td align='center' valign='bottom'&gt;&lt;input type='submit' name='loginInfo' value='Next'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
			   &lt;/table&gt;";

			   // Loop through the POST variables passed from the previous page
				 foreach ($_POST as $key =&gt; $value) {
			   // Decode the POST variable
			   $value=htmlentities(stripslashes(strip_tags($value)));

			   // Create a hidden input containing the value
			   echo "&lt;input type=\"text\" name=\"" . $key . "\" value=\"" . $value . "\" /&gt;\r\n";

			   }

			   echo "&lt;/form&gt;
			   &lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";
		   }
	   }else if(isset($_POST['loginInfo']))
	   {
		   if ($key!="loginInfo"){


	   /*  $personal_first_name	   = $_POST['first_name'];
		   $personal_last_name		= $_POST['last_name'];
		   $personal_license_num	  = $_POST['license_num'];
		   $personal_exp_age		  = $_POST['exp_age'];
		   $personal_exp_sales		= $_POST['exp_sales'];
		   $personal_exp_sSales	   = $_POST['exp_sSales'];
		   $personal_exp_reo		  = $_POST['exp_reo'];
		   $personal_exp_propmngt	 = $_POST['exp_propmngt'];
		   $personal_exp_foreclosures = $_POST['exp_foreclosures'];
		   $personal_exp_lMods		= $_POST['exp_lMods'];
		   $personal_exp_bpo		  = $_POST['exp_bpo'];
		   $personal_exp_commreal	 = $_POST['exp_commreal']; */

		   echo"&lt;form action='".$PHPSELF."' method='POST'&gt;
		   &lt;table width='524' border='0' cellpadding='3' cellspacing='3' class='forms'&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;Step 3 - Choose your login details&lt;/td&gt;
					   &lt;td align='right' colspan='2'&gt;Agent Registration&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
				   &lt;td&gt;Username:&lt;/td&gt;
				   &lt;td&gt;&lt;input type='text' name='username'&gt;&lt;/td&gt;
			   &lt;/tr&gt;
			   &lt;tr&gt;
				   &lt;td&gt;Password:&lt;/td&gt;
				   &lt;td&gt;&lt;input type='password' name='password'&gt;&lt;/td&gt;
			   &lt;/tr&gt;
			   &lt;tr&gt;
				   &lt;td&gt;&lt;input type='submit' name='register' value='Register'&gt;&lt;/td&gt;
			   &lt;/tr&gt;
		   &lt;/table&gt;";

			   // Loop through the POST variables passed from the previous page
				 foreach ($_POST as $key =&gt; $value) {

			   // Decode the POST variable
			   $value=htmlentities(stripslashes(strip_tags($value)));

			   // Create a hidden input containing the value
			   echo "&lt;input type=\"text\" name=\"" . $key . "\" value=\"" . $value . "\" /&gt;\r\n";
			   }

			   echo "		   &lt;/form&gt;
			   &lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";
		   }
	   }else if(isset($_POST['register']))
	   {

		   echo "		&lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";

	   }else
	   {
		   echo"
			   &lt;form action='".$PHPSELF."' method='POST'&gt;	
			   &lt;table width='524' border='0' cellpadding='3' cellspacing='3' class='forms'&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Step 1 - Tell us about your company&lt;/td&gt;
					   &lt;td align='right'&gt;Agent Registration&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td colspan'4'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td colspan='2'&gt;&lt;font color='#CC0000'&gt;*&lt;/font&gt; Required
	   &lt;h2&gt;Company Information&lt;/h2&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
						 &lt;td valign='top'&gt;&lt;span class='required'&gt;Company name:&lt;font color='#CC0000'&gt;*&lt;/font&gt;&lt;/span&gt;&lt;/td&gt;
					   &lt;td width='280'&gt;&lt;input name='company_name' type='text' id='company_name' size='40' class='required'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td valign='top'&gt;Address:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_address' type='text' id='company_address' size='40'&gt;&lt;/td&gt;
					   &lt;td&gt; Suite:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_suite' type='text' id='company_suite' size='4'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;City:&lt;/td&gt;
					   &lt;td&gt;
					   &lt;input name='company_city' id='company_city'&gt;
					   &lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Zip Code:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_zip' id='company_zip'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Office Phone:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='company_tel' type='text' id='company_tel'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td&gt;Fax:&lt;/td&gt;
					   &lt;td&gt;&lt;input name='fax' type='text' id='fax'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
				   &lt;tr&gt;
					   &lt;td valign='top'&gt;Website&lt;/td&gt;
					   &lt;td&gt;
					   &lt;input name='web' type='text' class='optional defaultInvalid url'&gt;
					   &lt;span class='example'&gt;http://www.example.com&lt;/span&gt;
						  &lt;/td&gt;
					   &lt;td colspan='2' align='center'&gt;&lt;input type='submit' value='Next' name='agentInfo'&gt;&lt;/td&gt;
				   &lt;/tr&gt;
			   &lt;/table&gt;
			   &lt;/form&gt;
			   &lt;/td&gt;

			   &lt;td valign='bottom' align='center'&gt;
			   &lt;form&gt;&lt;input type='button' value='Back' onclick='history.go(-1)'&gt;&lt;/form&gt;
			   &lt;/td&gt;";
	   }
		   ?&gt;
		   &lt;/tr&gt;
		   &lt;tr&gt;
			   &lt;td colspan="3"&gt;Copyright information&lt;/td&gt;
		   &lt;/tr&gt;
	   &lt;/table&gt;
	   &lt;/body&gt;
	   &lt;/html&gt;

The key is to move the closing form tags below the foreach statements, so that they are captured by the form.

Steven

Oh ya! i see now, the only problem is that now it loops on step 2 and won't advance to step 3

  • 0

From what I can see, you're echoing the variable $PHPSELF for the form action and it isn't declared anywhere. Do you mean $_SERVER['PHP_SELF']? If you do, then you'll need to change that because that'll just post the form back to itself, which will cause it to just loop, well, to itself.

Steven

  • 0

so i was able to get the script to run when its in an independant environment. but when i include it into my main page it breaks the cycle of the IF statements.

i'm thinking its just as you mentioned that the $PHPSELF won't work, but now i'm wondering what i need to put in the action=' ' part in the form.

This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Posts

    • HOLY THREAD REVIVAL   But yes, look for browser.nova.enabled and set it to true
    • 5-year subscription to AdGuard VPN price-dropped now 90% off by Steven Parker Today's highlighted deal comes via our Apps + Software section of the Neowin Deals store, where you can save 88% off a 5-year subscription to AdGuard VPN. In the digital age where internet privacy is paramount, AdGuard VPN emerges as an essential tool. This virtual private network (VPN) is your encrypted gateway to the internet, helping your data stay secure and your online activities remain private, regardless of your location. More than just a privacy tool, AdGuard VPN is a robust solution packed with features that cater to a variety of internet needs. Why AdGuard VPN subscription deal over other VPNs: Exhaustive List of Locations: With 60+ locations available worldwide, you have the freedom to connect from anywhere you want, effectively bypassing geographically restricted content. Check complete list of servers here. Advanced Security Protocol: AdGuard VPN uses its own security protocol, guaranteeing a faster and safer VPN connection. This means you can browse, stream, and download with peace of mind knowing your data is secure. Zero-Logging Policy: Rest assured, your personal data is not collected and your internet traffic stays private at all times, thanks to AdGuard's strict zero-logging policy. Simultaneous Connections: Connect up to 10 devices simultaneously, providing protection for all your devices under just one account. Trusted Developer: AdGuard is a renowned name in the world of computer security, bringing their expertise and commitment to privacy and security to their VPN service. What You Get: Up to 10 devices connected simultaneously All locations Light-speed servers Unlimited data No logs policy Trusted developer Available on all platforms Privacy Created by a team from Russia, AdGuard software Limited is headquartered in Limassol, Cyprus. While the country does follow European privacy laws, it's not part of the 5/9/14 Eyes Alliance. Adguard may not properly work in China. Good to know Length of access: 5 years This plan is only available to new users Redemption deadline: redeem your code within 30 days of purchase Device per license: 10 Access options: desktop & mobile Updates included 5- years of AdGuard VPN normally costs $359.40 without discounts, but it can be yours just $39.97, that's a saving of $324.43 (90%) off. For full terms, specifications, and license info please click the link below. Get this 5-year AdGuard VPN deal for just $34.97 (was $359.40) Although priced in U.S. dollars, this deal is available for digital purchase worldwide. Support queries If you have queries or need support for any of the Neowin Deals, please use the contact form here. Neowin Deals are managed and sold by StackCommerce who represent Neowin on an affiliate basis. Why we post these deals We post these because we earn commission on each sale so as not to rely solely on advertising, which many of our readers block. It all helps toward paying staff reporters, servers and hosting costs. So for those that keep moaning and complaining, be thankful we're still online for you to even do that. Other ways to support Neowin Whitelist Neowin by not blocking our ads Create a free member account to see fewer ads Make a donation to support our day to day running costs Subscribe to Neowin - for $14 a year, or $28 a year for an ad-free experience Disclosure: Neowin benefits from revenue of each sale made through our branded deals site powered by StackCommerce.
    • KillerPDF 1.5.1 by Razvan Serea KillerPDF is a lightweight, portable PDF editor for Windows built for users who want full control without subscriptions, installers, or telemetry. It runs as a single executable, making it ideal for USB use and field work. You can view PDFs with smooth PDFium rendering, navigate quickly with thumbnails, zoom, and shortcuts, and reorganize pages using drag-and-drop. It supports merging multiple PDFs, splitting documents, and extracting selected pages. KillerPDF also allows inline text editing with font matching to preserve the original layout, plus annotations like text boxes, freehand drawing, highlights, and reusable signatures. You can search full text, copy content easily, and print documents with flattened annotations. Designed as a free and open alternative to bloated PDF tools, it works fully offline on Windows 10/11 x64. No runtimes install. Everything needed is inside the EXE (targets .NET Framework 4.8, which ships with every supported Windows release). KillerPDF key features: High-quality PDF rendering via PDFium Edit PDF text inline (double-click to modify text) Page thumbnails and fast navigation with zoom and shortcuts Merge multiple PDFs into one Split PDFs and extract selected pages Drag-and-drop page reordering Font matching to preserve original document appearance Text boxes for notes Freehand drawing tools Highlight overlays with adjustable color, size, opacity Undo actions and clear per-page annotations Create, draw, and save reusable signatures Click-to-place signatures anywhere Full-text search with highlighted results Drag-select or Ctrl+A to copy text Print with annotations flattened Portable single-file app (~10 MB) No installer, no admin rights required No account, no telemetry KillerPDF 1.5.1 changelog: Performance Save Flattened PDF now uses multiple CPU cores. Page rasterization is parallelized (PNG encoding runs across cores; the PDFium render step stays serialized since the library isn't thread-safe), so large documents flatten significantly faster while the UI stays responsive (#68). Fixed PDFs that failed to open with "Unexpected EOF" now open (#72). The failure was PdfSharpCore's Flate inflater (SharpZipLib) rejecting the FlateDecode cross-reference stream on multi-revision PDFs - files that open fine in browsers, Acrobat, and Foxit. KillerPDF now detects this and re-opens the file losslessly through PDFium, preserving selectable text. Thanks to @javajon for the report and a detailed reproduction. Grid view renders every page. It was capped at the first 26 pages, so longer documents stopped loading partway through. Tiles also stream in progressively now instead of blocking until the whole document is rendered. Grid Ctrl+Scroll no longer reloads every page when the zoom is already at its limit and nothing would change. Removed a stray horizontal scrollbar (a thin green line) that could appear across the bottom of grid view. Files on UNC / network shares (including the WSL \\wsl$ filesystem) are copied locally before opening, avoiding partial-read failures on network filesystems. Changed Minimum zoom lowered from 10% to 5%, so grid view can pack more columns (helpful for wide/landscape pages) and single-page view can zoom out further. Download: KillerPDF 1.5.1 | 6.3 MB (Open Source) Link: KillerPDF Home Page | Github | Screenshot Get alerted to all of our Software updates on Twitter at @NeowinSoftware
    • You can enable the Nova redesign in Firefox 152 stable, under about:config.
  • Recent Achievements

    • One Year In
      Console General earned a badge
      One Year In
    • One Year In
      Twozo Technologies earned a badge
      One Year In
    • One Month Later
      Twozo Technologies earned a badge
      One Month Later
    • Week One Done
      Twozo Technologies earned a badge
      Week One Done
    • Veteran
      branfont went up a rank
      Veteran
  • Popular Contributors

    1. 1
      +primortal
      520
    2. 2
      +Edouard
      196
    3. 3
      PsYcHoKiLLa
      111
    4. 4
      Steven P.
      89
    5. 5
      Nick H.
      71
  • Tell a friend

    Love Neowin? Tell a friend!