Advertisement
lalatino

multiple forms saved in $_SESSION array

Aug 5th, 2012
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.48 KB | None | 0 0
  1. <?php
  2.     session_start();
  3.     echo 'Posted data: '; var_export($_POST);
  4.     $step = isset($_POST['step'])? $_POST['step']:0; // received step, 0=no data
  5.     if (!$step) { $_SESSION = array(); } //reset possibly received previous data, if any -optional
  6.     $next_step = $step + 1;
  7.     if ($step) { // if posted data available
  8.         if (empty($_POST['i'.$step])) { //wrong received data detected
  9.             echo 'Wrong data in this step!';
  10.             $next_step = $step; // repeat this form
  11.         } else {
  12.             $_SESSION['i'.$step] = $_POST['i'.$step];
  13.         }
  14.     }
  15. ?><!DOCTYPE html>
  16. <html>
  17. <head>
  18.   <title> http://stackoverflow.com/questions/11817574/build-a-link-format-in-php-like-step-1-etc </title>
  19. </head>
  20. <body>
  21.  
  22. <?php
  23.  
  24. function show_form() {
  25.     global $next_step;
  26.     if ($next_step==4) {
  27.         echo '<b>All form fields succesfully obtained!</b>';
  28.         var_export($_SESSION);
  29.         return;
  30.     }
  31.     echo '<form action="" method="post">';
  32.     if($next_step == 1) {
  33.         // Display page 1
  34.         echo 'Input 1 <input type="text" name="i1" value="">';
  35.     }
  36.     else if($next_step == 2) {
  37.         // Display page 2
  38.         echo 'Input 2 <input type="text" name="i2" value="">';
  39.     }
  40.     else if($next_step == 3) {
  41.         // Display page 3
  42.         echo 'Input 3 <input type="text" name="i3" value="">';
  43.     }
  44.     echo '<input type="hidden" name="step" value="'.$next_step.'">';
  45.     echo '<input type="submit" name="send" value="Send">';
  46.     echo '</form>';
  47.    
  48.     echo 'Current step='.$next_step.', data stored in session: '; var_export($_SESSION); //test
  49. }
  50.  
  51. show_form();
  52.  
  53. ?>
  54.  
  55. </body>
  56. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement