在Register.php中,它包含一个表单。
<html>
<body>
<form action="Insert.php" method="post">
Email: <input type="text" name="email" /><br/>
Username: <input type="text" name="username" /><br/>
<input type="submit" name="Send Registration" value="Send Registration"/>
</form>
</body>
</html>
在Insert.php中,它包含进行一些验证的代码。
<?php
if(!filter_var($_POST[email], FILTER_VALIDATE_EMAIL))
{
exit("E-mail is not valid");
}
else
{
if(!strlen($_POST[username])>=6)
{
exit("Username should be at least 6 characters");
}
else
{
// Continue other validations
}
}
?>
当我输入无效的电子邮件地址时,点击“发送注册”,它将显示错误消息“电子邮件无效”。 因此,我尝试输入有效的电子邮件地址,并在用户名字段中键入5个或更少的字符,然后单击“发送注册”。但它没有显示错误消息。
我可以知道我的代码有什么问题吗? 对不起,我是编程和php的初学者 提前致谢!
答案 0 :(得分:3)
你的逻辑错了:
if(!strlen($_POST[username])>=6)
替换为:*还要注意变量中的'字符(!!negator被替换为小于,双重否定,如果你不得不查看很多代码,这更容易理解,你可能会错过“ !“
if (strlen($_POST['username'])<6)
希望这有帮助。
您还可以考虑以下事项: 摆脱“insert.php”并将来自THAT的代码放入与表单相同的页面中。你可以这样做:
表格:<form method="post" action="'.$self.'">
(放在PHP括号内的页面顶部)
$self = $_SERVER['PHP_SELF'];
$username = $_GET['username'];
$email = $_GET['email'];
这取决于你想要它如何设置,使用POST或GET,我不能告诉你使用哪个。
从这里开始,您可以操纵变量等等。
答案 1 :(得分:2)
如果您需要检查5个或更少的字符:
if(strlen($_POST["username"])<=5) {
//show error
}
答案 2 :(得分:2)
试试这个:
<?php
if(!filter_var($_POST[email], FILTER_VALIDATE_EMAIL))
{
exit("E-mail is not valid");
}
else
{
$len = strlen($_POST["username"]);
if($len<=5) {
{
exit("Username should be at least 6 characters");
}
else
{
// Continue other validations
}
}
?>