此问题已经在这里有了答案:
[嘿,所以我试图用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”
}
提交表单后,所有输入将以$ _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不是编码服务,这里错误太多。