在数据库中读取到了用户信息,但是无法验证密码错误…………求解

46次阅读

<?php 
	include_once 'connect.inc.php';
	error_reporting(0);
	
	if($_GET['login'] == 'out'){
		setcookie("cookie","out");
		echo "<script language=\"javascript\">location.href='login.php'</script>";
	}
	if($_POST['submit']){
		$pw = md5($_POST['password']);                        
		$sql = "SELECT * FROM member WHERE `username`='".$_POST['password']."';";
		$result = mysql_query($sql, $conn);	
		$num = mysql_num_rows($result);        
		if($num)                            //判断是否有这个用户
		{
			$arr = mysql_fetch_array($result);
			if($arr['password'] == $pw)   //判断密码是否正确
			{
				setcookie("cookie","ok");
				echo "<script language=\"javascript\">alert('登陆成功!');location.href='login.php'</script>";
			}else
			{
				echo "<script language=\"javascript\">alert('密码错误!');</script>";
			}
		}else
		{
			echo "<script language=\"javascript\">alert('没有这个用户!');</script>";
		}
	}
	include_once 'head.inc.php';
	if($_COOKIE['cookie'] != "ok"){
?>

<script language="javascript">
	function CheckLogin(){
		if(login.user.value == ""){
			alert("用户名不能为空!");
			myform.user.focus();
			return false;
		}
		
		if(myform.password.value == ""){
			alert("密码不能为空!");
			myform.password.focus();
			return false;
		}
	}
</script>

<form name="login" method="post" onsubmit="return CheckLogin();">
	用户名:<input type="text" name="user"><br />
	密  &nbsp;码:<input type="password" name="password"><br />
	<input type="submit" name="submit" value="登陆">
</form>
<?php
	}else{
		echo "<a href=\"login.php?login=out\">退出</a>";
	}

?>

代码如上,当用户不正确的时候可以判断出来,当用户正确,密码不正确的时候确不能判断出来。
用户正确,密码不正确时是弹出没有这个用户对话框,逻辑关系我也看了多遍,感觉没有问题。求解,是什么原因???

whan

貌似今天都遇到这种问题。。。自己去看看这个写的有啥问题

$sql = "SELECT * FROM member WHERE `username`='".$_POST['password']."';";

joyqi

‘”.$_POST[‘password’].”‘
改成 “{$_POST[‘password’]}”试试?

lqt0223

$sql = "SELECT * FROM member WHERE `username`='".$_POST['password']."';";

username = password ????

已注销

正文完