登录PHP代码时出错

时间:2014-01-11 06:56:09

标签: php login

目前我正在网站上工作,我在登录脚本上遇到了问题。

<?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>&nbsp;&nbsp;&nbsp;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。

enter image description here

为什么没有设置和显示$ pass?

2 个答案:

答案 0 :(得分:5)

更改

if($user == "" || $pass = ""){

if($user == "" || $pass == ""){

您正在设置$ pass =“”而不是检查它是否是“”。

答案 1 :(得分:0)

我不禁注意到,除非PHP和HTML是两个单独的文件,否则你会回复给自己。离开

其次,将两者放在同一份文件中是不明智的。

第三,您需要先启动会话,然后才能为其添加值。

如果没有附加字符串,则不需要将var包装在“”中。

只是一些想法...并且不要感到难过,单身=让我得到的次数超过了我想承认的次数。