PHP登录脚本坏了

时间:2014-01-09 16:12:33

标签: php sql

Hello女士们,先生们,我这个项目已经有一段时间了。当我进入网页登录时,我突然在'success_login.php'上看到一个空白的屏幕,这只是在我的屏幕上点击登录后运行的登录脚本。

这是success_login.php脚本:

<?php
require_once($_SERVER['DOCUMENT_ROOT'] . '/luke/classes/userFunctions.php');
$userFunctions = new userFunctions();

session_start();
//assign all posted values to a session
if (!empty($_POST)) {
    foreach($_POST as $key => $value) {
    $_SESSION['login_info'][$key] = $value;
    }
}
//Get the username and password
$username = htmlentities($_POST["username"], ENT_QUOTES); 
$password = htmlentities($_POST["password"], ENT_QUOTES);

//Get the user id if the login was valid
$userId = $userFunctions->validLogin($username,$password);

if($userId != 0) {
    $_SESSION['login_info']['username'] = $username;
    $_SESSION['login_info']['password'] = $password;
    $_SESSION['login_info']['user_id'] = $userId;
    header('LOCATION: home.php');
    exit;
}
header('LOCATION: login.php');
exit;
?>

这是它引用的功能:

        public function validLogin($username,$password) {
        $dbact = new DbInteraction();

        $query = "select * from person";
        $result =  $dbact->interact($query,true);
        $row = mysql_numrows($result);

        $valid = false;
        $userId = 0;
        while ($row = mysql_fetch_array($result)) {
            //Check to see if the username and password are valid
            $validUsername = strcmp($username,$row['username']);
            if($validUsername == 0) {
                $hashedPassword = md5($password . Constants::SALTED);
                $validPassword = strcmp($hashedPassword,$row['password']);
                if($validPassword == 0) {
                    $valid = true;
                    $userId = $row['idperson'];
                }
            }
        }

        if(!$valid) {
            $_SESSION['login_info']['username'] = "error";
            $_SESSION['login_info']['password'] = "";

            header('LOCATION: login.php');
            exit;

            return $userId;
        } else {
            $_SESSION['login_info']['username'] = "";
            $_SESSION['login_info']['password'] = "";

            return $userId;
        }

    }

就像我说的那样,它已经工作了几个月,现在突然间它已经不再存在了,而且我真的很担心。有人可以为我解释一下吗?

万分感谢您的时间!

0 个答案:

没有答案