不会通过DB的值设置PHP SESSION

时间:2013-03-22 14:55:18

标签: php html sql

问题:我已经构建了一个登录系统,它在我的localhost上工作正常 Localhost:这里有效。
FTP服务器:这里不起作用。

我已经尝试解决这个问题7个小时了。 $_POST正在获取值,如果我设置了$_SESSION,它也会显示该值。 数据库信息是正确的。

我认为问题在于连接到DB以获取值。在我做错的地方,我不知道,如上所述,现在试图解决这个问题很长一段时间。

登录文件:

<?php
ini_set("default_charset","iso-8859-1");
session_start();

require_once("db_config.php");
echo $_SESSION['USER_ID']." - ";


if(!empty($_POST['username']) AND !empty($_POST['password'])) {

    $username_db = $_POST['username'];
    $password_db = $_POST['password'];

    if(isset($username_db) AND isset($password_db)) {

        $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
        if(!$link) {
            die('Failed to connect to server: ' . mysql_error());
        }
        $db = mysql_select_db(DB_DATABASE);
        if(!$db) {

            die("Unable to select database");
        }
        $qry="SELECT * FROM user_table WHERE email='".$username_db."' OR alias='".$username_db."' AND password='".$password_db."' ";

        $result=mysql_query($qry);


        if (!$result) {
            die('Invalid query: ' . mysql_error());
        }

        while($rows=mysql_fetch_row($result)) {


            $_SESSION['USER_ID'] = $rows['id'];
            header("Location: index.php");
        }

    }

} 

if(!empty($_SESSION['USER_ID'])) {

        $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
        if(!$link) {
            die('Failed to connect to server: ' . mysql_error());
        }

        $db = mysql_select_db(DB_DATABASE);
        if(!$db) {
            die("Unable to select database");
        }

        $qry="SELECT * FROM user_table WHERE id='".$_SESSION['USER_ID']."'";

        $result=mysql_query($qry);
        if (!$result) {
            die('Invalid query: ' . mysql_error());
        }
        while($rows=mysql_fetch_array($result)) {

            header("Location: index.php");
        }
}


?>

检查是否设置了登录SESSION:我认为这里有一些混乱的代码。

<?php
ini_set("default_charset","iso-8859-1");
session_start();

require_once("db_config.php");

    if(!empty($_SESSION['USER_ID'])) {
        $user_id = $_SESSION['USER_ID'];

        $link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
        if(!$link) {
            die('Failed to connect to server: ' . mysql_error());
        }

        $db = mysql_select_db(DB_DATABASE);
        if(!$db) {
            die("Unable to select database");
        }

        $qry="SELECT * FROM user_table WHERE id='".$user_id."'";

        $result=mysql_query($qry);
        if (!$result) {
            header("Location: login.php");
            die('Invalid query: ' . mysql_error());
        }
        while($rows=mysql_fetch_array($result)) {

            $_SESSION['ALIAS'] = $rows['alias'];
            $_SESSION['FIRST_NAME'] = $rows['first_name'];
            $_SESSION['LAST_NAME'] = $rows['last_name'];
            $_SESSION['EMAIL'] = $rows['email'];
            $_SESSION['USER_LEVEL'] = $rows['user_level'];
        }   

    } else { header("Location: login.php"); }


?>

0 个答案:

没有答案