php验证无法使用验证

时间:2014-01-17 08:01:36

标签: php

<?php
if(isset($_REQUEST['submit']))
{
  $pass = $_POST['uname'];
  if($pass=="")
  {
    $status="must be field out";
exit();
  }
  else if(strlen($pass<=4))
  {
    $status="password must be 8 charters";
    exit();
  }
  else
  {
    $status="ok";
    exit;
  }
}   
?>
  <body>
    <p><?php echo $status; ?></p>
    <form method="post" action="index.php">
      <span>username:</span><input type="text" name="uname" id="uname" />
      <input type="submit" name="submit" value="checkme"/>
    </form>
  </body>
</html>

如果所有条件均为真stattus="ok";不起作用,则不会在页面中单击任何按钮回显通知 任何初学者教程请帮助我

5 个答案:

答案 0 :(得分:0)

使用exit()取消执行PHP文件,因此不会显示exit()调用后的所有内容。

如果您认为if语句的其他部分已达到...没有。只有当条件(在if(condition)中)之前为false时,才会触及if语句get的下一部分(else部分)。

删除exit()来电,它应该有效。

答案 1 :(得分:0)

删除所有exit()个命令。这些导致脚本在到达消息的回显之前停止

答案 2 :(得分:0)

当你这样做时

echo $status;

如果您正在加载页面,此时未设置$ _REQUEST或$ _POST,则$ status未定义且从未设置。所以你会看到一个错误,说它是一个未定义的变量。

要解决此问题,您可以

  1. 添加到脚本顶部

    $status = "";
    
  2. 或者在打印$ status时执行以下操作

    echo isset($status) ? $status : "";
    

答案 3 :(得分:0)

试用此代码

<?php
if($_POST){
    $pass=$_POST['uname'];
    if(trim($_POST['uname']) == ''){
        $err['uname'] = 'must be field out';
    }
    else if(strlen($pass)<=4)
    {
        $err['uname'] = 'password must be 8 charters';
    }
    else{
        $err['uname']="ok";
    }
}

?>

<body>

        <form method="post" action="">
           <span>username:</span><input type="text" name="uname" id="uname" />
           <?php if($err['uname'] != '') { ?>
                    <p style="color: red;" class="error">
                        <?php echo $err['uname'];?>
                    </p>
                    <?php }  ?>
       <input type="submit" name="submit" value="checkme"/>
            </form>
       </body>

答案 4 :(得分:-1)

method =“POST” 以大写字母发布

如果有效,请告诉我! 感谢