Class User{
public $id;
public $username;
public $password;
public $email;
public $steam;
public $donator;
public $active;
public function __construct($username, $email, $password, $id, $active, $donator, $steam){
$this->id = $id;
$this->username = $username;
$this->password = $password;
$this->email = $email;
$this->steam = $steam;
$this->donator = $donator;
$this->active = $active;
}}
là lớp học của tôi (giản thể)
sau đây là mã của tôi:
$_SESSION['loggedIn'] = $user;
$ user là một ví dụ lớp tài
bây giờ điều này là những gì print_r ($ _ SESSION [' loggedIn ']) hiển thị cho tôi:
__PHP_Incomplete_Class Object
(
[__PHP_Incomplete_Class_Name] => User
[id] => 22
[username] => xxxx
[password] => xxxx
[email] => xxxx
[steam] => 1234567
[donator] => 0
[active] => 1
)
trong đó xxxx là giá trị đúng.
nhưng khi tôi cố truy xuất dữ liệu từ phiên của mình. như vậy: "$ _SESSION ['loggedIn'] -> username" nó trả về một giá trị null cho tôi.
bản sao có thể có của ["Lưu trữ đối tượng PHP trong biến số phiên"] (http://stackoverflow.com/questions/2042271/storing-a-php-object-in-a-session-variable), [" Phiên PHP với một đối tượng không đầy đủ "] (http://stackoverflow.com/questions/1055728/php-session-with-an-incomplete-object), [" Vấn đề với đối tượng phiên PHP "] (http: // stackoverflow. com/questions/5348457/problem-with-php-session-object). – outis
Xem thêm ["PHP: Lưu trữ 'đối tượng' bên trong $ _SESSION"] (http://stackoverflow.com/questions/132194/php-storing-objects-inside-the-session), ["Tôi có thể lưu trữ một đối tượng Trong một phiên? "] (Http://www.phpriot.com/articles/intro-php-sessions/8). – outis
tôi sẽ không làm điều đó. Bạn có thể kết thúc với dữ liệu cũ, nếu, ví dụ, người dùng sử dụng một máy tính khác để thay đổi email của mình khi đăng nhập trên một máy tính khác. Hoặc nếu bạn xóa người dùng khỏi cơ sở dữ liệu, ứng dụng của bạn sẽ vẫn nghĩ rằng người dùng đó tồn tại. Thay vào đó, tôi sẽ chỉ lưu trữ id người dùng trong phiên và truy xuất phần còn lại của thông tin từ cơ sở dữ liệu khi xử lý các yêu cầu từ người dùng. – shesek