用PHP导航回来

时间:2016-05-17 21:28:42

标签: php html

我已阅读其他一些帖子并尝试将它们放在一起,但仍然无法解决我的问题: Navigating back with PHP form submission php back button < / p>

我正在为长篇在线表单编写模板,我正试图将表单分成几页。无论用户点击“后退”还是“下一步”,之前输入的字段仍将保留在那里。

但是,每当我点击第二页上的后退按钮时,第一页上的所有信息都会消失。

这是第一页顶部的php块:

   session_start();
   $_SESSION['initialized'] = 'Aquafina';
   if (!isset($_SESSION['email'])) {
      $_SESSION['email'] = '';
   }
   if (!isset($_SESSION['fname'])) {
     $_SESSION['fname'] = '';
   }
   foreach ($_SESSION as $key => $value) {
     $temp = trim($value);
     ${$key} = $temp;
   }

第一页的HTML:

<form method="post" action="secure.php">
 <p>
    <label for="email">Email: </label>
    <input type="text" name="email" value="<?php htmlentities($email); ?>">
 </p>
 <p>
    <label for="fname">First Name: </label>
    <input type="text" name="fname" value="<?php htmlentities($fname); ?>">
 </p>
 <p>
    <label for="hidden">&nbsp;</label>
    <input type="submit" name="next" value="NEXT">
 </p>
</form>

我已经尝试了很多替代方案,目前我仍然坚持认为我会将表单传递给页面调用“secure.php”(我不知道为什么我这样做了) ,并具有以下代码:

   session_start();
   foreach ($_POST as $key => $value) {
    $_SESSION[$key] = trim($_POST[$key]);
   }
   header('Location: form2.php' );

第二页看起来很相似,但我添加了一个导致所有问题的后退按钮。 第二页顶部的php块:

  session_start();
  if (isset($_SESSION['initialized'])) {

  if (!isset($_SESSION['lname'])) {
    $_SESSION['lname'] = '';
  }
  if (!isset($_SESSION['university'])) {
    $_SESSION['university'] = '';
  }

  foreach($_SESSION as $key => $value) {
    $temp = trim($value);
    ${$key} = $temp;
  }

} else {
 header('Location: form.php');
 exit;
}

第二页上的HTML:

 <form method="post" action="secure2.php">
   <p>
    <label for="lname">Last Name: </label>
    <input type="text" name="lname" value="<?php htmlentities($lname); ?>">
   </p>
   <p>
    <label for="university">University: </label>
    <input type="text" name="university" value="<?php       htmlentities($university); ?>">
   </p>
   <p>
    <label for="hidden">&nbsp;</label>
    <button class="back"><a href="form.php">Back</a></button>
    <input type="submit" name="review" value="REVIEW">
   </p>
 </form>

非常感谢能帮助的人!!!!!

1 个答案:

答案 0 :(得分:5)

我不认为问题是你的后退按钮。问题可能是因为你没有在你的输入中回应任何东西&#39;值。

要修复它,请替换

<input type="text" name="email" value="<?php htmlentities($email); ?>">

<input type="text" name="email" value="<?php echo htmlentities($email); ?>">

OR

<input type="text" name="email" value="<?=htmlentities($email)?>">

为每个输入做同样的事情。如果您没有注意到我添加的内容,我已在您的HTML的value属性中添加了echo