उपयोगकर्ता प्रमाणीकृत होने के बाद, मैंने कक्षा ऑब्जेक्ट को क्रमबद्ध किया और इसे सत्र में संग्रहीत किया। हालांकि, मैं unserialize() का उपयोग करने के बाद भी अपने आउटपुट मुद्रित प्रतीत नहीं कर सकता।
सत्र चर बनाना:
if(!isset($_SESSION['myObj']) && empty($_SESSION['myObj'])) {
$myObj = new User($row['user_id'], $row['username'], $row['user_level']);
$_SESSION['username']= $myObj->usr_name;
$s_Obj = serialize($myObj);
$_SESSION['myObj'] = $s_Obj;
एक अलग पेज से एक्सेस करना, कोई उत्पादन:
$sObj = $_SESSION['Obj'];
$myObj = unserialize($s_Obj);
echo $myObj->usr_name;
हालांकि यह काम करता है, तो वहाँ मेरी कक्षा के साथ कुछ भी गलत नहीं है। मैं दोनों पृष्ठों में session_start()
का भी उपयोग कर रहा हूं।
echo $_SESSION['username'];
कक्षा उपयोगकर्ता:
<?php
class User{
public $usr_id;
public $usr_name;
public $usr_level;
public $last_access_login;
public function __construct($id, $usr_name, $usr_level) {
$this->usr_id = $id;
$this->usr_name = $usr_name;
$this->usr_level = $usr_level;
$this->last_access_login = date("F d Y H:i:s.",time());
}
}
?>
संपादित करें:
यह मेरा vardump है
array
'myObj' =>
object(__PHP_Incomplete_Class)[1]
public '__PHP_Incomplete_Class_Name' => string 'User' (length=4)
public 'usr_id' => string '3' (length=1)
public 'usr_name' => string 'student' (length=7)
public 'usr_level' => string '3' (length=1)
public 'last_access_login' => string 'November 26 2011 20:12:38.' (length=26)
'url' => string '/researchportal/proposal' (length=24)
क्या आपने अपने सभी पृष्ठों पर 'session_start() 'का उपयोग किया था? और 'उपयोगकर्ता()' कैसा दिखता है? – mc10
'$ _SESSION ['myObj'] = $ myObj' पर्याप्त होना चाहिए, मुझे लगता है - PHP को आपके लिए क्रमबद्धता को संभालना चाहिए। – lonesomeday
@lonsesomeday मैंने यह भी कोशिश की, लेकिन यह काम नहीं किया। – user478636