使用不同的用户登录

时间:2014-02-09 01:27:02

标签: php sql database

以下是我登录的代码:

<?php
session_start();
include("conn.php");
$qry=mysql_query("Select * from tblru");
$qry2=mysql_query("Select * from tbladmin");
$credentials=mysql_fetch_array($qry);
if(isset($_POST['login'])){

    if($_POST['user']==$credentials["user"]){
        if($_POST['pass']==$credentials["pass"]){   

        $_SESSION['user']=1;
        header("location:login.php");
        exit();
        }
        else{
            echo "<div style='position:absolute; right:230px; top:220px;'><b>WRONG PASSWORD<br>Re Input PASSWORD</b></div>";

        }
    }
    else{
        echo "<div style='position:absolute; right:230px; top:220px;'><b>WRONG USERNAME<br>Re Input Username</b></div>";
    }

}
?>

我需要这个登录代码的帮助。我创建了几个用户,但我的登录只读取了第一个注册的用户。你能帮助我使用我的代码来登录其他帐户吗?

1 个答案:

答案 0 :(得分:0)

解决问题的最简单方法是将查询更改为以下内容:

$login = false;

if(!isset($_POST['user']) || !isset($_POST['pass'])) {
    // Something was missing
}
else {
    $query = "SELECT * FROM tblru WHERE user='" . mysql_real_escape_string($_POST['user']) . "'"
         . " AND pass='" . mysql_real_escape_string($_POST['pass']) . "' LIMIT 1";

    $result = mysql_query($query);
    $credentials = mysql_fetch_array($result);
    if($credentials !== false) {
        $login = true;
    }
}

从此处$credentials将成为您的验证用户或FALSE

但是,现在已经说过,请注意mysql_*系列函数已弃用,将在未来的PHP版本中删除。请访问this link查看替代方案。

此外,我注意到您没有哈希密码。这是一个坏主意;将密码以明文形式存储在服务器中使其成为一个诱人的目标。您可以阅读更多相关信息here