【发布时间】:2017-03-06 07:52:38
【问题描述】:
我有一个 PHP 留言簿。所以我可以在表单中不写任何内容并提交,然后它会发布。我可以避免这种情况吗?
这是我的 PHP 代码:
if (isset($_POST["Name"]) &&
isset($_POST["Email"]) &&
isset($_POST["Überschrift"]) &&
isset($_POST["Kommentar"])) {
$daten = array("überschrift" => $_POST["Überschrift"],
"eintrag" => $_POST["Kommentar"],
"autor" => $_POST["Name"],
"email" => $_POST["Email"],
"datum" => date("d.m.Y"));
$daten = base64_encode(serialize($daten));
if(!file_exists("gaestebuch.txt")) {
$datei = fopen("gaestebuch.txt", "xb");
fclose($datei);
}
$altdaten = file_get_contents("gaestebuch.txt");
if (file_put_contents("gaestebuch.txt", "$daten\r\n$altdaten") ) {
echo "Eintrag hinzugefügt!";
} else {
echo "Fehler!";
}
}
【问题讨论】:
-
使用
!empty而不是isset -
您可以使用客户端和服务器端验证
-
或者使用javascript来做到这一点,以防止表单被提交
-
请不要用答案覆盖你的问题,如果你问一个包含工作代码的问题,新读者很难理解问题是什么。下面的答案绰绰有余。
-
@halfer 感谢您提供的信息,我会牢记这一点。