目前我正在网站上工作,我在登录脚本上遇到了问题。
<?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。
为什么没有设置和显示$ pass?
答案 0 :(得分:5)
更改
if($user == "" || $pass = ""){
要
if($user == "" || $pass == ""){
您正在设置$ pass =“”而不是检查它是否是“”。
答案 1 :(得分:0)
我不禁注意到,除非PHP和HTML是两个单独的文件,否则你会回复给自己。离开
其次,将两者放在同一份文件中是不明智的。
第三,您需要先启动会话,然后才能为其添加值。
如果没有附加字符串,则不需要将var包装在“”中。
只是一些想法...并且不要感到难过,单身=让我得到的次数超过了我想承认的次数。