如何将用户ID存储为login.php中的会话

时间:2013-03-29 22:50:18

标签: php login user-accounts

我在名为user.php的文件中有以下功能:

        function user_id_from_username($username) {
            $username = sanitize($username);
            return mysql_result(mysql_query("SELECT `MemberID` FROM `member` WHERE `Email` = '$username'"),0, 'MemberID');

            }
        function login ($username, $password) {
            $MemberID = user_id_from_username ($username);

            $username = sanitize($username);
            $password = md5($password);

            return (mysql_result(mysql_query("SELECT COUNT(`MemberID`) FROM `member` WHERE `Email` = '$username' AND `Password` ='$password'"), 0) == 1) ? $MemberID : false; }

在我的login.php中,我有:

Session_start ();
include 'core/functions/users.php'

if (empty($_POST) === false){
    $username = $_POST['Email'];
    $password = $_POST['Password'];


        $login = login($username, $password);
        if($login === 1){
            $_SESSION['MemberID'] = $login; //logged in and returned user ID and store in session
            header('location: member.php?username='.$username);

        }else{
            // try admin login
            $query2 = mysql_query("SELECT * FROM admin WHERE Email ='$username' AND Password ='$password'");
            if(mysql_num_rows($query2) == 1){
                $_SESSION['Email'] = $username;
                header("location: admin.php");
            }
            else{
                 echo "Failed Login Attempt"; 

            }
        }
    }

当我尝试登录用户时,我收到此错误:

警告:mysql_result():无法跳转到第27行的oddjobexchange \ core \ functions \ user.php中的MySQL结果索引8的第0行 登录尝试失败

我无法理解这个错误,因为我看不出第27行(下面)

有什么问题
return mysql_result(mysql_query("SELECT `MemberID` FROM `member` WHERE `Email` = '$username'"),0, 'MemberID');

在我的数据库''MemberID'是第0行,'电子邮件'是第7行,'密码'是第8行。任何人都知道我错了什么?

0 个答案:

没有答案