一尘不染

如果isset $ _POST

php

我在一页上有一个表单提交到另一页。在那里,它检查输入邮件是否已填充。如果是这样,则执行某些操作,如果未填满,请执行其他操作。我不明白为什么即使我发送一个空表格,它总是说它已设置。遗漏或错了什么?

step2.php:

<form name="new user" method="post" action="step2_check.php"> 
    <input type="text" name="mail"/> <br />
    <input type="password" name="password"/><br />
    <input type="submit"  value="continue"/>
</form>

step2_check:

if (isset($_POST["mail"])) {
    echo "Yes, mail is set";    
} else {    
    echo "N0, mail is not set";
}

阅读 236

收藏
2020-05-26

共1个答案

一尘不染

即使没有填写,大多数表单输入总是被设置的,因此您也必须检查是否为空。

由于!empty()已经检查了两者,因此您可以使用以下命令:

if (!empty($_POST["mail"])) {
    echo "Yes, mail is set";    
} else {  
    echo "No, mail is not set";
}
2020-05-26