可能重复:
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[],然后我重定向到家里.
发布于 2012-02-01 06:44:44
一开始你需要session_start()
。
发布于 2012-02-01 06:44:59
您应该在脚本的开头调用session_start()
。确保在您需要访问会话变量的每个页面上都调用它。
发布于 2012-02-01 06:55:48
确保正在调用session_start()。使用篡改数据检查发送和接收请求的标头。您需要从服务器上查找Set-Cookie头,从客户端查找Cookies头。这应该包含您的PHPSESSID。如果您没有看到这个,那么您的会话就不会启动。祝好运!
https://stackoverflow.com/questions/9097743
复制相似问题