首頁 > 後端開發 > php教程 > thinkphp会员登录问题

thinkphp会员登录问题

WBOY
發布: 2016-06-23 14:18:38
原創
1187 人瀏覽過

<?phpsession_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代码,不知道怎么回事,不管输入什么或者不输人它都提示用户名或者密码不正确,为什么呢?哪的问题?


回复讨论(解决方案)

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

你确定你的sql没错??

"select * from developers where username='".$POST['username']."' and password='".$_POST['password']."'"
登入後複製
登入後複製
登入後複製
登入後複製

你确定你的sql没错??

"select * from developers where username='".$POST['username']."' and password='".$_POST['password']."'"
登入後複製
登入後複製
登入後複製
登入後複製


我改成你这样了,但是又出新问题了,就是什么也不填,显示用户登录成功,然后就是不管填什么都是用户名或者密码不正确。这。。。咋回事啊?

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

查询操作后面加上: echo $db->getLastSql();exit; 把sql语句打印出来就知道结果了。
用这个发现问题了,username不管我输入什么都打印不出来,password就没问题,这是哪的问题呢?没发现是哪写错了啊


查询操作后面加上: echo $db->getLastSql();exit; 把sql语句打印出来就知道结果了。
用这个发现问题了,username不管我输入什么都打印不出来,password就没问题,这是哪的问题呢?没发现是哪写错了啊
表单里的name属性有没有写错



查询操作后面加上: echo $db->getLastSql();exit; 把sql语句打印出来就知道结果了。
用这个发现问题了,username不管我输入什么都打印不出来,password就没问题,这是哪的问题呢?没发现是哪写错了啊
表单里的name属性有没有写错
当然不可能写错了。。。怎么会犯那么低级的错误...




查询操作后面加上: echo $db->getLastSql();exit; 把sql语句打印出来就知道结果了。
用这个发现问题了,username不管我输入什么都打印不出来,password就没问题,这是哪的问题呢?没发现是哪写错了啊
表单里的name属性有没有写错
当然不可能写错了。。。怎么会犯那么低级的错误...

你的password没有MD5?

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

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

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

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

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

检查一下浏览器 cookie

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

你确定你的sql没错??

"select * from developers where username='".$POST['username']."' and password='".$_POST['password']."'"
登入後複製
登入後複製
登入後複製
登入後複製


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


你确定你的sql没错??

"select * from developers where username='".$POST['username']."' and password='".$_POST['password']."'"
登入後複製
登入後複製
登入後複製
登入後複製


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


username='".$_POST['username']."'这种地方都要加上单引号

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板