PHP会话/登录脚本问题

时间:2013-10-31 19:32:18

标签: php

我遇到了使登录脚本正常工作的问题。当我运行会话代码(if / else)块注释掉时,我的checkLogin()函数似乎正常工作。无论我做什么,代码总是将用户发送到登录页面。

session_start();

require_once('config/class.Config.php');

if( isset($_POST['login-email'] )&& isset($_POST['login-pass']))
{
        if ( checkLogin($_POST['login-email'], $_POST['login-pass']) == true)
        {
                $_SESSION['email'] = $_POST['login-email'];
                header( "Location: members.php" );
        } else {
                header( "Location: login.php" );
        }
} else {
        header( "Location: login.php" );
}


//Uncomment line below to test checkLogin by itself - comment out if/else block above.
//$test = checkLogin($_POST['login-email'], $_POST['login-password']);

var_dump($test);

function checkLogin($email, $password)
{

    $password = sha1($password);
    //echo $password;
    $DBH = Config::getPDOconnection();
    $query = "SELECT * FROM users WHERE email=:email AND password=:password ";
    $STH = $DBH->prepare($query);
    $STH->bindParam(':email', $email);
    $STH->bindParam(':password', $password);
    $STH->execute();

    if($STH->rowCount() == 1) {
            return true;
    } else {
            return false;
    }
}  

感谢任何帮助。

在这个区块中:

if ( checkLogin($_POST['login-email'], $_POST['login-pass']) == true)
{
        $_SESSION['email'] = $_POST['login-email'];
        header( "Location: members.php" );
} else {
        header( "Location: login.php" );
}

$ _POST ['login-pass']应该是$ _POST ['login-password']

我是个白痴。

0 个答案:

没有答案