[英]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.