setcookie (nhớ phải gọi trước các dòng code xuất html).
setcookie(name, value, expire, path, domain, security, httponly);
name là tên cookie, tên này được sử dụng để truy cập vào biến $_COOKIE để lấy thông tinvalue giá trị gán cho cookieexpire Thời điểm hết hạn (hủy) của cookiepath đường dẫn thư mục mà cookie có hiệu lực. Sử dụng / cho biết cookie có hiệu lực ở mọi thư mục truy cập.domain tên miềnsecurity = 1 nếu sử dụng HTTPShttponly= 1 nếu sử dụng chỉ giao thức http<?php
setcookie("name", "NENTANG", time()+3600, "/","", 0);
?>
$_COOKIE là một mảng để truy cập thông tin cookie do trình duyệt gửi lên. Giống như Session bạn nên dùng isset() để kiểm tra sự tồn tại của COOKIE.
<?php
if( isset($_COOKIE["name"]))
echo "Welcome " . $_COOKIE["name"] . "<br />";
else
echo "Không có tên" . "<br />";
?>
setcookie( "name", "", time()- 60, "/","", 0);
$_COOKIE['is_logged'] = true và $_COOKIE[' username_logged']='tennguoidung'/examples/cookies/form-ghi-nho-dang-nhap.php<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cookie trong PHP | Nền tảng VN</title>
</head>
<body>
<h1>Cookie trong PHP</h1>
<!-- Form Login -->
<form name="frmLogin" method="post" action="">
Tài khoản: <input type="text" name="username" id="username" /><br />
Mật khẩu: <input type="text" name="password" id="password" /><br />
Ghi nhớ đăng nhập: <input type="checkbox" name="remember_me" id="remember_me" value="1" /><br />
<input type="submit" name="btnLogin" value="Đăng nhập" />
</form>
<?php
// Xử lý nếu người dùng có bấm nút "btnLogin"
if(isset($_POST['btnLogin'])) {
// Lấy thông tin người dùng gởi đến Server
$username = $_POST['username'];
$password = $_POST['password'];
// Đối với checkbox cần kiểm tra xem giá trị có tồn tại hay không?
// Nếu có thì lấy giá trị do người dùng checked; nếu không thì phải gán giá trị mặc định
$remember_me = isset($_POST['remember_me']) ? 1 : 0;
// Xử lý các logic/Nghiệp vụ ...
// Nếu username=admin và password=123456 thì đăng nhập thành công
if($username == 'admin' && $password == '123456') {
// Hiển thị thông tin chào mừng
echo "<h2>Xin chào $username!</h2>";
} else {
echo "Đăng nhập thất bại!";
}
}
?>
</body>
</html>
setcookie() trong PHP để lưu trữ giá trị trong PHPGhi nhớ đăng nhập thì chúng ta sẽ lưu trữ giá trị is_logged=1 và username_logged=tennguoidung vào Cookie với thời hạn là 15' ~ 3600s<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cookie trong PHP | Nền tảng VN</title>
</head>
<body>
<h1>Cookie trong PHP</h1>
<!-- Form Login -->
<form name="frmLogin" method="post" action="">
Tài khoản: <input type="text" name="username" id="username" /><br />
Mật khẩu: <input type="text" name="password" id="password" /><br />
Ghi nhớ đăng nhập: <input type="checkbox" name="remember_me" id="remember_me" value="1" /><br />
<input type="submit" name="btnLogin" value="Đăng nhập" />
</form>
<?php
// Xử lý nếu người dùng có bấm nút "btnLogin"
if(isset($_POST['btnLogin'])) {
// Lấy thông tin người dùng gởi đến Server
$username = $_POST['username'];
$password = $_POST['password'];
// Đối với checkbox cần kiểm tra xem giá trị có tồn tại hay không?
// Nếu có thì lấy giá trị do người dùng checked; nếu không thì phải gán giá trị mặc định
$remember_me = isset($_POST['remember_me']) ? 1 : 0;
// Xử lý các logic/Nghiệp vụ ...
// Nếu username=admin và password=123456 thì đăng nhập thành công
if($username == 'admin' && $password == '123456') {
// Nếu người dùng có chọn "Ghi nhớ Đăng nhập"
// => tiến hành lưu thông tin vào COOKIE và gởi lại người dùng
if($remember_me == 1) {
// Thiết lập Cookie "Ghi nhớ đăng nhập" trong 15' ~ 3600s
setcookie('is_logged', true, time()+ 3600, '/');
// Thiết lập Cookie "Tên username đã đăng nhập" trong 15' ~ 3600s
setcookie("username_logged", $username, time()+3600, "/","", 0);
}
// Hiển thị thông tin chào mừng
echo "<h2>Xin chào $username!</h2>";
} else {
echo "Đăng nhập thất bại!";
}
}
?>
</body>
</html>
is_logged=1 và username_logged=tennguoidung thì không cần xử lý logic/nghiệp vụ đăng nhập nữa. Hiển thị màn hình chào mừng và điều hướng người dùng đến trang chủ trong 5s.<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cookie trong PHP | Nền tảng VN</title>
</head>
<body>
<h1>Cookie trong PHP</h1>
<?php
// Kiểm tra xem Người dùng có sử dụng Ghi nhớ Đăng nhập không?
if(isset($_COOKIE['is_logged'])) {
// Lấy thông tin từ COOKIE từ Web Browser của client gởi đến
$username_logged = isset($_COOKIE['username_logged']) ? $_COOKIE['username_logged'] : '';
echo "Xin chào <b>$username_logged</b>! Bạn đã đăng nhập rồi.";
echo "Bạn sẽ được chuyển đến trang chủ trong 5s;";
echo '<script>setTimeout(function(){ window.location="/" }, 5000);</script>';
die;
}
?>
<!-- Form Login -->
<form name="frmLogin" method="post" action="">
Tài khoản: <input type="text" name="username" id="username" /><br />
Mật khẩu: <input type="text" name="password" id="password" /><br />
Ghi nhớ đăng nhập: <input type="checkbox" name="remember_me" id="remember_me" value="1" /><br />
<input type="submit" name="btnLogin" value="Đăng nhập" />
</form>
<?php
// Xử lý nếu người dùng có bấm nút "btnLogin"
if(isset($_POST['btnLogin'])) {
// Lấy thông tin người dùng gởi đến Server
$username = $_POST['username'];
$password = $_POST['password'];
// Đối với checkbox cần kiểm tra xem giá trị có tồn tại hay không?
// Nếu có thì lấy giá trị do người dùng checked; nếu không thì phải gán giá trị mặc định
$remember_me = isset($_POST['remember_me']) ? 1 : 0;
// Xử lý các logic/Nghiệp vụ ...
// Nếu username=admin và password=123456 thì đăng nhập thành công
if($username == 'admin' && $password == '123456') {
// Nếu người dùng có chọn "Ghi nhớ Đăng nhập"
// => tiến hành lưu thông tin vào COOKIE và gởi lại người dùng
if($remember_me == 1) {
// Thiết lập Cookie "Ghi nhớ đăng nhập" trong 15' ~ 3600s
setcookie('is_logged', true, time()+ 3600, '/');
// Thiết lập Cookie "Tên username đã đăng nhập" trong 15' ~ 3600s
setcookie("username_logged", $username, time()+3600, "/","", 0);
}
// Hiển thị thông tin chào mừng
echo "<h2>Xin chào $username!</h2>";
} else {
echo "Đăng nhập thất bại!";
}
}
?>
</body>
</html>
.theme-light và tông màu tối .theme-darksetcookie() yêu cầu trình duyệt (web browser) lưu giá trị theme_class=tongmauyeuthichtheme_class hay không? Nếu có thì hiển thị tông màu theo ý thích người dùng./examples/cookies/form-cau-hinh-giao-dien.php<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Cookie trong PHP | Nền tảng VN</title>
<style>
.theme-light {
background: #fff;
color: #000;
}
.theme-dark {
background: #000;
color: yellow;
}
</style>
<?php
// Mặc định giao diện là Theme nền sáng
$theme_class = 'theme-light';
// Kiểm tra xem Người dùng có cấu hình giao diện theo ý thích không?
if (isset($_COOKIE['theme_class'])) {
// Lấy thông tin từ COOKIE từ Web Browser của client gởi đến
$theme_class = isset($_COOKIE['theme_class']) ? $_COOKIE['theme_class'] : 'theme-light';
}
?>
</head>
<body class="<?= $theme_class ?>">
<h1>Cấu hình Giao diện sử dụng Cookie trong PHP</h1>
<!-- Form Login -->
<form name="frmLogin" method="post" action="">
<label><input type="radio" name="theme" id="theme-1" value="theme-light" checked />Giao diện nền Sáng</label><br />
<label><input type="radio" name="theme" id="theme-2" value="theme-dark" />Giao diện nền Tối</label><br />
<input type="submit" name="btnSave" value="Lưu" />
</form>
<?php
// Xử lý nếu người dùng có bấm nút "btnSave"
if (isset($_POST['btnSave'])) {
// Lấy thông tin người dùng gởi đến Server
$theme = $_POST['theme'];
// Xử lý các logic/Nghiệp vụ ...
// Thiết lập Cookie "theme_class" trong 15' ~ 3600s
setcookie('theme_class', $theme, time() + 3600, '/');
// Hiển thị thông tin chào mừng
echo "<h2>Cấu hình đã được lưu!</h2>";
}
?>
</body>
</html>
Cùng nhau học tập, khám phá các kiến thức nền tảng về Lập trình web, mobile, database nhé.
Nền tảng kiến thức - Hành trang tới tương lai hân hạnh phục vụ Quý khách!
Khám phá, trải nghiệm ngay
Vui lòng đăng nhập để gởi bình luận!
Đăng nhậpChưa có bình luận nào!