【问题标题】:Why is my session failing to work?为什么我的会话无法正常工作?
【发布时间】:2014-12-10 09:17:37
【问题描述】:

打开另一个文件时我的会话确实无法恢复

我有 2 页,test.phptest2.php。下面列出了我的每个文件。

test.php:

<?php
  session_save_path('sessBin');
  session_id('mySessionID');
  session_start();
  $_SESSION[1]="yo";
  echo $_SESSION[1];
?>
<a href="test2.php">go to test 2</a>

test2.php:

<?php
  session_save_path('sessBin');
  session_id('mySessionID');
  session_start();
  echo $_SESSION[1];
  echo "bleh";
?>

第一页返回:

"yo" &lt;a href="test2.php"&gt;go to test 2&lt;/a&gt;

但是,当点击链接转到 test2.php 时,只有这个返回:

"bleh"

我做了一些研究,发现必须启用 cookie。嗯,他们是……那么有什么问题?

注意:(后来的发现)

我确实注意到 sessBin 中有几个文件(包括 sess_mySessionID),所以会话被存储了。但是,文件是空的,会话似乎没有恢复

【问题讨论】:

  • test2,去掉session_start();上面的2行
  • @Dagon 好吧,我会尝试...我认为这不会起作用,因为,如果我没记错的话,我最初是这样编码的,但它仍然不起作用。我会更改它并让您知道...
  • @Dagon 没用...
  • 您使用的是什么操作系统; Unix,Windows?我猜测更改您的session_save_path 可能会导致文件权限问题或只是缺少目录。如果删除 both 文件的前两行,会话是否有效? (在开始 PHP 标记之后)

标签: php session session-variables


【解决方案1】:

test1.php

  // session_save_path('sessBin');
  // session_id('mySessionID');
  session_start();
  $_SESSION['test'] ="yo";
 echo $_SESSION['test'];

<a href="test2.php">go to test 2</a>

test2.php

    // session_save_path('sessBin');
    // session_id('mySessionID');
   session_start();
   echo $_SESSION['test'];
   echo "bleh";

为我工作!

【讨论】:

  • 你能给我一个链接,表明它有效吗?
【解决方案2】:

session_start 需要在每个页面的顶部定义,就在开始的 php 标记之后,在每个期望存在会话数据的页面上。您必须在处理任何其他会话函数或变量之前执行此操作。

** 根据您的评论更新答案**

检查 test2.php 中开始 php 标记之前的空格。此外,启用错误报告。您可能在导致 session_start() 失败的会话调用之前发送了一些东西。

【讨论】:

  • " 在开始的 php 标签之后" no 反正他已经有了
  • 好吧,我查过了。我没有发现任何错误。但是,我确实注意到sessBin 中有几个文件(包括sess_mySessionID),因此会话被存储。但是,文件是空的,会话似乎没有恢复
【解决方案3】:

试试这个:

config.php

<?php
    session_start();
?>

在顶部的所有其他文件中添加以下内容:

include'config.php';

这样,您将始终拥有一个文件,您可以在其中将您可能需要的重要内容也放在其他页面上,这样您就不必每次都重新输入。

【讨论】:

  • 我无法访问config.php。我的网站托管在我无权访问的其他人的服务器上
  • @AnOriginalAlias Oke,然后把 session_start();在每个页面的顶部,这也应该有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-10
  • 2018-11-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多