簡體   English   中英

如何驗證表單然后移至另一頁PHP

[英]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']等,而無需設置會話。 我相信這種方式比將其存儲在會話中更安全。

由於這更多是關於最佳/通用做法的,因此這里是一種決定何時在以下情況下使用哪種方法的方法:

  1. 如果您有一個簡單的標志或一個小的數據集(例如大約5-10個小參數),請按照Brian提到的那樣構建查詢字符串。 搜索就是一個很好的例子。
  2. 相反,如果您需要訪問相對較大的數據集或機密信息,則可以使用查詢字符串和用於根據查詢字符串參數提取信息的代碼的組合。 例如,傳遞用戶的客戶ID來從數據庫或SESSION或兩者中檢索其余信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM