Hàm session và cookie trong PHP đều có chức năng lưu dữ liệu tạm thời trên trình duyệt. Nhưng chúng có sự khác nhau bài viết này sẽ chỉ ra điểm khác nhau giữa $_session và $_cookie như thế nào.
$_session trong PHP
Session dùng để lưu trữ dữ liệu trên Server. Mặc định nó sẽ giữ thông tin cho tới khi bạn đóng trình duyệt.
Hay session cũng được gọi là một phiên làm việc. Khi kết thúc một phiên (Huỷ session) bạn sẽ tạo ra 1 phiên làm việc mới không liên qua gì tới phiên cũ nữa.
Các ứng dụng của Session dùng cho ứng dụng giỏ hàng, đăng nhập.
Ví dụ về số lần ghé thăm trang (Tạo ra 1 tập tin là session.php)
<?php session_start(); if( isset( $_SESSION['counter'] ) ) { $_SESSION['counter'] += 1; }else { $_SESSION['counter'] = 1; } $msg = "Bạn đã ghé thăm trang này ". $_SESSION['counter']; $msg .= " lần trong phiên làm việc này."; ?> <html> <head> <title>Tìm hiểu về Session trong PHP</title> </head> <body> <?php echo ( $msg ); ?> </body> </html>
Cứ sau mỗi lần load trang lại bạn sẽ thấy số lần tăng lên.
Huỷ Session trong PHP
Cũng ví dụ trên bây giờ bạn tạo ra 1 file nữa là huy_session.php
<?php require 'session.php'; session_destroy(); //Xoá toàn bộ session ?>
Tiếp theo bạn truy cập vào localhost/huy_session.php
Sau đó thử load lại localhost/session.php xem kết quả.
Lưu ý: 2 file này phải nằm chung 1 thư mục trong máy tính nhé!
$_cookie trong PHP
Cookie sẽ lưu trữ thông tin trên máy tính với thời gian được chỉ định. Đối với session sẽ kết thúc khi đóng trình duyệt còn cookie thì không.
Cú pháp:
setcookie(name, value, expire, path, domain, security);
Ví dụ bạn tạo ra 1 file là cookie.php
<?php setcookie("name", "Admin", time()+60, "/","", 0); setcookie("age", "26", time()+60, "/", "", 0); echo "Cookies đã được thiết lập!<br />"; echo $_COOKIE["name"]. "<br />"; echo $_COOKIE["age"] . "<br />"; ?>
Khi bạn Set cookite với tên là Admin, tuổi là 26 thì trình duyệt sẽ lưu thông tin trong khoảng thời gian là 60 giây, hết 60 giây thông tin sẽ biến mất.
Xoá Cookie
Để xoá cookie bạn thay dấu + thành dấu –
setcookie(“name”, “”, time()-60);
Lời kết: Đến đây chắn chắn bạn đã hiểu về Session và Cookie rồi phải không nào. Session hiểu đơn giản là 1 phiên làm việc khi hết phiên đó mọi thông tin không còn được lưa lại nữa còn vơi Cookie thì ngược lại nó sẽ lưu dữ liệu trong 1 khoảng thời gian chỉ định, khi đóng trình duyệt thông tin không bị mất đi.