PHP - form workflow

Hi,

Say I have a TermsAndAgreement.php which contains 2 radio buttons (I Agree|I Disagree) and submit button. Upon choosing one of the radio buttons, then clicking "Submit" then it should go to Signup.php.

What php code do i put in signup.php & TermsAndAgreement.php, so it checks to ensure the user has clicked on "I Agree" previously, else it redirects it back to TermsAndAgreement.php.

Also if the user select "I Disagree", how do i redirect it to readthis.php

Thanks!
jedistarAsked:
Who is Participating?
 
Ray PaseurConnect With a Mentor Commented:
Here is an example to help get you started.  Run that and you will see how the variable come through from the form to the subsequent script.
<?php 
if (!empty($_POST)) {
	var_dump($_POST); // SHOW THE POST VARIABLES
}
?>
<form action="<?=$PHP_SELF?>" method="post">
<input name="agreement" type="radio" value="agree" />Agree
<input name="agreement" type="radio" value="disagree" />Disagree
<input type="submit" name="go" value="go" />
</form>

Open in new window

0
 
Ray PaseurCommented:
This will take you to signup.php (note the action= keyword).
<form action="signup.php" method="post">
<input name="agreement" type="radio" value="agree" />Agree
<input name="agreement" type="radio" value="disagree" />Disagree
<input type="submit" name="go" value="go" />
</form>

Open in new window

0
 
jedistarAuthor Commented:
if the user goes to signup.php directly, how do i prevent the user from seeing the signup.php if he has not agreed to the terms.
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
jedistarAuthor Commented:
and be redirected back to the terms page
0
 
Ray PaseurCommented:
This will process the $_POST input in signup.php.  I would recommend that you NOT redirect - instead give the client a clear message and let them click the link.  The redirect is likely to be confusing.  You might have to code some kind of GET string, etc.
<?php 
 
/* COMMENT OUT - REMOVE THIS BLOCK
if (!empty($_POST)) {
	var_dump($_POST); // SHOW THE POST VARIABLES
}
*/
 
$agreement	= $_POST["agreement"];
 
if ($agreement == 'disagree') {
	echo "<a href="readthis.php">You checked Disagree.  Please read this.</a>\n";
}
 
if ($agreement != 'agree') {
	echo "<a href="TermsAndAgreement.php">You must check Agree or Disagree.  Please try again.</a>\n";
}

Open in new window

0
 
Ray PaseurCommented:
In signup.php, you just process the $_POST input.  If it's not what you're expecting, don't worry - just give the client the links to the pages he needs to read.  Easy!
0
 
Ray PaseurCommented:
Although I would recommend not doing it, the general form of a "redirect" is shown below.  This one redirects to the home page.  Note the "exit" -- the header command will be executed to send the header, then your script will go right on executing the instructions.  You need the exit() function to tell it to stop.
header("Location: /");
exit;

Open in new window

0
All Courses

From novice to tech pro — start learning today.