【问题标题】:PHP - strlen not workingPHP - strlen 不工作
【发布时间】:2012-02-02 04:04:49
【问题描述】:

在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 的初学者。
提前致谢!

【问题讨论】:

    标签: php forms strlen


    【解决方案1】:

    你的逻辑错了:

    if(!strlen($_POST[username])>=6)
    

    替换为:*还要注意变量中的'字符(!否定符替换为小于,双重否定,如果您必须查看大量代码,这更容易理解,您可能会错过“ !”

    if (strlen($_POST['username'])<6)
    

    希望这会有所帮助。

    您可能还需要考虑以下几点: 摆脱“insert.php”并将代码中的代码放入与表单相同的页面中。你可以这样做:

    表格:&lt;form method="post" action="'.$self.'"&gt;

    (放在页面顶部的PHP括号内)

    $self   = $_SERVER['PHP_SELF'];
    $username   = $_GET['username'];
    $email     = $_GET['email'];
    

    这取决于你希望它如何设置,使用 POST 或 GET,我无法告诉你使用哪个。

    从这里,你可以操作你的变量等等。

    【讨论】:

      【解决方案2】:

      如果您需要检查 5 个或更少的字符:

      if(strlen($_POST["username"])<=5) { //show error }

      【讨论】:

        【解决方案3】:

        试试这个:

        <?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
          }
        }
        
        ?>
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多