目前我正在一个网站上工作,并且遇到登录脚本中的问题。登录时出现错误PHP代码
<?php
include 'includes/connect.php';
include 'includes/core.php';
?>
<?php
$user = sanitizeString($_POST['username']);
$pass = sanitizeString($_POST['password']);
if($user == "" || $pass = ""){
$error = "Not all fields were entered<br />";
} else {
$query = "SELECT username,password FROM admins WHERE username='$user' AND password='$pass'";
if(mysql_num_rows(queryMysql($query)) == 0){
print "Wrong Username/Password <br />";
print "$user";
print "$pass";
} else {
$_SESSION['user'] = $user;
$_SESSION['pass'] = $pass;
print "Successfully Logged In. Redirecting...";
}
}
?>
<html>
<head>
<title>
Login
</title>
<link rel="stylesheet" type="text/css" href="css/stylesheet.css">
</head>
<body>
<div id="mainDiv">
<h2> Login</h2>
<form action="login.php" method="post">
Username: <input type="text" name="username"><br>
Password: <input type="password" name="password"><br><br>
<input type="submit" name="login" value="Login">
</form>
</div>
</body>
</html>
我知道大部分这是不完整的,但这不是问题。问题是,当我尝试登录时,我收到“不正确的用户名/密码”。经过进一步调查,我发现$ pass没有设置。
为什么$传没有被设置和显示?
请勿将输入元素命名为与其“类型”值相同的名称。这可能不会解决问题,这只是良好的做法 – Deryck
为什么你不让你的如果是这样的? if(trim($ user)!=“”&& trim($ pass)!=“”){'。我还看到,if语句中的第二个表达式不是一个比较。调试的最佳方式是使用'var_dump'输出变量' – demonking
'if($ user ==“”|| $ pass =“”){'您已经创建了'$ pass' ='“”'添加一个等于make它是一个比较运算符 – manta