<?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";
不起作用,则不会在页面中单击任何按钮回显通知
任何初学者教程请帮助我
答案 0 :(得分:0)
使用exit()
取消执行PHP文件,因此不会显示exit()调用后的所有内容。
如果您认为if语句的其他部分已达到...没有。只有当条件(在if(condition)中)之前为false时,才会触及if语句get的下一部分(else部分)。
删除exit()
来电,它应该有效。
答案 1 :(得分:0)
删除所有exit()
个命令。这些导致脚本在到达消息的回显之前停止
答案 2 :(得分:0)
当你这样做时
echo $status;
如果您正在加载页面,此时未设置$ _REQUEST或$ _POST,则$ status未定义且从未设置。所以你会看到一个错误,说它是一个未定义的变量。
要解决此问题,您可以
添加到脚本顶部
$status = "";
或者在打印$ 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” 以大写字母发布
如果有效,请告诉我! 感谢