php管理会话会话

时间:2014-02-05 06:58:19

标签: php mysql session error-handling internal-server-error

我正在尝试使用php为我的网站创建一个管理员帐户。我正在使用以下代码,我得到“500内部服务器错误”我不知道我做错了什么。 我的index.php文件中有以下php脚本,用于admin。

<?php
session_start();
if(!isset($_SESSION["manager"])){
    header("Location: admin_login.php");    
    exit(); 
}

$id = preg_replace('#[^0-9]#i', '',  $_SESSION["id"]);
$manager = preg_replace('#[^0-9]#i', '', $_SESSION["manager"]);
$password = preg_replace('#[^A-Za-z0-9]#i', '', $_SESSION["password"]);

include "../scripts/db_connect.php";
$sql_str = mysql_query("SELECT * FROM admins WHERE userName = '$userName' AND password =       '$password' LIMIT 1");
$exist_Count = mysql_num_rows('$sql_str');

if($exist_Count == 0){
    header('location: ../index.php');
    exit(); 
}
?>

以下代码用于admin_login.php文件,我要求用户登录             

<?php
if(isset($_POST["userName"]) && isset($_POST["password"])){
    $manager = $_POST["userName"];
    $password = $_POST["password"];
    include "../scripts/db_connect.php";
    $results = mysql_query("SELECT id FROM admins WHERE userName = '$manager' AND password ='$password' LIMIT 1");

$existCount = mysql_num_rows($results);
if($existCount == 1){
    while($row  = mysql_fetch_array($results)){
        $id = $row["id"];   
    }
    $_SESSION["id"] = $id;
    $_SESSION["manager"] = $manager;
    $_SESSION["password"] = $password;
    header("Location: index.php");
    exit();
}
else{
    echo 'Invalid Information';
    exit(); 
    }

}
?>

1 个答案:

答案 0 :(得分:1)

您忘了在session_start()

上添加admin_login.php
<?php
session_start(); //<---------- Here
if(isset($_POST["userName"]) && isset($_POST["password"])){
    $manager = $_POST["userName"];
    $password = $_POST["password"];
    include "../scripts/db_connect.php";
    $results = ......
    //.... rest of your code............