我目前編碼我自己的CMS的樂趣,但是當我使用$ _SESSION,這是行不通的。這次會議沒有保存......
有我的代碼:
<?php
include('header.php');
if (isset($_SESSION['logged_in']))
{
$link = 'profile.php';
$link_name = 'Profile';
}
else
{
$link = 'login.php';
$link_name = 'Login';
}
if (isset($_POST['action']))
{
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$password = md5($password);
$user = mysql_query("SELECT * FROM users WHERE `username`='".$username."'");
if (mysql_num_rows($user) == 1)
{
while ($userinfo = mysql_fetch_array($user))
{
if ($userinfo['banned'] != true)
{
$_SESSION['user_id'] = $userinfo['id'];
$_SESSION['username'] = $userinfo['username'];
$_SESSION['logged_in'] = "true";
header('Location: index.php');
}
else
{
header('Location: login.php?error=banned');
}
}
}
else if (mysql_num_rows($user) == 0)
{
header('Location: login.php?error=not-found');
}
}
?>
在代碼中,我得到了我的數據庫中的用戶信息,然後我檢查,如果用戶沒有被禁止。如果沒有,我把我的$ _SESSION []和我重定向到家...
除非它在'header.php'中,否則你省略了'session_start()'。在訪問或設置'$ _SESSION'中的任何內容前,您必須調用它,在訪問'$ _SESSION'的每個腳本中。 – 2012-02-01 14:44:03
你有session_start();在每個頁面的頂部? – dSquared 2012-02-01 14:45:33
@Michael它在'header.php'中... – 2012-02-01 14:45:42