Heim > Backend-Entwicklung > PHP-Tutorial > thinkphp会员登录问题

thinkphp会员登录问题

WBOY
Freigeben: 2016-06-23 14:18:38
Original
1187 Leute haben es durchsucht

<?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();					}	    	}	?>
Nach dem Login kopieren

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


回复讨论(解决方案)

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

你确定你的sql没错??

"select * from developers where username='".$POST['username']."' and password='".$_POST['password']."'"
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

你确定你的sql没错??

"select * from developers where username='".$POST['username']."' and password='".$_POST['password']."'"
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren


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

查询操作后面加上: 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']."'"
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren


我晕,你发现了居然不指出来,他们也没发现,坑爹啊,直到现在才明白....
应该是$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']."'"
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren


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


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

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage