【问题标题】:How to check if any fields in a form are empty in php [duplicate]如何检查表单中的任何字段在php中是否为空[重复]
【发布时间】:2012-12-29 04:26:25
【问题描述】:

每当我在表单中提交内容时,我都想检查是否有任何字段为空。到目前为止,我没有工作

$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$username = $_POST['username'];
$password = $_POST['password'];
$passwordconf = $_POST['passwordconf'];
$email = $_POST['email'];
$securityq = $_POST['securityq'];
$qanswer = $_POST['qanswer'];

if(empty($firstname) || empty($lastname) || empty($username) || empty($password) || empty($passwordconf) || empty($email) || empty($securityq) || empty($qanswer))
{
    echo "You did not fill out the required fields.";
}

和表格

<form name="registrationform" action="register.php">
    First Name:<input type="text" name="firstname">
    Last Name:<input type="text" name="lastname">
    Email:<input type="text" name="email">
    Username:<input type="text" name="username">
    Password:<input type="password" name="password">
    Confirm Password:<input type="password" name="passwordconf">
    Security Question:<input type="text" name="securityq">
    Answer:<input type="text" name="qanswer">
    <input type="submit" name="submit" value="Register">
</form>

如果有帮助,这里是注册页面http://www.myjournal.tk/register.html

【问题讨论】:

  • 你试过 isset($_POST['field_name']) && ($_POST['field_name']!='') 吗?
  • “我所拥有的东西不起作用”是什么意思?它会给你一个错误吗?它会给你不正确的结果吗?如果您想要好的答案,它将极大地帮助您学习ask good questions

标签: php html forms


【解决方案1】:

您的表单缺少方法...

<form name="registrationform" action="register.php" method="post"> //here

你可以使用isset()..来检查发布的数据。

判断一个变量是否已设置且不为 NULL

if(!isset($firstname) || trim($firstname) == '')
{
   echo "You did not fill out the required fields.";
}

【讨论】:

  • 空字符串被认为是empty
  • 试过了,还是报错
  • 带有提供的链接,我可以看到正在使用 GET 方法发布您的 from.. 并且您正在尝试在服务器端将发布的变量作为 POST 获取...尝试使用 POST.... 参见我的第一个答案
  • 等一下,由于某种原因,当我重新上传我的 register.html 时它没有更新,我会再试一次
  • 是的,我必须弄清楚,但现在使用 myjournal.tk/register2.html>
【解决方案2】:
Specify POST method in form
<form name="registrationform" action="register.php" method="post">


your form code

</form>

【讨论】:

  • @SztupY - 实际上,确实如此。这是正确的答案。
猜你喜欢
  • 2022-12-18
  • 1970-01-01
  • 2016-12-21
  • 2015-09-03
  • 2013-04-19
  • 2013-07-02
  • 2014-09-17
  • 2012-02-21
  • 1970-01-01
相关资源
最近更新 更多