私は現在、楽しみのために私自身の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'にあります... –