2016-10-02 3 views
2

助けが必要です。私は、次のエラーPHPのオブジェクトとしてセッション変数を使用

Fatal error: Call to a member function getName() on string in......

これはコードindex.php

$session->getName() 

によって上の行を参照し取得しています。

のindex.php

include 'classes/user.php'; 
$session = isset($_SESSION['userObj']) ? $_SESSION['userObj'] : ""; 
include 'login.php'; 

$session->getName() 

login.php

session_start(); 
$user = new User(); 
$user->setAll($db_id,$db_fullname,$db_username,$db_rights, $db_last_login,$db); 

$_SESSION['userObj'] = $user; 

どのようにセッションVARS経由で正しくオブジェクトを渡すのですか?私はこのサイトをチェックして、私のようにそれをするようにアドバイスしました。

私はisset部分のelse文を正しく実行していないことを知っています。私はしなければならない。

else{ $session = new User();} 

答えて

0

使用serialize()

//Set object as session 
$user = new User(); 
$_SESSION['userObj'] = serialize($user); 

//Get object 
$user = unserialize($_SESSION['userObj']); 

FYI、$_SESSIONを使用するすべてのページの最初の行にsession_start();を書くことを忘れないでください。

+0

それは問題を解決しました...私はsession_start()を持っていました。 login.phpでのみ... とindex.php $ user = $ _SESSION ['userObj']; は以下のものです: 'login.php' ... まもなく私は$ user行の上にインクルードしました。 シリアライズしていただきありがとうございます – Leo505

+0

偉大な、将来の参照のためにupvoteを忘れないでください..すべてのベスト –

関連する問題