我對PHP很陌生,我從這裏的一些其他答案拼湊在一起。任何人都可以告訴我如何獲得$ errMsg來顯示?目前,空白或不正確的名稱會導致空白頁面。這是因爲表單沒有被再次顯示?如果是這樣,我應該怎麼去'重新加載'錯誤信息的表單?僅使用PHP在同一頁上顯示錶單驗證錯誤消息?
<?php
$name = "Fred";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (!empty($_POST["name"])) {
if ($_POST["name"] == $name) {
include("welcomeFred.php");
}
else {
$errMsg = "Incorrect name";
}
}
else {
$errMsg = "Name required";
}
}
else { ?>
<html>
...
<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
<input type="text" name="name" required>
<span><?php echo $errMsg;?></span>
<input type="submit" value="Submit">
</form>
...
</html>
<?php } ?>
沒有必要在窗體的action字段中放置'<?php echo htmlspecialchars($ _ SERVER [「PHP_SELF」]);?>'。如果您將其留空,表單將被髮送到當前網址。 – Jerodev
@Jerodev但是有沒有'空白'方法的安全問題? – Bricriu
不是我可以看到的,任何人都可以使用html檢查器更改該值,所以如果您將其保留爲空或不存在,安全性將保持不變。 – Jerodev