如何验证php中文本框是否为空[重复]

问题描述 投票:-2回答:1

[嘿,所以我试图用php制作用户注册表格。我的字段可以获取所有用户信息,例如他们的地址,电话号码等,以及获取用户的用户名,电子邮件,密码以及所有爵士乐信息,现在我想弄清楚如何检查用户实际输入了所有必需的信息(检查文本框是否为空白。

这是我的代码

<?php
$title = "Register";
$file = "register.php";
$description = "Registration page for real estate website (WEBD3201)";
$date = "2019-10-01";
$banner = "Register page";
require "header.php";
?>

<?php
$username = "";
$email = "";
$firstname = "";
$lastname = "";
$street1 = "";
$street2 = "";
$city = "";
$postalcode = "";
$province = "";
$primary = "";
$secondary = "";
$fax = "";
$form_is_valid = TRUE;
$registerError = "";

  // Validate User & Password from post
if ($username == "") {
  $registerError = "*Username required<br/>";
  $form_is_valid = FALSE;
}
?>
  <form method="post" action= "<?php echo $_SERVER['PHP_SELF']; ?>">
    <table style="margin-left: auto; margin-right: auto;">
        <tr>
            <td>
                Username
            </td>
            <td>
                <input type="text" name="login" value="<?php echo $username; ?>" />
            </td>
      <td>
        Street Address 2
      </td>
      <td>
        <input type = "text" name="First Name" value ="<?php echo $street2;?>" />
      </td>
        </tr>
        <tr>
            <td>
                Email
            </td>
            <td>
                <input type="text" name="email" value="<?php echo $email; ?>" />
            </td>
      <td>
        City
      </td>
      <td>
        <input type = "text" name="firstname" value ="<?php echo $firstname;?>" />
      </td>
            </tr>
        <tr>
            <td>
                Password
            </td>
            <td>
                <input type="password" name="pass" value=""  />
            </td>
      <td>
        Postal Code
      </td>
      <td>
        <input type = "text" name="lastname" value ="<?php echo $lastname;?>" />
      </td>
        </tr>
        <tr>
            <td>
                Confirm Password
            </td>
            <td>
                <input type="password" name="pass2" value=""  />
            </td>
      <td>
        Province
      </td>
      <td>
        <input type = "text" name="Street1" value ="<?php echo $street1;?>" />
      </td>
        </tr>
    <tr>
      <td>
        First Name
      </td>
      <td>
        <input type = "text" name="city" value ="<?php echo $city;?>" />
      </td>
      <td>
        Primary Phone Number
      </td>
      <td>
        <input type = "text" name="street2" value ="<?php echo $street2;?>" />
      </td>
    </tr>
    <tr>
      <td>
        Last Name
      </td>
      <td>
        <input type = "text" name="postalcode" value ="<?php echo $postalcode;?>" />
      </td>
      <td>
        Secondary Phone Number
      </td>
      <td>
        <input type = "text" name="province" value ="<?php echo $province;?>" />
      </td>
    </tr>
    <tr>
<td>
  Salutation
</td>
<td>
  <select type="combo" name="Salutation">
<option value="0">----Select----</option>
<option value="1">Mr</option>
<option value="2">Miss</option>
<option value="3">Mrs</option>
</select>
</td>
<td>
  Fax Number
</td>
<td>
  <input type = "text" name="fax" value ="<?php echo $fax;?>" />
</td>
    </tr>
    <tr>
      <td>
        Street Address 1
      </td>
      <td>
        <input type = "text" name="street1" value ="<?php echo $street1;?>" />
      </td>
      <td>
        Preferred Contact Method
      </td>
      <td>
        <select type="combo" name="preferred">
    <option value="0">----Select----</option>
    <option value="1">Primary Number</option>
    <option value="2">Secondary Number</option>
    <option value="3">Fax Number</option>
</select>
      </td>
    </tr>
    <tr>
      <td>
        Status
      </td>
      <td>
        <select type="combo" name="Status">
    <option value="0">----Select----</option>
    <option value="1">Admin</option>
    <option value="2">Agent</option>
    <option value="3">Client</option>
</select>
      </td>
    </tr>
    <tr>
  </tr>
    </table>
    <table style="margin-left: auto; margin-right: auto;">
        <tr>
            <td>
                <input type="submit" value = "Register" name = "Register" />
            </td>
        </tr>
    </table>
        <p style="text-align:center">
        Already a member? <a href="login.php">Sign in</a>
    </p>
</form>
<?php require "footer.php"; ?>

我已经尝试过

 if(empty($username)){
Echo ‘please enter a username’
}

我已经尝试过

if($username == “”)
{
Echo “please enter a username”
}
php html forms pgadmin
1个回答
-1
投票

提交表单后,所有输入将以$ _POST返回,它将是一个关联数组。因此,您的用户名可以通过$ _POST ['login']

访问

为什么不先解决这个问题,如果仍然有问题,请重新发布。也,我还没有看到您的表单操作使用过这种方式。发行时您会得到什么:

<?php echo $_SERVER['PHP_SELF']; ?>

最后,您的代码绝对没有意义。您设置$ username ='';然后执行一条if语句来检查它是否为空,当然它是空的!

尝试替换此:

if ($username == "") {
  $registerError = "*Username required<br/>";
  $form_is_valid = FALSE;
}

带有此:

if ($_POST['login'] == "") {
  $registerError = "*Username required<br/>";
  $form_is_valid = FALSE;
}else{
   $username = $_POST['login'];
}

以及所有对此投反对票的人,谢谢,但是请记住,stackoverflow不是编码服务,这里错误太多。

© www.soinside.com 2019 - 2024. All rights reserved.