0

我在同一个文件夹中创建了两个文件 1.php 2.php(我使用的是 xampp)。在 1.php 中使用了 session_start() 并且还使用了 $_session['name']=abc。然后我打开 2.php 检查会话是否创建

2.php:

<?php

 if(isset($_session['name'])){

  echo $_session['name'];
 }
  else{
  echo "no session found!!";

  }
   ?>

它一直说“找不到会话!”

请帮助...

我搜索了几个站点,他们说默认情况下 d session 用于包含 d 脚本的整个文件夹,而 session_set_cookie_params($lifetime,'/') (其中 $lifetime=60*60)也没有帮助。另一方面,如果在 d 结束 of1.php 我使用 require("2.php") 则显示 abc。

4

3 回答 3

2

您所做的是正确的1.php,但是,2.php必须在使用之前启动会话。

2.php

<?php
 session_start();
 if(isset($_SESSION['name'])) {
    echo $_SESSION['name'];
 }
 else{
     echo "no session found!!";
 }
?>
于 2013-07-06T11:32:25.310 回答
1

您需要session_start();在要访问变量的每个页面的顶部再次调用$_SESSION,而不仅仅是在要启动会话的页面上。

<?php
session_start();
if(isset($_SESSION['name'])){
    echo $_SESSION['name'];
}else{
    echo "no session found!!";
}
?>
于 2013-07-06T11:29:22.360 回答
1

您缺少访问变量所需session_start()的文件顶部。2.php$_SESSION

<?php
session_start(); // missing
if(isset($_SESSION['name']))
{
    echo $_SESSION['name'];
}
else
{
    echo "no session found!!";
}
?>
于 2013-07-06T11:30:27.973 回答