首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >包括文件-会话错误

包括文件-会话错误
EN

Stack Overflow用户
提问于 2011-01-26 00:30:11
回答 2查看 1.1K关注 0票数 0

对于一个小的评论小部件。我正在尝试将这个小部件按需要将包含到任何.php文件中--对于用户来说,这是最实用的方式,只需:

代码语言:javascript
复制
<?php include "comments.php"; ?>

我正在尝试在小部件中创建一个admin-login-panel,以提供日志管理员来删除这些帖子(以及更多其他选项)。

问题是:我现在必须开始使用$_SESSION,以防止管理员不得不在每次更改/页面刷新时反复登录。但是,使用小部件内部的会话,我只能看到头和会话警告...olready started... ....and等等。

不是强迫用户将顶级“会话_开始”放到页面中的选项,我想保持简单。只需php-include小部件。

我还可以继续使用php会话吗?还是应该尝试其他的方法?谢谢您的建议。

EN

回答 2

Stack Overflow用户

发布于 2011-01-26 00:35:31

好的,根据您给我们的信息,这就是您的问题所在: PHP会话使用了一个特殊的cookie,该cookie是在头文件中发送的。因此,您必须在发送给浏览器的任何其他内容之前执行一个session_start();这样它就可以在标题中设置cookie。因此,不幸的是,您将不得不在其包括一个小部件之外启动一个会话。

为什么在小部件之外启动会话不是一个选项?您对其他PHP页面没有控制权吗?

票数 1
EN

Stack Overflow用户

发布于 2011-01-26 00:39:39

可以将您的站点配置为在每个页面上自动启动会话。

您通常可以通过如下所示的.htaccess文件修改目录的PHP配置值来实现这一点:

代码语言:javascript
复制
<IfModule mod_php5.c>
  php_flag session.auto_start on
</IfModule>

此外,我建议在include中引用您网站的根路径,这样您就可以在任何页面上使用该注释include语句,而不必向路径中添加一堆‘./.././.’。

代码语言:javascript
复制
<?php 
   include($_SERVER['DOCUMENT_ROOT'] . "/header.php"); 
?>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4800383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档