我有一個生成表單的php頁面。表單的action屬性是頁面本身。用戶提交表單後,加載相同的頁面,但是這次設置了POST變量,因此頁面將運行另一個腳本來處理來自表單的傳入數據。我通過使用條件叉:使用相同的php文件來顯示錶單並接收表單的數據
if(isset($_POST['var'])){
generate form
}else{
insert $_POST data into database
}
我想知道這是好還是壞主意。
我有一個生成表單的php頁面。表單的action屬性是頁面本身。用戶提交表單後,加載相同的頁面,但是這次設置了POST變量,因此頁面將運行另一個腳本來處理來自表單的傳入數據。我通過使用條件叉:使用相同的php文件來顯示錶單並接收表單的數據
if(isset($_POST['var'])){
generate form
}else{
insert $_POST data into database
}
我想知道這是好還是壞主意。
不好的部分是將action屬性設置爲腳本。忽略它完全向瀏覽器表明它應該被髮布到相同的URL。
你甚至可能想去檢查數據是否被提交直通AJAX來從一個普通的表單提交區分它的程度:
if ($_SERVER['X_REQUESTED_WITH']=='XMLHttpRequest')
// AJAX
我伊格納西奧同意。除此之外,如果你不需要更多的複雜性,它看起來像一個相當標準的方法。一個非常重要的事情:確保在數據進入數據庫之前驗證並清理數據。