Solved

PHP - form workflow

Posted on 2008-06-22
7
184 Views
Last Modified: 2012-06-27
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!
0
Comment
Question by:jedistar
  • 5
  • 2
7 Comments
 
LVL 109

Accepted Solution

by:
Ray Paseur earned 500 total points
ID: 21841594
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
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 21841608
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
 

Author Comment

by:jedistar
ID: 21841630
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
Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

 

Author Comment

by:jedistar
ID: 21841633
and be redirected back to the terms page
0
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 21841631
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
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 21841635
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
 
LVL 109

Expert Comment

by:Ray Paseur
ID: 21841642
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

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
PHP installation issues 11 59
Cannot call a static method on an Eloquent object 6 29
Help to align the buttons in a row 2 26
two ways encryption with php 3 25
This article discusses four methods for overlaying images in a container on a web page
This article demonstrates how to create a simple responsive confirmation dialog with Ok and Cancel buttons using HTML, CSS, jQuery and Promises
In this tutorial viewers will learn how to style elements, such a divs, with a "drop shadow" effect using the CSS box-shadow property Start with a normal styled element, such as a div.: In the element's style, type the box shadow property: "box-shad…
In this tutorial viewers will learn how to embed videos in a webpage using HTML5. Ensure your DOCTYPE declaration is set to HTML5: "<!DOCTYPE html>": Use the <video> tag to insert a video. Define the src as the URL of your video; this is similar to …

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question