Cookies và session là vấn đề thường gặp trong lập trình web. Trong bài học này, chúng ta sẽ tìm hiểu về cookies và session trong PHP.
Video Cookies và Session trong PHP
Hướng dẫn chi tiết
Có làm thì mới có ăn như ai đó từng nói - Vài dòng ngắn cho QUẢNG CÁO nhé Các bạn cần hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn đăng ký và sử dụng hosting từ link trên, Góc Làm Web sẽ có một ít tiền để duy trì.
Cookies – $_COOKIES
Cookie thường được sử dụng để xác định người dùng. Cookie là một tệp nhỏ mà máy chủ nhúng trên máy tính của người dùng. Mỗi lần cùng một máy tính yêu cầu một trang bằng trình duyệt, nó cũng sẽ gửi cookie. Với PHP, bạn có thể tạo và lấy các giá trị cookie.
Tạo cookies bằng PHP
Đề tạo ra cookies, chúng ta dùng hàm setcookie.
setcookie ( string $tên , string $giá trị, int $hết hạn, string $đường dẫn, string tên miền, bool bảo mật, bool httponly );
"Người ta tắt AdsBlock không phải vì người ta dại, mà người ta quý mình nên coi quảng cáo" Hosting WordPress nhanh, rẻ và dễ sử dụng có free SLL hãy chọn Azdigi nhé. Link đăng ký: NHẬN NGAY ƯU ĐÃI Nếu các bạn mua hosting từ link trên, mình sẽ có một ít tiền để duy trì. Cảm ơn
Ví dụ: chúng ta sẽ tạo ra 1 cookie lưu lại tên người dùng và sẽ hết hạn sau 1 tháng. Hàm time dùng để lấy thời gian hiện tại cộng thêm 86400 giây (1 ngày) nhân với 30 ngày.
$cookie_name = "user_name"; $cookie_value = "GocLamWeb"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
Lấy cookies
Để lấy giá trị của cookies, chúng ta sử dụng biến siêu toàn cục $_COOKIES. Về vấn đề biến siêu toàn cục, các bạn có thể xem lại bài 8 nhé.
if(!isset($_COOKIE[$cookie_name])) { echo "Cookie được lấy ra là'" . $cookie_name . "' không tồn tại!"; } else { echo "Cookie : " . $_COOKIE[$cookie_name]; }
Chỉnh sửa cookies
Để chỉnh sửa cookies, chúng ta chỉ cần đặt lại cookies với cùng tên gọi.
$cookie_name = "user_name"; $cookie_value = "Góc Làm Web"; setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
Xóa cookies
Để xóa cookies, bạn đặt lại cookies như trường hợp sửa cookies. Tuy nhiên, khác biệt ở chỗ bạn đặt expires_time time trừ một khoảng thời gian. Khi hết thời gian tồn tại, cookies sẽ hết hạn.
Lưu ý: khi thoát trình duyệt, cookies vẫn còn tồn tại miễn là chưa hết thời gian bạn đặt.
Session
Session cũng là một cách để lưu thông tin của người dùng để sử dụng trên nhiều trang. Session khác với Cookies ở chỗ, session được lưu ở máy chủ thay vì lưu ở máy người dùng. Do đó, ngay khi thoát trình duyệt, session sẽ bị mất.
Khởi tạo session
Chúng ta khởi tại session (phiên) với hàm session_start. Để đặt giá trị cho session, chúng ta chỉ cần làm như gán giá trị cho biến.
$_SESSION["color"] = "Đỏ";
Để lấy dữ liệu từ session, chúng ta sử dụng $_SESSION.
echo $_SESSION["color"];
Sửa session
Để sửa session, chúng ta chỉ cần gán lại giá trị khác.
$_SESSION["color"] = "Xanh";
Xóa session
Đầu tiên chúng ta sẽ bỏ toàn bộ giá session hiện tại. Sau đó sẽ xóa session.
// remove all session variables session_unset(); // destroy the session session_destroy();
Tổng kết
- Cookies lưu dữ liệu trên máy người dùng, không bị mất đi khi thoát trình duyệt.
- Session lưu dữ liệu trên máy chủ, mất đi không thoát trình duyệt. Do đó, session tương đối bảo mật hơn so với cookies.
Code mẫu: Download
Nếu có thắc mắc, hãy đặt câu hỏi bằng cách comment bên dưới, qua email, hoặc nhắn tin qua Fanpage Góc làm web.
Liên hệ