我遇到这种问题,我真的不知道为什么,最近我注册了php,但是即使我在这里看不到任何原因,为什么它也不起作用。
我在计算机上使用XAMPP apache,php,我制作了几个简单的表单验证器,但是这个验证器不起作用,在这里我很拼命。下面的所有代码都在一个index.php
文件中,该文件是通过浏览器中的localhost链接打开的。当我打开它时,代码是这样的:
数组()没有错误
然后形成。一旦单击提交而不将任何数据填写到表单中,它就会刷新,并且显示如下:
数组([email] => [password] =>)没有错误
请帮帮我。预先感谢。
<?php
print_r($_POST);
if(array_key_exists("submit", $_POST)){
$err = "";
if(!$_POST["email"]){
$err = "You need to type in email";
} else if(!$_POST["password"]){
$err = "You need to type in password";
}
}
if($err = ""){
echo $err."tak";
}else{
echo "no error";
}
?>
<div id="error"><? php echo $err ?></div>
<form method="post" >
<input type="text" placeholder="username" name="email">
<input type="password" placeholder="password" name="password">
<input type="checkbox" name="StayLoggedIn" value="1">
<input type="submit" value="Sign Up">
</form>
答案 0 :(得分:-1)
您不需要发送“提交”密钥,实际上它是没有用的。 您需要做的就是删除“ if”条件:
if(array_key_exists("submit", $_POST)){
因为您可以仅获取数据(如果存在)(电子邮件和密码)。 您也可以像这样改善代码:
$err = "no error";
if(!$_POST["email"]){
$err = "You need to type in email";
} else if(!$_POST["password"]){
$err = "You need to type in password";
}
,最后删除不必要的“ if-else”检查。
希望对您有帮助
答案 1 :(得分:-1)
知道了,没有人注意到我有if ($err == "")
,是的,我只有if ($err = "")
,但问题是它总是错误的,因为我总是有一个或两个字段为空,所以我错过了{{ 1}}指向那里,一切都会好起来的。哦,是的,我也错过了!
属性和提交输入。但是我非常感激你们!
这是最终的工作代码
name
答案 2 :(得分:-1)
if(!isset($_POST["email"])){ $error.="You need to type in email"; }
好吗?