加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 即使没有填写所有字段,表单也会提交

发布时间:2020-12-13 17:13:40 所属栏目:PHP教程 来源:网络整理
导读:我是php的新手,我不太明白为什么这个表单在所有情况下提交… 所以我的问题是: 如何修复此问题,以便表单仅在用户填写所有字段时提交? if (!$_POST['username'] !$_POST['password'] !$_POST['repassword'] !$_POST['user_firstname'] !$_POST['user_lastnam
我是php的新手,我不太明白为什么这个表单在所有情况下提交…
所以我的问题是:

如何修复此问题,以便表单仅在用户填写所有字段时提交?

if (!$_POST['username'] && !$_POST['password'] && !$_POST['repassword'] 
&& !$_POST['user_firstname'] && !$_POST['user_lastname'] ){
header('Location: register.php?msg=You did not complete all of the required fields');
}

我用了两个&&和||然而,无论您填写什么领域,它总是提交.

<form action="createuser.php" method="post" name="registration_form" id="registration_form">
<label>Email</label>
<input name="username" type="text" id="username" size="50" maxlength="50" /><br />
<label>First Name</label>
<input name="user_firstname" type="text" id="user_firstname" size="50" maxlength="50" /><br />
<label>Last Name</label>
<input name="user_lastname" type="text" id="user_lastname" size="50" maxlength="50" /><br />
<label>Password</label>
<input name="password" type="password" id="password" size="50" maxlength="100" /><br />
<label>Re-type Password</label>
<input name="repassword" type="password" id="repassword" size="50" maxlength="100" /><br />


<input type="submit" value="Register" name="submit" />

在此先感谢您的帮助,这似乎是一个很棒的社区参与!

解决方法

if (empty($_POST['username'])
    || empty($_POST['password'])
    || empty($_POST['repassword'])
    || empty($_POST['user_firstname'])
    || empty($_POST['user_lastname'])
    ){
header('Location: register.php?msg=You did not complete all of the required fields');
}

编辑:是的,正如评论所示,验证需要比这更重要.检查后重定向不是一个好主意,而是尝试将表单发布到自身.如果没有任何错误,则继续处理表单数据,如果有错误将它们设置在变量/对象/数组中并在表单上显示/重新填充表单和post数据.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读