为什么我的会话无法正常工作?

时间:2014-12-09 20:03:50

标签: php session session-variables

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

我有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" <a href="test2.php">go to test 2</a>

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

"bleh"

我做了一些研究,发现必须启用cookie。好吧,他们是......所以出了什么问题?

注意:(后来发现)

我注意到sessBin中有几个文件(包括sess_mySessionID),因此存储了会话。但是,文件为空,会话似乎没有恢复

3 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

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 :(得分:-1)

试试这个:

的config.php

<?php
    session_start();
?>

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

include'config.php';

这样你就会有一个文件,你可以在其他页面上放置你可能需要的重要内容,所以你不必每次都重新输入它。