Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话不起作用_Php_Session - Fatal编程技术网

Php 会话不起作用

Php 会话不起作用,php,session,Php,Session,因此,我开发了一个基本站点,使用$\u SESSION superglobal变量进行登录 因此,代码基本上在检查登录详细信息是否有效后,我将用户详细信息存储到会话中,如下所示: 注意在存储这些值之前,我正在启动会话 $_SESSION['myusername'] = $myusername; $_SESSION['myuserid'] = $userid; $_SESSION['logged_in'] = true; $_SESSION['mystatus'] = $res['user_sta

因此,我开发了一个基本站点,使用$\u SESSION superglobal变量进行登录

因此,代码基本上在检查登录详细信息是否有效后,我将用户详细信息存储到会话中,如下所示:

注意在存储这些值之前,我正在启动会话

$_SESSION['myusername'] = $myusername;
$_SESSION['myuserid'] = $userid;
$_SESSION['logged_in'] = true;
$_SESSION['mystatus'] = $res['user_status'];
这一切都很好,在整个时间里,我做的网站和测试等

现在突然,会话不起作用了,所以很明显,用户登录后无法访问,因为站点正在检查会话中没有的数据

在页面上,我存储了如上所述的数据,之后我可以直接使用:

echo "username".$_SESSION['myusername'];
echo "status".$_SESSION['mystatus'];
它就在那里。但是当用户被引导到另一个页面时,我尝试:

<?php 

session_start();
include ('functions.php');

echo "username".$_SESSION['myusername'];
echo "status".$_SESSION['mystatus']; ....

因此,在第二次请求时保持会话似乎有问题

会话跟踪是通过cookies完成的,您应该检查(使用实时HTTP头或firebug)服务器发送的真实cookie内容。在此cookie中,检查路径设置和给定的服务器名称,以及时间有效性设置,如果出现错误,浏览器将不会发回cookie,并且您将在每个请求上获得一个新会话


WebDeveloper工具栏还包含一些不错的cookie工具,您可以在其中显示包含给定页面的所有cookie详细信息的页面。如果cookie receveid不存在,则浏览器会假定此cookie与此页面无关。大多数情况下,php设置会将cookie.domain设置强制应用于已用DNS以外的其他内容。

检查第二个请求上的会话id是否与第一个请求上的会话id相同。

考虑到您在过去几周内没有更改任何内容,并且它过去一直有效,您应该检查您的服务器是否磁盘空间不足。如果有,它可能会创建对会话的引用,但在呈现页面后可能无法将数据序列化到磁盘


这可以解释为什么输出$\u会话[…]在同一个页面上工作,以及为什么在响应中设置cookie。

在加载所有这些$\u会话[…]变量之前,您正在调用
会话启动()
,对吗?我们在张贴的代码中看不到。是的,我是。对此表示歉意,可以假设我之前提到的想法一直有效。我的不好。另外,在打开
@buymypies之前没有空格输出。不要认为如果它以前工作过,它应该在新服务器上工作。某些模糊的配置设置可能会刺伤您的背部(例如)。好的,但我尚未移动服务器。它上周在此服务器上运行,已经运行了2个月,现在突然停止工作。如何使用firebug查看会话数据?我已在第二次请求中验证了会话ID是否相同。@buymypies with firebug当单击网络请求详细信息上的“+”时,您可以跟踪浏览器接收和发送的真实标题。Cookie可以看作HTTP头(设置Cookie和Cookie头)
Response Headersview source
Date    Sat, 11 Jun 2011 15:18:48 GMT
Server  Apache/2.2.3 (Red Hat)
X-Powered-By    PHP/5.1.6
Expires Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma  no-cache
Content-Length  3772
Connection  close
Content-Type    text/html; charset=UTF-8


Request Headersview source
Host    students.ee.port.ac.uk
User-Agent  Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2.10) Gecko/20100914 Firefox/3.6.10
Accept  text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language en-gb,en;q=0.5
Accept-Encoding gzip,deflate
Accept-Charset  ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive  115
Connection  keep-alive
Cookie  PHPSESSID=1jqqa2oeivq76h2vhtk4uflkv1
Authorization   Basic ZWNlNzAxNDE6cGllczRtZTIy