檢查是否已提交表單以確定是否應(yīng)將表單變量傳遞給驗(yàn)證類的最佳方法是什么?首先我想也許是:isset($_POST)但這將永遠(yuǎn)返回true,因?yàn)樵谌魏蔚胤蕉级x了超全局變量。我不想用以下方法遍歷表單的每個元素:if(isset($_POST['element1']) || isset($_POST['element2']) || isset(...etc在寫這個問題時,我想到了一個更基本的解決方案,同時添加一個隱藏字段作為我可以檢查的標(biāo)志。有沒有比添加自己的標(biāo)志更“干凈”的方法?
3 回答

慕后森
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個贊
對于一般檢查是否有POST動作使用:
if (!empty($_POST))
編輯:如評論中所述,此方法在某些情況下將不起作用(例如,帶有復(fù)選框和沒有名稱的按鈕)。您確實(shí)應(yīng)該使用:
if ($_SERVER['REQUEST_METHOD'] == 'POST')

繁花不似錦
TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個贊
實(shí)際上,提交按鈕已經(jīng)執(zhí)行了此功能。
嘗試填寫表格:
<form method="post">
<input type="submit" name="treasure" value="go!">
</form>
然后在PHP處理程序中:
if (isset($_POST['treasure'])){
echo "treasure will be set if the form has been submitted (to TRUE, I believe)";
}
- 3 回答
- 0 關(guān)注
- 459 瀏覽
添加回答
舉報
0/150
提交
取消