$ _Session不工作,如何以正确的方式使用它?

时间:2017-08-08 12:30:25

标签: php session-variables

当我尝试直接使用会话时,我遇到了一个大问题......

import pandas as pd

df = pd.read_csv(filename, sep=',', nrows=None)
a = df.sample(n = 2)

编辑:

/* session_start(); //already tried */
if (isset($_SESSION) == false)
{
  session_start();
  $_SESSION['PDO'] = new dataBase();
  $_SESSION['Debug'] = 'Inside the isset';  
}
else
{
  $_SESSION['Debug'] = 'Outside the isset';  
}

输出总是"我创建了一个会话并将一些数据存储到其中#34;

我开始认为问题可能来自我的班级

session_start();
if (!isset($_SESSION['PDO'])) // the session is new
{ 
  $dbObject = new dataBase(); // store the data into the session
  $_SESSION['PDO'] = $dbObject;
  echo 'I created a session and stored some data into it';
} 
else 
{ // there is data into the session
  var_export($_SESSION);
  echo 'I have some data in the session';  
}

谢谢!

5 个答案:

答案 0 :(得分:2)

在访问$_SESSION之前,首先需要使用页面顶部的session_start();初始化会话

答案 1 :(得分:0)

$_SESSION变量在调用session_start()之前不存在。需要在每个页面上调用此函数。

以下是您需要做的事情:

session_start(); // start the session

if (!isset($_SESSION['PDO'])) { // the session is new
  $_SESSION['PDO'] = new dataBase(); // store the data into the session
  echo 'I created a session and stored some data into it';
} else { // there is data into the session
  echo 'I have some data in the session';  
}

在页面上的第一次调用中,会话启动并将pdo数据存储到其中。然后在此页面上的下一次调用中,会话从服务器存储加载,pdo数据在会话中

请注意,如果您从命令行使用php

,会话将无效

答案 2 :(得分:0)

session_start();

if (!isset($_SESSION['PDO']))
{
  $_SESSION['PDO'] = new dataBase();
  $_SESSION['Debug'] = 'Inside the isset'; 
}
else
{
  $_SESSION['Debug'] = 'Outside the isset';  
}
你有类似的东西吗?

编辑:

if(!isset($_SESSION['test']))
{
    $obj = new stdClass();
    $_SESSION['test'] = $obj;
}
else{
    var_export($_SESSION);
}

试试这个

答案 3 :(得分:0)

session_start()之前使用$_SESSION Click here for more details .....

答案 4 :(得分:0)

最后,我决定永远不创建我的对象,只使用静态函数 像dataBase :: connectDB();等...