PHP会话数据未被存储

前端之家收集整理的这篇文章主要介绍了PHP会话数据未被存储前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在创建一个登录系统,但是当用户登录时,它实际上并不存储我希望它在会话中的任何数据.我甚至检查了会话的文件,它是空的.我有session_start();在所有页面上.还有什么我可能做错了.下面是两个主要页面代码.

登录代码

<?
if ($DEBUG == true) {
    error_reporting(E_ALL);
}
require "header.PHP";

require_once "dbinterface.PHP";
require_once "user.class.PHP";
require_once "config.inc.PHP";

$db = new db($DB['host'],$DB['user'],$DB['pass'],$DB['database']);

$u_result = $db->run("select user_id from users where user_name = '" . $db->escape($_POST['user_name']) . "'");

if ($u_result == false) {
    $url = 'Location: error.PHP?id=8';
    header($url);
}

if (count($u_result) < 1) {
    $url = 'Location: error.PHP?id=3';
    header($url);
}

$user = new user($u_result[0]['user_id']);

if ($user->match_password($_POST['pass']) == true) {
    $_SESSION['authenticated'] = true;
    $_SESSION['user_id'] = $u_result[0]['user_id'];
    $_SESSION['user'] = $user;
} else {
    $url = 'Location: error.PHP?id=4';
    header($url);
}
session_write_close();
header('Location: index.PHP');

?>

包含在每个页面中的标题

<?PHP
if (!session_start()) {
    $url = "Location: error.PHP?id=13";
    header($url);
}
?>

一点背景:

> Windows 7(也尝试在Windows上
>服务器2008,但目前在7)PHP
> 5个localy托管问题存在
>对于每个人都存在问题
>浏览器

这里有一些建议(我真的不知道发生了什么和/或为什么;所以他们只是建议;也许会解决问题^^).

首先,有几个问题:
(至少如果这些建议都不起作用,它们至关重要)

>您使用的是哪个版本的PHP / Apache?
>你在Windows上吗? Linux?
>如果您在“生产”服务器上,您使用的是哪种托管服务?也许它有什么特别之处?
>每个人都有问题吗?

>浏览网站时是否总有问题?
>当您从其他浏览器访问该站点时它是否仍然存在?
>另一台电脑怎么样?

>如果你使用类似var_dump($_ SESSION)的东西;死;在会话中设置数据的脚本的末尾,它给出了什么?

第一个想法:如果你设置一些标题来禁用浏览器的缓存怎么办?
像这样的东西,例如:

session_start();
header("Cache-control: private");

第二个想法(至少如果你在Windows上):你试过禁用你的防病毒/防火墙吗?
是否在客户端的浏览器中正确创建了会话cookie?
如果您使用子域(或不使用):cookie的域是否正常?它的失效日期怎么样?

第三个想法:

>你说error_reporting设置为E_ALL,这很好
> display_errors怎么样?它是否设置为On以便显示错误
> PHP / Apache的error_log中有什么有趣的东西吗?

另一个:你确定在session_start之前绝对没有任何东西进入输出吗?甚至没有白色空间?

还有一个:您确定目录/文件的权限吗?

>在目录中写入的权限意味着您可以创建新文件和/或删除文件.

>但是,如果我没记错,不是你可以修改它们

>要修改文件,您还需要对文件进行写访问

>实际上,您的网络服务器需要对这些文件的写访问权^^

会话目录以及创建的(空)文件的权限是什么?

我开始没有想法……运气好的话,也许其中一个会是正确的……或者帮助你找出合适的人选!

祝好运 !

猜你在找的PHP相关文章