PHP用户登录时为何老是提示用户名密码错误

<?phpinclude("config.php");if($_POST[submit]){$username=str_replace("","",$_POST[user... <?php
include("config.php");
if($_POST[submit]){
$username=str_replace(" ","",$_POST[username]);
$sql="SELECT * FROM user_list where 'username'='$username'";
$query=mysql_query($sql);
$us=is_array($row=mysql_fetch_array($query));

$_ps=$us ? md5($_POST[password].ALL_PS)==$row[password]:FALSE;
if($ps){
$_SESSION[uid]=$row[uid];
$_SESSION[user_shell]=md5($row[username].$row[password].ALL_PS);
echo "登录成功";
}else{
echo "密码或者用户名错误";
}

}

?>
<form action="" method="post" >
用户名:
<input type="text" name="username" />
密码:

<input type="password" name="password" />

<input type="submit" name="submit" value="登录"/>

</form>

登录时要是提示密码或者用户名错误,无论输入的是正确的还是错误的,都提示,为什么。
展开
 我来答
百度网友cb4985820
2013-07-15 · TA获得超过562个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:231万
展开全部
if($_POST[submit]){
改成

if($_POST){

试试
更多追问追答
追问
删除了,就立即报错了。
追答
 <?php
include("config.php");
if($_POST){
    $username=str_replace(" ","",$_POST["username"]);
    $sql="SELECT * FROM user_list where 'username'='$username'";
    $query=mysql_query($sql);
    $us=is_array($row=mysql_fetch_array($query));
    $ps=$us ? md5($_POST["password"].ALL_PS)==$row["password"]:FALSE;
    if($ps){
        $_SESSION["uid"]=$row["uid"];
        $_SESSION["user_shell"]=md5($row["username"].$row["password"].ALL_PS);
        echo "登录成功";
    }else{
        echo "密码或者用户名错误";
    }
}
?>
  <form action="1.php" method="post" >
  用户名:
  <input type="text" name="username" />
  密码:
  <input type="password" name="password" />
  <input type="submit" name="submit" value="登录"/>
</form>
我给你改咯下,你试试,数组变量要用""括起来
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
542734599
2013-07-14 · 超过49用户采纳过TA的回答
知道小有建树答主
回答量:181
采纳率:100%
帮助的人:77.2万
展开全部
改成
if(isset($_POST[submit])){
试试?
更多追问追答
追问
还是报错。include("config.php");
文件内容如下:
追答
$_ps=$us ? md5($_POST[password].ALL_PS)==$row[password]:FALSE;
if($ps)

你确认这两个变量名称写对了吗?
问题出在if($ps)这个判断上了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
njumwx
2013-07-15 · TA获得超过327个赞
知道小有建树答主
回答量:868
采纳率:0%
帮助的人:432万
展开全部
$us=is_array($row=mysql_fetch_array($query));
这是数组么?
更多追问追答
追问
我对这个也不是很明白,我也是刚学
追答
应该是数据库里没有这个用户。你查查自己的数据库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式