Maison >développement back-end >tutoriel php >这个php登陆代码总是不成功。请看看这是哪里有有关问题

这个php登陆代码总是不成功。请看看这是哪里有有关问题

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBoriginal
2016-06-13 11:14:45806parcourir

这个php登陆代码总是不成功。请看看这是哪里有问题 ?

<?php<br /><br /> session_start();<br /> $conn=mysql_connect("localhost","admin","admin") or die ("数据库链接错误".mysql_error());<br /> mysql_select_db('member',$conn) or die("选择数据库有错".mysql_error());<br /><br /> define(ALL_PS, "php123");<br /><br />if($_POST[submit])<br />{<br />$username=str_replace(" ","",$_POST[username]);<br />$sql="select * from user_list where 'username' ='$username'";<br />$query=mysql_query($sql);<br />$ps = $us ? md5($_POST[password].ALL_PS)==$row[password] : FALSE;<br /><br />if($ps){<br />	$_SESSION[uid]=$row[uid];<br />	$_SESSION[user_shell]=md5($row[username].$row[password].ALL_PS);<br />	echo "ok";<br />}else{<br />	echo "no";<br />}<br /><br />}<br /><br />?><br /><br /><form action="" method="post""><br />用户:<input type="text" name="user" /><br /><br />密码:<input type="password" name="password" /><br /><br /><input type="submit" name="submit" value="tttt" /><br /></form><br />




总是输出no


------解决方案--------------------
if($ps){ ???
在你的代码中 $ps 没有机会为真,所以只能输出 no

代码中唯一对 $ps 赋值的地方是
$ps = $us ? md5($_POST[password].ALL_PS)==$row[password] : FALSE;
由于 $us 没有被赋值,所以 $ps 只能为 FALSE

if($_POST[submit])
{
$username=str_replace(" ","",$_POST[username]);
$sql="select * from user_list where 'username' ='$username'";
$query=mysql_query($sql);
$ps = $us ? md5($_POST[password].ALL_PS)==$row['password'] : FALSE;
应写作:
if($_POST['submit'])<br />{<br />$username=str_replace(" ","",$_POST['username']);<br />$sql="select * from user_list where `username` ='$username'";<br />$query=mysql_query($sql);<br />$row = mysql_fetch_assoc($query);<br />$ps = $row['username'] ? md5($_POST['password'].ALL_PS)==$row[password] : FALSE;<br />


------解决方案--------------------
$sql="select * from user_list where 'username' ='$username'";

把单引号去了。
------解决方案--------------------
user" />

$_POST['username']

这两个写成一样的
------解决方案--------------------
$sql="select * from user_list where 'username' ='".$username."'";
------解决方案--------------------
var_dump($row);看下有没有数据
------解决方案--------------------
你的代码可能有多个错误
你一个一个试,永远也找不到原因的。。。
你先一步步把你的值用var_dump打印出来,看看结果吧
我们只是帮你分析出可能的原因
------解决方案--------------------
引用:
echo var_dump($row);  结果输出:bool(false) 

是下面这几句代码的问题 ?

PHP code?1234$username=str_replace(" ","",$_POST[username]);$sql="select * from user_list where 'username' ='$username'";$query……
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn