为了账号安全,请及时绑定邮箱和手机立即绑定

如果isset $ _POST

如果isset $ _POST

PHP
慕标5832272 2019-10-16 11:00:05
我在一页上有一个表单提交到另一页。在那里,它检查输入邮件是否已填充。如果是这样,则执行某些操作,如果未填满,请执行其他操作。我不明白为什么即使我发送一个空表格,它总是说它已设置。遗漏或错了什么?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";}
查看完整描述

3 回答

?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

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


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


if (!empty($_POST["mail"])) {

    echo "Yes, mail is set";    

} else {  

    echo "No, mail is not set";

}


查看完整回答
反对 回复 2019-10-16
?
莫回无

TA贡献1865条经验 获得超7个赞

使用!empty代替isset。isset返回true,$_POST因为$_POST数组是超全局的,并且始终存在(设置)。


还是更好用 $_SERVER['REQUEST_METHOD'] == 'POST'


查看完整回答
反对 回复 2019-10-16
?
德玛西亚99

TA贡献1770条经验 获得超3个赞

将以下属性添加到输入文本形式:required="required"。如果未填写表格,则不允许用户提交表格。


您的新代码将是:


<form name="new user" method="post" action="step2_check.php"> 

<input type="text" name="mail" required="required"/> <br />

<input type="password" name="password" required="required"/><br />

<input type="submit"  value="continue"/>

if (isset($_POST["mail"])) {

    echo "Yes, mail is set";    

}


查看完整回答
反对 回复 2019-10-16
  • 3 回答
  • 0 关注
  • 737 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信