가능한 중복 :
PHP session seemingly not working
나는 현재 재미를 위해 내 자신의 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'에 액세스하거나 설정하기 전에 반드시 호출해야합니다. –
당신은 session_start()를 가지고 있습니까? 각 페이지의 상단에? – dSquared
@Michael'header.php'에 있습니다 ... –