[英]How to validate a form then move to another page PHP
我有一个通过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()
吗? 它有效,但我想知道这是否是正确的方法。
您还可以像这样调用标头函数:
header('Location: nextpage.php?year='.$year.'&month='.$month.'&day='.$day);
这样,您不必担心会话,数据将通过$ _GET参数传递。
您为什么不验证另一页中的输入,如果输入无效,则将用户重定向回表单。 如果输入有效,则它们已经在“另一个”页面上。 然后可以使用$ _POST ['day']等,而无需设置会话。 我相信这种方式比将其存储在会话中更安全。
由于这更多是关于最佳/通用做法的,因此这里是一种决定何时在以下情况下使用哪种方法的方法:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.