日期:2014-05-17  浏览次数:20410 次

用户登录问题 请大家帮帮忙
<?php
$username = htmlspecialchars($_POST['username']);
$password = MD5($_POST['password']);

//包含数据库连接文件
include('conn.php');

//检测用户名及密码是否正确
$check_query = mysql_query("SELECT `uid` FROM `user` WHERE `username`='$username' AND `password`='$password' LIMIT 1");

if($result = mysql_fetch_array($check_query)){
    //登录成功
    $_SESSION['username'] = $username;
    echo "ok";
    exit;
} else {
    exit('登录失败!点击此处 <a href="javascript:history.back(-1);">返回</a> 重试');
}
?>
请看看代码哪里出错了 明明数据库里存在输入的用户名的 但还是登录失败 
但是如果将`password`='$password'去掉 用户名是可以查询到的 但是密码随便输入什么都可以登录成功

------解决方案--------------------

$result = mysql_query("SELECT uid FROM user WHERE username`='$username' AND `password`='$password'");
echo mysql_num_rows($result)."<br/>";//看一下这个结果是否为1,如果不是,则你的用户名或者密码有问题
if($mysql_num_rows($result)==1){
$row=mysql_fetch_array($result));
$_SESSION['username'] = $row['username'];
echo "登录成功";
}else{
echo "登录失败";
}