我有一個使用形式發送以下數據page1.php中:PHP:檢查POST數據的理智方式?
<form action="page2.php" method="post">
<input type="text" name="f1">
<input type="text" name="f2">
<input type="text" name="f3">
<input type="text" name="f4">
<input type="submit" value="submit">
</form>
在使page2.php,我做了一些基本的驗證,以便看到形式實際提交併已輸入的所有數據:
<?php
if($_SERVER['REQUEST_METHOD'] != "POST" || empty($_POST["f1"]) || empty($_POST["f2"]) || empty($_POST["f3"]) || empty($_POST["f4"]))
{
$missing_input = array();
if (empty($_POST["f1"]))
{
$missing_input[] = "field1";
}
if (empty($_POST["f2"]))
{
$missing_input[] = "field2";
}
if (empty($_POST["f3"]))
{
$missing_input[] = "field3";
}
if (empty($_POST["f4"]))
{
$missing_input[] = "field4";
}
die("Error: " . implode(", ", $missing_input)");
}
?>
的問題是,當一個新的POST字段中page1.php中形式引入上述感覺很醜陋,需要重新工作。我怎樣才能更好地編寫這個表單驗證?
是的,這沒有把戲。只需要添加一個IF周圍的die()。此外,還移除了Col.Srapnel建議中的request_method檢查。 – BaUn
固定以備將來參考。 – Dennis