<?php
session_start();
header('Content-Type:text/html; charset=utf-8');
class AdminAction extends Action{
      public function index(){
  if(isset($_POST['username'])){
        if(isset($_POST['username'])&&isset($_POST['password'])){
    $db=M();
$select=$db->query("select * from developers where username=".$POST['username']." and password=".$_POST['password']."");
if($select){
    $_SESSION['admin']=$_POST['username'];
$this->redirect('Index/index','',2,'用户'.$_POST['username'].'登录成功!');
                 }else{
$this->redirect('Index/index','',2,'用户名或者密码不正确');
}
}else{
    $this->redirect('Index/index','',2,'用户名或密码不能为空!');
}
}
$this->display();
}

     }
?>
这是AdminAction代码,不知道怎么回事,不管输入什么或者不输人它都提示用户名或者密码不正确,为什么呢?哪的问题?

解决方案 »

  1.   

    看看sql语句在数据库的查询结果有没有问题。
      

  2.   

    你确定你的sql没错??"select * from developers where username='".$POST['username']."' and password='".$_POST['password']."'"
      

  3.   

    查询操作后面加上:  echo $db->getLastSql();exit; 把sql语句打印出来就知道结果了。
      

  4.   

    用这个发现问题了,username不管我输入什么都打印不出来,password就没问题,这是哪的问题呢?没发现是哪写错了啊
      

  5.   

    用这个发现问题了,username不管我输入什么都打印不出来,password就没问题,这是哪的问题呢?没发现是哪写错了啊
    表单里的name属性有没有写错
      

  6.   

    用这个发现问题了,username不管我输入什么都打印不出来,password就没问题,这是哪的问题呢?没发现是哪写错了啊
    表单里的name属性有没有写错
    当然不可能写错了怎么会犯那么低级的错误...
      

  7.   

    用这个发现问题了,username不管我输入什么都打印不出来,password就没问题,这是哪的问题呢?没发现是哪写错了啊
    表单里的name属性有没有写错
    当然不可能写错了怎么会犯那么低级的错误...你的password没有MD5?
      

  8.   

    是不是数据库里md5了,查询里没有md5
      

  9.   

    你直接打印$_POST看看有没有username
      

  10.   


    首先password  md5了。数据库里也md5了。直接打印也还是没有username。密码能打印出来,就是username打印不出来
      

  11.   

    先获取post值看下,再输出sql,再把sql执行,看是否返回结果集。
      

  12.   

    username='".$POST['username']."'
    发现问题了没
    username='".$_POST['username']."'
      

  13.   


    我晕,你发现了居然不指出来,他们也没发现,坑爹啊,直到现在才明白....
    应该是$select=$db->query("select * from developers where username=".$_POST['username']." and password=".$_POST['password']."");
      

  14.   


    我晕,你发现了居然不指出来,他们也没发现,坑爹啊,直到现在才明白....
    应该是$select=$db->query("select * from developers where username=".$_POST['username']." and password=".$_POST['password']."");
    username='".$_POST['username']."'这种地方都要加上单引号