繁体   English   中英

登录PHP代码中的错误

[英]Error in Login PHP Code

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

<?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。

在此处输入图片说明

为什么未设置和显示$ pass?

更改

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

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

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

我不禁注意到,除非PHP和HTML是两个单独的文件,否则您将重新发布自己。 离开。

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

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

第四,如果没有附加任何字符串,则无需在“”中包装var。

只是一些想法...而且不要感到难过,单身=使我获得了比我想承认的更多的机会。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM