我有一個基本的PHP表單頁面,其中包含大量的數據,一旦全部完成,這些數據將被保存到MySql中的大約4-5個不同的表中。由於構建這個保存例程需要一點PHP,我希望POST操作不是指向PHP_SELF,而是指向一個單獨的PHP文件進行處理。PHP表單處理器錯誤傳遞
當諸如電話號碼,電子郵件,郵政編碼等所有常規數據之前將被傳遞到處理器腳本,如果是由處理器返回一個錯誤提交驗證...
什麼是在保持數據輸入的同時指向原始表單頁面(HTTP_REFERER)的最佳實踐方式?
<?php
if (isset($_POST['date']) && ($_SERVER['HTTP_REFERER'] == "form.php"))
{
$errors = false;
//attempt to put data in database
if ($errors)
{
//Pass back to the form.php page with error message and all data intact
}
}
?>
我從別人那裏聽說過這個,但是想知道這是否被認爲是最佳做法。這是骯髒的,但它確實完成了工作......雖然效率是關鍵。 – Jeff 2011-03-04 04:54:42
我們之所以選擇這種方式有很多原因。讓java腳本強制提交重定向將允許用戶點擊後退按鈕並可能導致一些錯誤。由於我們有超過60個字段的數據,GET方法並不是非常優化的。唯一可用的方法是暫時保留它。我同意,這是一個混亂的方式,但到目前爲止還沒有任何問題。這實際上取決於個人意見和您面臨的選擇。 – Dave 2011-03-04 05:00:12
感謝您在javascript上的推理 - 我沒有考慮過使用它的原因,而不是提交按鈕。 – Jeff 2011-03-04 05:02:25