- Bài 1: Tổng quan về ngôn ngữ lập trình PHP
- Bài 2: Hướng dẫn cài đặt XAMPP
- Bài 3: Cách tạo và chạy một tập tin PHP
- Bài 4: Quy tắc viết mã lệnh cơ bản trong tập tin PHP
- Bài 5: Cách hiển thị nội dung lên màn hình trong PHP
- Bài 6: Cách khai báo biến và hằng số trong PHP
- Bài 7: Cách sử dụng chuỗi trong PHP
- Bài 8: Toán tử và biểu thức trong PHP
- Bài 9: Lệnh điều kiện if ... else trong PHP
- Bài 10: Lệnh switch case trong PHP
- Bài 11: Vòng lặp for và foreach trong PHP
- Bài 12: Vòng lặp while & do while trong PHP
- Bài 13: Cách khai báo và sử dụng hàm (function) trong PHP
- Bài 14: Mảng trong PHP
- Bài 15: Các hàm xử lý mảng
- Bài 16: Các hàm xử lý ngày tháng & thời gian trong PHP
- Bài 17: Các hàm toán học trong PHP
- Bài 18: Các hàm kiểm tra dữ liệu trong PHP
- Bài 19: Upload file lên server với PHP
- Bài 20: Session và Cookie trong PHP
- Bài 21: Mối liên hệ giữa PHP và MySQL
- Bài 22: Kết nối PHP với MySQL
- Bài 23: Insert dữ liệu MySql bằng PHP
- Bài 24: Lấy ID vừa insert bằng PHP
- Bài 25: Insert nhiều record vào MySQL bằng PHP
- Bài 26: Select dữ liệu MySQL bằng PHP
- Bài 27: Delete dữ liệu MySQL bằng PHP
- Bài 28: Update dữ liệu MySQL bằng PHP
Bài 20: Session và Cookie trong PHP - Học lập trình PHP cơ bản
Đăng bởi: Admin | Lượt xem: 2694 | Chuyên mục: PHP
1) Session trong PHP
Biến Session trong PHP được dùng để lưu trữ thông tin của người dùng hoặc là lưu trữ tùy chọn cấu hình hệ thống cho người dùng. Đặc biệt mỗi client sẽ có một ID session khác nhau nên việc thông tin Session ở Client A bị ảnh hưởng qua Client B là điều không thể. Thông thường chúng ta sử dụng Session để lưu thông tin đăng nhập, giỏ hàng hoặc những dữ liệu mang tính chất tạm thời và mỗi client sẽ có dư liệu khác nhau.
Đăng ký session
Trước khi bạn sử dụng session bạn phải khai báo cho PHP biết bằng cách đặt dòng lệnh session_start() phía trên đầu mỗi file. Nếu bạn dùng nhiều file include lẫn nhau thì đặt nó ở file chính.
Ví dụ:
<?php session_start(); ?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>content</div>
</body>
</html>
Dòng lệnh session_start() sẽ đăng ký phiên làm việc của người dùng trên Server, từ đó Server sẽ tạo ra một ID riêng không trùng lặp để nhận diện cho client hiện tại. Dòng này bắt buộc có.
Lưu trữ session
Tất cả Session được lưu trữ trong biến toàn cục $_SESSION, vì thể để lưu thêm dữ liệu Session hay là thay đổi dữ liệu của Session thì ta sẽ thao tác trên biến đó. Lưu ý với bạn trước khi dùng phép lấy giá trị Session bạn phải kiểm tra Session đó có tồn tại không rồi hãy lấy.
Để lưu một giá trị mới vào Session ta dùng cú pháp như sau: $_SESSION['session_name'] = $session_value
Để lấy giá trị Session ta dùng cú pháp sau: $tenbien = $_SESSION['session_name']
Ví dụ:
Bạn tạo một file session.php và copy nội dung này vào:
<?php session_start();
// Nếu click vào nút Lưu Session
if (isset($_POST['save-session']))
{
// Lưu Session
$_SESSION['name'] = $_POST['username'];
}
?>
<!DOCTYPE html>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<h1>
<?php
// Hiển thị thông tin lưu trong Session
// phải kiểm tra có tồn tại không trước khi hiển thị nó ra
if (isset($_SESSION['name']))
{
echo 'Tên Đăng Nhập Là: ' . $_SESSION['name'];
}
?>
</h1>
<form method="POST" action="">
<input type="text" name="username" value=""/> <br/>
<input type="submit" name="save-session" value="Lưu Session"/>
</form>
</body>
</html>
Bạn hãy nhập tên vào sau đó nhấn vào button lưu Sessoin. sau đó bạn refresh lại trang bạn sẽ thấy thông tin bạn đã được lưu trữ trên Server nên có hiển thị ra.
Xóa session
Tất cả các giá trị Session đều lưu trữ trong biến $_SESSION nên để xóa nó các bạn chỉ việc dùng hàm unset($_SESSION['session_name']), trong đó hàm unset dùng để giải phóng một biến ra khỏi bộ nhớ.
Nếu bạn muốn xóa hết tất cả các Session thì ta dùng hàm session_destroy().
Ví dụ:
// Xóa session name
unset($_SESSION['name']);
// Xóa hết session
session_destroy();
Còn rất nhiều hàm khác các bạn tham khảo tại đây.
2) Cookie trong PHP
Cookie thường được dùng để lưu trữ các tùy chọn riêng của trang web từng user, nó là một file nhỏ được Server chỉ định lưu trữ trên máy tính của Client và PHP có thể truy xuất tới được. Và để sử dụng được Cookie thì trình duyệt phải hỗ trợ chức năng này, nếu không thì Cookie trở nên vô dụng.
Cookie sẽ không bị mất khi bạn đóng ứng dụng, nó phụ thuộc vào thời gian sống mà bạn thiết lập cho nó. Ví dụ bạn thiết lập Cookie lưu trữ thông tin đăng nhập trong vòng 15 phút thì sau 15 phút mà bạn không có một thao tác thay đổi trên nó thì Cookie của bạn sẽ bị chết. Đây chính là sự lợi hại của việc sư dụng Cookie.
Lưu trữ Cookie
Để lưu trữ Cookie ta dùng cú pháp sau và phải đặt trước thẻ html: setcookie($name, $value, $expire, $path, $domain).
Trong đó:
- $name: là tên của Cookie
- $value: giá trị của Cookie
- $expire: thời gian sống của Cookie
- $path : đường dẫn lưu trữ Cookie
- $domain: tên của domain
Ví du: lưu trữ tên đăng nhập username = ‘thehalfheart’ trong một giờ
<!DOCTYPE html>
<?php
setcookie('username', 'thehalfheart', time() + 3600);
?>
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
</body>
</html>
Lấy giá trị Cookie
Tất cả Cookie được lưu trữ trong biến toàn cục $_COOKIE nên để lấy giá trị Cookie ta dùng cú pháp sau: $bien = $_COOKIE['cookie_name']. Cũng như lưu ý ở phần Session bạn nên kiểm tra có tồn tại Cookie không trước khi lấy nhé, nếu không sẽ bị thông báo lỗi nếu nó không tồn tại.
Ví dụ: Lấy giá tri username vừa lưu trữ ở trên
if (isset($_COOKIE['username']))
{
echo $_COOKIE['username'];
}
Xóa Cookie
Để xóa Cookie bạn chỉ việc thiết lập thời gian sống của nó sang quá trị âm nhiều hơn hoặc bằng giá trị sống lúc bạn thiết lập.
Ví dụ: xóa Cookie đã thiết lập ở trên
setcookie("username", "", time()-3600);
Theo dõi VnCoder trên Facebook, để cập nhật những bài viết, tin tức và khoá học mới nhất!
- Bài 1: Tổng quan về ngôn ngữ lập trình PHP
- Bài 2: Hướng dẫn cài đặt XAMPP
- Bài 3: Cách tạo và chạy một tập tin PHP
- Bài 4: Quy tắc viết mã lệnh cơ bản trong tập tin PHP
- Bài 5: Cách hiển thị nội dung lên màn hình trong PHP
- Bài 6: Cách khai báo biến và hằng số trong PHP
- Bài 7: Cách sử dụng chuỗi trong PHP
- Bài 8: Toán tử và biểu thức trong PHP
- Bài 9: Lệnh điều kiện if ... else trong PHP
- Bài 10: Lệnh switch case trong PHP
- Bài 11: Vòng lặp for và foreach trong PHP
- Bài 12: Vòng lặp while & do while trong PHP
- Bài 13: Cách khai báo và sử dụng hàm (function) trong PHP
- Bài 14: Mảng trong PHP
- Bài 15: Các hàm xử lý mảng
- Bài 16: Các hàm xử lý ngày tháng & thời gian trong PHP
- Bài 17: Các hàm toán học trong PHP
- Bài 18: Các hàm kiểm tra dữ liệu trong PHP
- Bài 19: Upload file lên server với PHP
- Bài 20: Session và Cookie trong PHP
- Bài 21: Mối liên hệ giữa PHP và MySQL
- Bài 22: Kết nối PHP với MySQL
- Bài 23: Insert dữ liệu MySql bằng PHP
- Bài 24: Lấy ID vừa insert bằng PHP
- Bài 25: Insert nhiều record vào MySQL bằng PHP
- Bài 26: Select dữ liệu MySQL bằng PHP
- Bài 27: Delete dữ liệu MySQL bằng PHP
- Bài 28: Update dữ liệu MySQL bằng PHP