为什么在验证验证码的时候程序不能正确验证,请各位高手相助

cph1737 2010-07-12 03:37:00
<?php
session_start();
include("conn.php");
$user=$_POST['user'];
$pwd=$_POST['pass'];
$yzm=$_POST['yzm'];
if($_POST['btnLogin']){
$sql="select * from `access` where `name`='$user' and `pwd`='$pwd'";
$rs=mysql_query($sql);
$result=mysql_fetch_array($rs);
if($result){
header("location:list.php");
$_SESSION[user]=$user;
}else{
echo "用户名或密码错误!";
}
}
?>
<html>
<head>
<title>添加留言</title>
</head>
<script language="javascript">
function check(){
if(document.login.user.value==""){
alert("用户名不能为空!");
login.user.focus();
return false;
}
if(document.login.pass.value==""){
alert("密码不能为空!");
login.pass.focus();
return false;
}
if(document.login.yzm.value==""){
alert("验证码不能为空!");
login.yzm.focus();
return false;
}
if(document.login.yzm.value!=document.login.hide.value){
alert("验证码错误!");
login.yzm.focus();
return false;
}

}

</script>

<body>
<?php
include("top.html");
?>
<center>
<table border="1">
<form name="login" method="post" action="login.php" onsubmit="return check()">
<tr>
<td>昵称:</td>
<td><input type="text" name="user"></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td>验证码:</td>
<td><input type="text" size="4" name="yzm" ><img src="imagecode.php"></td>
<input type="hidden" name="hide" value="<?php echo $_SESSION['check_pic']?>">

<?php echo $_SESSION['check_pic']?>
</tr>
<tr align="center">
<td colspan="2"><input type="submit" name="btnLogin" value="登录">
<input type="reset" name="btnCancel" value="取消">   <a href="reg.php">注册</a>
</td>
</tr>
</form>
</table>
</center>
</body>
</html>
为什么在验证验证码的时候程序不能正确验证,请各位高手相助
...全文
104 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
igaojie 2010-07-12
  • 打赏
  • 举报
回复
这么做,验证码一点意义都没有!验证码应该在php里面去判断!
Dleno 2010-07-12
  • 打赏
  • 举报
回复
你的JS知识还有待提高啊。
验证码验证最好在PHP程序里进行。

要在客户端进行的话,就用AJAX,来验证,但提交程序里也还是要验证的。
你这样做,要验证码何用???
taipingren 2010-07-12
  • 打赏
  • 举报
回复
你用的是ie6吧?
hhuahuanghao 2010-07-12
  • 打赏
  • 举报
回复
你在最开始的check函数 直接alert两个值 先看看 看是什么值撒
kyzy_yy_pm 2010-07-12
  • 打赏
  • 举报
回复
如果判断验证码,劝你在php中判断,否则很简单就会跳过的
kyzy_yy_pm 2010-07-12
  • 打赏
  • 举报
回复
那你输出hide中的value是什么,视觉上他们两个(hiden和yzm)的value一样么
如果不一样的话可能是浏览器缓存的问题
cph1737 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kyzy_yy_pm 的回复:]
alert()不出来么?还是浏览器左下角出现黄色错误标志
[/Quote]
alert 都出的来的,就全部弹出验证码错误
kyzy_yy_pm 2010-07-12
  • 打赏
  • 举报
回复
alert()不出来么?还是浏览器左下角出现黄色错误标志
cph1737 2010-07-12
  • 打赏
  • 举报
回复
不管理输入正确的验证码或者错误的验证码都是弹出错误,真的搞不明白[Quote=引用 5 楼 kyzy_yy_pm 的回复:]
引用 4 楼 cph1737 的回复:
在文本框中输入下,在通过$_POST[yzm]不就有value了,这样对不对?

引用 3 楼 kyzy_yy_pm 的回复:
<td> <input type= "text " size= "4 " name= "yzm " > <img src= "imagecode.php "> </td>

yzm的value怎么没有呢?
+懵了,呵呵……
[/Quote]
kyzy_yy_pm 2010-07-12
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 cph1737 的回复:]
在文本框中输入下,在通过$_POST[yzm]不就有value了,这样对不对?

引用 3 楼 kyzy_yy_pm 的回复:
<td> <input type= "text " size= "4 " name= "yzm " > <img src= "imagecode.php "> </td>

yzm的value怎么没有呢?
[/Quote]+懵了,呵呵
那你alert()那两个验证码看看情况
cph1737 2010-07-12
  • 打赏
  • 举报
回复
在文本框中输入下,在通过$_POST[yzm]不就有value了,这样对不对?[Quote=引用 3 楼 kyzy_yy_pm 的回复:]
<td> <input type= "text " size= "4 " name= "yzm " > <img src= "imagecode.php "> </td>

yzm的value怎么没有呢?
[/Quote]
kyzy_yy_pm 2010-07-12
  • 打赏
  • 举报
回复
<td> <input type= "text " size= "4 " name= "yzm " > <img src= "imagecode.php "> </td>

yzm的value怎么没有呢?
kyzy_yy_pm 2010-07-12
  • 打赏
  • 举报
回复
输出两个值看看
kyzy_yy_pm 2010-07-12
  • 打赏
  • 举报
回复
if(document.login.pass.value== " "){ //....value==""

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧