加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP – strlen无法正常工作

发布时间:2020-12-13 21:45:25 所属栏目:PHP教程 来源:网络整理
导读:在Register.php中,它包含一个表单. htmlbodyform 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"
在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的初学者.
提前致谢!

解决方法

你的逻辑错了:

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,我不能告诉你使用哪个.

从这里开始,您可以操纵变量等等.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读