PHP表单重置按钮 - 使用方法清除会话="获取"

时间:2015-02-26 23:39:05

标签: php forms session

我创建了一个将数据存储在会话中的多页表单。我没有使用method =“post”,而是使用method =“get”来允许用户单击后退按钮并保留以前页面上的数据进行编辑。我还在PHP脚本中进行了电子邮件验证。

我如何能够将提交按钮前进到表单中的下一页,并使用“重置”按钮清除会话并保留在此页面上(或重新加载页面),而不会在表单字段中显示会话数据?

我尝试使用以下内容修改别人的建议但没有成功。这是文档开头的PHP脚本:

<?php
session_start();
foreach ( $_GET as $key=>$value ) {
  if ( $key!="submit" ) {
      $value = htmlentities(stripslashes(strip_tags($value)));
      $_SESSION[$key] = $value;
  } 
}

$firstname = $_SESSION['Firstname'];
$lastname = $_SESSION['Lastname'];
$email = $_SESSION['Email'];

if(isset($_GET['clear'])) {
  session_destroy(); // Or other session-unsetting logic
  header("Location: form.php"); // Reload your page
}

else if(isset($_GET['submit'])) {
//next page logic
header("Location: form-2.php"); // Reload your page
}
?>

以下是页面正文中的表单:

<form class="mod-columns-form" method="get" name="mailform" action="form-2.php" onsubmit="return validateForm();">
 <fieldset>
  <label for="Firstname">First Name <span class="mod-error">*</span></label>
  <input type="text" name="Firstname" id="Firstname" placeholder="first name" value="<? echo $firstname; ?>" />
  <label for="Lastname">Last Name <span class="mod-error">*</span></label>
  <input type="text" name="Lastname" id="Lastname" placeholder="last name" value="<? echo $lastname; ?>" />
  <label for="Email">Email <span class="mod-error">*</span></label>
  <input type="text" name="Email" id="Email" placeholder="yourname@domain.com" value="<? echo $email; ?>" />
  <button name="submit" type="submit" value="submit" class="submit">Next</button>
  <button name="clear" type="submit" value="clear">Clear</button>
 </fieldset>
</form>

1 个答案:

答案 0 :(得分:0)

要从表单中的数据中解放出来,您可以创建一个按钮,执行重置变量。

<button name="reset" value="resert">RESET</button>

你需要检查这个页面的会话,在php中创建一个小代码块。

<?php           
session_start();
if (!isset($_SESSION['Firstname']) && $_SESSION['Lastname'] && $_SESSION['Email']) 
{
    print "error";
}
?>