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

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>
为什么在验证验证码的时候程序不能正确验证,请各位高手相助
...全文
71 点赞 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
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==""
回复
发动态
发帖子
基础编程
创建于2007-09-28

2.1w+

社区成员

从PHP安装配置,PHP入门,PHP基础到PHP应用
申请成为版主
社区公告
暂无公告