0

我需要知道用户是否已登录并需要在 CakePHP 之外但在同一个域上访问他的信息。

我试过下面的代码

session_start();
session_name('CAKEPHP');
if(isset($_COOKIE['CAKEPHP'])){
  session_id($_COOKIE['CAKEPHP']);
  echo "isset<br/>";
  var_dump($_SESSION);
}
echo "user :".$_SESSION['userCakeUser']['email'];

我有以下输出:

isset

array(1) {

 ["userCakeUser"]=> object(__PHP_Incomplete_Class)#1 (7)
   { ["__PHP_Incomplete_Class_Name"]=> string(12) "loggedInUser" 
    ["email"]=> string(17)  "a@a.net"<
    ["hash_pw"]=> string(65) "dsfsdfsdfsdfsdfsdfddsfsdfsdfsdf" 
    ["user_id"]=> int(4) ["title"]=> string(10) "New Member"   
    ["displayname"]=> string(5) "Toto"
    ["username"]=> string(5) "Toto"
  }
}
Fatal error: Cannot use object of type __PHP_Incomplete_Class as array on line 15

例如,请你告诉我如何访问电子邮件。

4

2 回答 2

1

错误消息为您提供了有关错误的足够信息:

Fatal error: Cannot use object of type __PHP_Incomplete_Class as array on line 15

这是您正在处理的对象。尝试:

echo "user :".$_SESSION['userCakeUser']->email;
于 2015-11-20T12:45:37.347 回答
0

谢谢@Inigo Flores,

它更好,但我有以下错误:

注意: main():脚本试图执行方法或访问不完整对象的属性。请确保在调用 unserialize()之前加载了您尝试操作的对象的类定义“loggedInUser”,或提供 __autoload() 函数以在第 16 行加载类定义

所以我已经包括了这个类:

include("path_to_cake_php/models/class.user.php" )

于 2015-11-20T18:36:43.700 回答