[英]Use session variable as object in PHP
Need some assistance. 需要帮助。 I am getting the following errors 我收到以下错误
Fatal error: Call to a member function getName() on string in...... 致命错误:在字符串in中调用成员函数getName()……
This refers to the line on by index.php
这是指index.php
上的行
$session->getName()
The code. 编码。
index.php 的index.php
include 'classes/user.php';
$session = isset($_SESSION['userObj']) ? $_SESSION['userObj'] : "";
include 'login.php';
$session->getName()
login.php 的login.php
session_start();
$user = new User();
$user->setAll($db_id,$db_fullname,$db_username,$db_rights, $db_last_login,$db);
$_SESSION['userObj'] = $user;
How do you pass objects correctly via session vars? 如何通过会话变量正确传递对象? I've checked on this site and its advised to do it like i have. 我已经检查了这个网站,并建议像我一样去做。
I know i'm not doing the else statement right on the isset
part. 我知道我没有在isset
部分上执行else语句。 Should i be doing. 我应该在做什么。
else{ $session = new User();}
Use serialize()
使用serialize()
//Set object as session
$user = new User();
$_SESSION['userObj'] = serialize($user);
//Get object
$user = unserialize($_SESSION['userObj']);
FYI, don't forget to write session_start();
仅供参考,别忘了写session_start();
on first line of every page to use $_SESSION
. 在每个页面的第一行上使用$_SESSION
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.