10/10/2018, 10:29
Giải thích $_SESSION, $_COOKIE
Đệ mới theo học PHP có Bác nào giải thích giủmhai cái biến này vơi $_SESSION, $_COOKIE . NẾu có thể các Bác có thể giải thích giùm khi nào dùng $_SESSION và khi nào dùng $_COOKIE.
Đa tạ các chuyên gia PHP.
"Hữu xạ tự nhiên hương"
Đa tạ các chuyên gia PHP.
"Hữu xạ tự nhiên hương"
Bài liên quan
First, Read in PHPmanual.
_ Bạn có thể sử dụng biến session qua mọi trang:
+ Đăng ký session: $_SESSION["user_name"] = "Hynohun";
+ Gọi session: echo $_SESSION["user_name"] (hoặc echo $user_name cũng ra kết quả)
* Cookie tồn tại máy người sử dụng, lưu dưới dạng file text, nếu bạn vào "Tools > Internet Options > Settings... > View Files.." bạn sẽ thấy nhiều file cookie tồn tại trên máy mình. Biến cookie được sử dụng bởi trang web đã tạo ra cookies và chỉ mất khi bị xóa hoặc gán giá trị trống (chứ không tự mất như session), vậy cookie tồn tại cho đến khi bị xóa (bởi bạn hoặc bởi trang web tạo ra cookie).
+ Đăng ký cookie: setcookie ("user_name", "Hynohun",time()+3600);
+ Gọi cookie: echo $_COOKIE["user_name"] (hoặc echo $user_name cũng ra kết quả)
Session ID này có chu kỳ sống cho đến khi chúng hết hạn sử dụng (Expiry), bạn có thể truyền giá trị của Session ID với URL hay ghi chúng ra Cookie.
Chú ý:
Thời gian hết hạn sử dụng của session do cấu hình của trình chủ web server quy định.
Session ID là thông tin duy nhất lưu trữ trên client side, các biến session được lưu trữ trong một tập tin dạng text trên Server.
Ngoài Session ID, bạn có thể khởi tạo và sử dụng một số session do bạn khai báo, tất cả session này có giá trị cho mỗi người dùng khi họ truy cập website.
Để sử dụng Session trước tiên bạn cần khởi động chúng. Trong trường hợp khởi động, nếu chưa có Session ID thì lập tức Session ID sẽ được tạo ra. Trong trường hợp Session ID đã tồn tại, chúng sẽ được nạp vào biến session và bạn có thể sử dụng chúng.
Biến Session sẽ hết hiệu lực khi nó hết hạn, người dùng đóng Browser đang duyệt trang web đó. Ngoài ra bạn có thể sử dụng khai báo xóa sổ hay hủy bỏ biến Session đó.
Cú pháp khởi động Session.
<?php
session_start();
?>
Lưu ý: Bạn nên đặt session_start(); trên cùng của code trong trang web.
Đăng ký biến Session.
<?php
session_start();
$name="Mai Trang";
session_register("name");
?>
Trong ví dụ trên một biến Session name đã được đăng ký. Biến session này có giá trị là: "Mai Trang".
Sử dụng biến Session.
<?php
session_start();
$name="Mai Trang";
session_register("name");
echo "Name: ".$_SESSION['name'];
?>
Trong ví dụ trên, chúng tôi đã đăng ký một biến session và hiển thị giá trị của biến đó.
Kết quả của ví dụ như sau:
Name: Mai Trang.
Truyền và nhận Session.
Trong ví dụ này, chúng tôi sẽ sử dụng 2 trang: page01.php và page02.php. Trang page01.php có nhiệm vụ khởi tạo và đăng ký biến session. Trang page02.php có nhiệm vụ nhận về biến session và hiển thị giá trị của Session đó.
Trang page01.php.
<?php
session_start();
$name="Mai Trang";
$email=" maitrang022@yahoo.com Địa chỉ email này đã được bảo vệ từ spam bots, bạn cần kích hoạt Javascript để xem nó. ";
session_register("name");
session_register("email");
?>
<a href="/page02.php">Click</a>
Trang page02.php.
<?php session_start(); ?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<body>
Hiển thị giá trị của session.<br />
<?php
echo "Name: ".$_SESSION['name']."<br/>";
echo "Email: ".$_SESSION['email'];
?>
</body>
Kết quả của ví dụ trên sẽ như sau:
Hiển thị giá trị của session.
Name: Mai Trang
Email: maitrang022@yahoo.com Địa chỉ email này đã được bảo vệ từ spam bots, bạn cần kích hoạt Javascript để xem nó.
Hủy Session.
Có 2 cách hủy Session: Hủy 1 session hoặc Hủy toàn bộ Session.
unset($_SESSION['email']); //Hủy Session có tên: email
session_destroy(); // Hủy tất cả session.