高手看看这段代码!有点问题! if (($num["user_n"]=$_POST["user_name"]) || ($num["user_p"]=$_POST["user_pwd"])){$_SESSION['s_name']=$_POST["user_name"];echo"验证成功!";}你看清楚这段 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 再放大一点$num["user_n"]=$_POST["user_name"]) || ($num["user_p"]=$_POST["user_pwd"] 你是要对他进行赋值还是进行比较: if (($num["user_n"]=$_POST["user_name"]) || ($num["user_p"]=$_POST["user_pwd"]))如果是比较的话就应该是 if (($num["user_n"]==$_POST["user_name"]) || ($num["user_p"]==$_POST["user_pwd"]))按你的那种永远都是通过验证因为你的那种是对他进行赋值 还有你最好是用&&而不是||进行判断随便问一句你的密码是不加密[如MD5]的吗? 楼上的,为什么改成这样子,输入正的用户名和密码却出现失败呢?if (($num["user_n"]==$_POST["user_name"]) || ($num["user_p"]==$_POST["user_pwd"])) 你<?print_r($num); ?>看看是不是取出质来了? <?print_r($num); ?> 这样显示不出东西啊!!!这问题是出在那里了啊? $sql = " SELECT * FROM `js_jason_user ` WHERE `name` = '". $_POST['user_name'] ."'";$result = mysql_query($sql);$result = mysql_fetch_array($result);if(!$result): exit('用户不存在');else: exit('通过验证');endif; 或者是$sql = " SELECT * /* `id` */ FROM `table` WHERE `user_n` = '". $_POST['user_name'] ."' && `user_p` = '". $_POST['user_pwd'] ."'";$result = mysql_query($sql);$result = mysql_fetch_array($result);if(!$result): exit('用户不存在 或者 用户名/密码错误');else: exit('通过验证');endif; 不好意思上面的上面个错了$sql = " SELECT * FROM `table` WHERE `user_n` = '". $user_name ."'";$result = mysql_query($sql);$result = mysql_fetch_array($result);if(!$result): exit('用户不存在');elseif($result['user_p'] != $_POST['user_pwd']): exit('密码错误');else: exit('通过验证');endif; 你把print_r($num)放在哪了?应该放在$num=mysql_fetch_row($query);这行的下面 楼上的,按照你的意思,我输入的用户名如果是正确的则显示如下:Array ( [0] => 1 [1] => jason [2] => jason [3] => 系统管理员 [4] => 0000-00-00 00:00:00 ) Array ( [0] => 1 [1] => jason [2] => jason [3] => 系统管理员 [4] => 0000-00-00 00:00:00 ) 失败! 如果输入的用户名是错误的,则显示如下:失败!感谢楼上的帮助分析! 学习这个PHP怎么这么难呢?还没有ASP好学! 很明显,你提出来的数据表字段没有和数组索引关联,你把这行$num=mysql_fetch_row($query);改成$num=mysql_fetch_array($query);试试 如何用appserv+eclipse开发PHP环境 关于变量的域的问题 请教Mysql如何删除 不包含 某些字符的记录? 求PHP实现的资源管理器的树形导航菜单代码?! 我想问下我的正则是哪里错了? php sql2000连接 晕~~S活转向失败啊!救命 怎样取得一年中某个月的起止时间戳? 问 请教一下关于 textarea 换行 的问题 晕,放在数据库区居然没人能答上来的问题:取列的字段名称:一个有100个字段的数据表,想把字段不为空的取出来,SQL语句怎么写? 关于分页,大家帮我看看是什么问题?
if (($num["user_n"]=$_POST["user_name"]) || ($num["user_p"]=$_POST["user_pwd"]))
如果是比较的话就应该是
if (($num["user_n"]==$_POST["user_name"]) || ($num["user_p"]==$_POST["user_pwd"]))
按你的那种永远都是通过验证
因为你的那种是对他进行赋值
你的密码是不加密[如MD5]的吗?
SELECT *
FROM `js_jason_user `
WHERE `name` = '". $_POST['user_name'] ."'
";
$result = mysql_query($sql);
$result = mysql_fetch_array($result);
if(!$result):
exit('用户不存在');
else:
exit('通过验证');
endif;
$sql = "
SELECT * /* `id` */
FROM `table`
WHERE `user_n` = '". $_POST['user_name'] ."' && `user_p` = '". $_POST['user_pwd'] ."'
";
$result = mysql_query($sql);
$result = mysql_fetch_array($result);
if(!$result):
exit('用户不存在 或者 用户名/密码错误');
else:
exit('通过验证');
endif;
上面的上面个错了$sql = "
SELECT *
FROM `table`
WHERE `user_n` = '". $user_name ."'
";
$result = mysql_query($sql);
$result = mysql_fetch_array($result);
if(!$result):
exit('用户不存在');
elseif($result['user_p'] != $_POST['user_pwd']):
exit('密码错误');
else:
exit('通过验证');
endif;
Array ( [0] => 1 [1] => jason [2] => jason [3] => 系统管理员 [4] => 0000-00-00 00:00:00 ) Array ( [0] => 1 [1] => jason [2] => jason [3] => 系统管理员 [4] => 0000-00-00 00:00:00 ) 失败! 如果输入的用户名是错误的,则显示如下:失败!感谢楼上的帮助分析!
$num=mysql_fetch_row($query);
改成
$num=mysql_fetch_array($query);
试试