1. ĐỐI TƢỢNG SESSION
1.3. Lấy giá trị từ session
Sau khi khai báo khởi ạo một số session với giá trịtƣơng ứng của session đó, bạn có thể truy cập các biến session này để lấy giá trị torng trang PHP khác. Chẳng hạn, chúng ta khai báo trang getsession.php để lấy các session của PHP vừa khai báo trong ví dụtrên nhƣ ví dụ 5-3. Ví dụ 5-3: Lấy giá trị từ session <?php session_start(); ?> <HTML> <HEAD> <TITLE>::Welcome to PHP</TITLE> </HEAD> <BODY> <h4>Get Session</h4>
<?php echo "UserID: ". $userid."<br>"; echo "Email: ".$email."<br>"; echo "FullName: ".$fullname;
?>
</BODY> </HTML>
Khi triệu gọi trang getsession.php trên trình duyệt bạn trình bày giá trị của session userid, email và fullname nhƣ hình 5-3.
60 Tuy nhiên, trong trƣờng hợp bạn truy cập một biến session chƣa khởi tạo trƣớc
đó thì l64i sẽ phát sinh. Ví dụtrong trƣờng hợp này chúng ta truy cập biến session có
tên $address nhƣ ví dụ 5-4.
Ví dụ 5-4: Truy cập session chƣa tồn tại
<?php session_start(); ?> <HTML> <HEAD> <TITLE>::Welcome to PHP</TITLE> </HEAD> <BODY> <h4>Get Session</h4>
<?php echo "UserID: ". $userid."<br>"; echo "Email: ".$email."<br>"; echo "FullName: ".$fullname;
echo "Address: ".$address; ?>
</BODY> </HTML>
Khi triệu gọi trang unregistersession.php trên trình duyệt thì lỗi phát sinh nhƣ
hình 5-4.
61 Để kiểm tra session đó có tồn tại hay chƣa bạn sử dụng hàm session_is_register trong trang checksession.php. Đối với trƣờng hợp này chúng ta cần kiểm tra 4 session
trƣớc khi truy cập đến chúng nhƣ ví dụ 5-5. Ví dụ 5-5: Kiểm tra session <?php session_start(); ?> <HTML> <HEAD> <TITLE>::Welcome to PHP</TITLE> </HEAD> <BODY> <h4>Get Session</h4>
<?php if(session_is_registered("userid")) echo "UserID: ". $userid."<br>"; if(session_is_registered("email")) echo "Email: ".$email."<br>"; if(session_is_registered("fullname")) echo "FullName: ".$fullname; if(session_is_registered("address")) echo "Address: ".$address;
?>
</BODY> </HTML>
Khi triệu gọi trang checksession.php thì kết quả sẽtrình bày nhƣ hình 5-5.
Hình 5-5: Không có lỗi phát sinh
Chú ý rằng, khi sử dụng đến session, bạn phai khởi động chúng bằng session_start() nếu không thì phải khai báo trong php.ini.
62