Solved

PHP - form workflow

Posted on 2008-06-22
7
193 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 5
  • 2
7 Comments
 
LVL 110

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 110

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
Don't Cry: How Liquid Web is Ensuring Security

WannaCry is just the start. Read how Liquid Web is protecting itself and its customers against new threats.

 

Author Comment

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

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 110

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 110

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

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Find out what you should include to make the best professional email signature for your organization.
3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
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…
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

734 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