如何验证表单然后移动到另一个页面PHP

时间:2014-11-19 00:08:51

标签: php forms validation

我有一个表格,通过3个下拉框提交日期。 我目前有表格提交给自己,然后检查以确保日期有效。

if(isset($_POST['submit']))
{
$day = $_POST['day'];
$year= $_POST['year'];
$month=$_POST['month'];
$date= $year.'-'.$month.'-'.$day;
//**********************************Validate Date
if (!checkdate($month,$day,$year)){
echo $error= "Invalid Date Please Renter";
}
}

我很好奇如果日期有效,我应该如何使用变量进入下一页。 我在想header('Location: nextpage.php');并使用Session()?它工作,但我想知道这是否是正确的方式。

3 个答案:

答案 0 :(得分:0)

您也可以像这样调用标题函数:

header('Location: nextpage.php?year='.$year.'&month='.$month.'&day='.$day);

这样您就不必担心会话,数据将通过$ _GET参数传递。

答案 1 :(得分:0)

为什么不在另一个页面中验证输入,如果输入无效,则将用户重定向回表单。如果输入有效,则他们已经在另一个'页。您可以在不设置会话的情况下使用$ _POST [' day']等。我相信这种方式比将其存储在会话中更安全。

答案 2 :(得分:0)

由于这是关于最佳/常见做法的更多信息,因此可以选择在以下情况下使用何种方法:

  1. 如果你有一个简单的标志或一个小的数据集(比如大约5-10个小参数),建立一个Brian提到的查询字符串。搜索就是一个很好的例子。
  2. 相反,如果您需要访问相对较大的数据集或机密信息,您可以使用查询字符串和代码的组合来根据查询字符串参数提取信息。例如,传递用户的客户ID以从数据库或SESSION或两者中检索其余信息。
相关问题