Hướng dẫn php set cookie on button click - php đặt cookie khi nhấp vào nút

Cách duy nhất để làm điều đó là JS hoặc jQuery bởi vì, như những người khác nói, cookie không ảnh hưởng đến yêu cầu trang hiện tại. because, as the other people say, cookies does not affect the current page request.

Bạn cần plugin JQuery Cookie cho giải pháp jQuery. Một số máy chủ có vấn đề với jQuery.cookie.js (giải pháp là đổi tên tệp, ví dụ: jQuery.cook.js)Some servers have problems with jquery.cookie.js (The solution is to rename the file E.g.: jquery.cook.js)

Sử dụng plugin cookie jQuery

Tạo cookie phiên:

 $.cookie('the_cookie', 'the_value');

Tạo cookie hết hạn, 7 ngày kể từ đó:

 $.cookie('the_cookie', 'the_value', { expires: 7 });

Tạo cookie hết hạn, hợp lệ trên toàn bộ trang web:

 $.cookie('the_cookie', 'the_value', { expires: 7, path: '/' });

Đọc cookie:

 $.cookie('the_cookie'); // => "the_value"
 $.cookie('not_existing'); // => undefined

Đọc tất cả các cookie có sẵn:

 $.cookie(); // => { "the_cookie": "the_value", "...remaining": "cookies" }

Xóa cookie:

 // Returns true when cookie was found, false when no cookie was found...
 $.removeCookie('the_cookie');

// con đường tương tự như khi cookie được viết ...

 $.removeCookie('the_cookie', { path: '/' });

Bạn có thể thử địa phương. Nó hoạt động trên Chrome, FF và IE9 trở lên. Chúng tôi không hỗ trợ IE7-10! Hoan hô! We do not support IE7-10! Hooray!

IE8 có một số vấn đề với địa phương.

Tập lệnh phải ở bên trong $ (tài liệu) .reeter (function () {});

$(document).ready(function() {
   $("#btnClick").click(function(e) {
      e.preventDefault();
      localStorage.setItem('cookieName', 'cookie_value');
  window.href.location = "your_new_page.php";   
   });


   //On the same page or other page

   if (localStorage.getItem('cookieName')){
      //do here what you want


   }else{
      //do something else

   }

});

Để sửa đổi cookie, chỉ cần đặt (một lần nữa) cookie bằng hàm setCookie ():

Thí dụ

Một số ngày hết hạn cho cookie:

Sau đó, chúng tôi lấy giá trị của cookie "người dùng" (sử dụng biến toàn cầu $ _cookie). Chúng tôi cũng sử dụng hàm isset () để tìm hiểu xem cookie có được đặt không:

Định nghĩa và cách sử dụng
$cookie_name = "user";
$cookie_value = "John Doe";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/"); // 86400 = 1 day
?>

Định nghĩa và cách sử dụng
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!
";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

Định nghĩa và cách sử dụng

Hãy tự mình thử »


Để xóa cookie, hãy sử dụng hàm setCookie () với ngày hết hạn trong quá khứ:

Một 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 vào 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 với trình duyệt, nó cũng sẽ gửi cookie. Với PHP, bạn có thể tạo và truy xuất các giá trị cookie.

Tên của cookie được tự động được gán cho một biến cùng tên. Ví dụ: nếu cookie được gửi với tên "người dùng", một biến được tự động tạo có tên $ user, chứa giá trị cookie.

Lưu ý: Hàm setCookie () phải xuất hiện trước thẻ. The setcookie() function must appear BEFORE the tag.

Lưu ý: Giá trị của cookie được tự động được mã hóa khi gửi cookie và tự động được giải mã khi nhận được (để ngăn chặn urlencoding, sử dụng setRawCookie () thay thế).The value of the cookie is automatically URLencoded when sending the cookie, and automatically decoded when received (to prevent URLencoding, use setrawcookie() instead).

Cú pháp

setCookie (tên, giá trị, hết hạn, đường dẫn, tên miền, an toàn, httponly);

Giá trị tham số

Tham sốSự mô tả
TênYêu cầu. Chỉ định tên của cookie
giá trịKhông bắt buộc. Chỉ định giá trị của cookie
hết hạnKhông bắt buộc. Chỉ định khi cookie hết hạn. Giá trị: Time ()+86400*30, sẽ đặt cookie hết hạn sau 30 ngày. Nếu tham số này bị bỏ qua hoặc đặt thành 0, cookie sẽ hết hạn vào cuối phiên (khi trình duyệt đóng). Mặc định là 0
đường dẫnKhông bắt buộc. Chỉ định đường dẫn máy chủ của cookie. Nếu được đặt thành "/", cookie sẽ có sẵn trong toàn bộ miền. Nếu được đặt thành "/PHP/", cookie sẽ chỉ có sẵn trong thư mục PHP và tất cả các thư mục phụ của PHP. Giá trị mặc định là thư mục hiện tại mà cookie đang được đặt
miềnKhông bắt buộc. Chỉ định tên miền của cookie. Để cung cấp cookie trên tất cả các tên miền phụ của example.com, hãy đặt tên miền thành "example.com". Đặt nó thành www.example.com sẽ cung cấp cookie chỉ có sẵn trong tên miền phụ www
chắc chắnKhông bắt buộc. Chỉ định xem cookie có nên được truyền qua kết nối HTTPS an toàn hay không. Đúng chỉ ra rằng cookie sẽ chỉ được đặt nếu kết nối an toàn tồn tại. Mặc định là sai
httponlyKhông bắt buộc. Nếu được đặt thành True, cookie sẽ chỉ có thể truy cập thông qua giao thức HTTP (cookie sẽ không thể truy cập được bằng các ngôn ngữ kịch bản). Cài đặt này có thể giúp giảm hành vi trộm cắp danh tính thông qua các cuộc tấn công XSS. Mặc định là sai


Chi tiết kỹ thuật

Giá trị trở lại:Đúng về thành công. Sai về thất bại
Phiên bản PHP:4+
PHP Changelog:Php 5.5 - Một thuộc tính độ tuổi tối đa đã được bao gồm trong tiêu đề SET -Cookie được gửi đến ClientPHP 5.2 - Tham số HTTPonly đã được thêm
PHP 5.2 - The httponly parameter was added

Nhiều ví dụ hơn

Thí dụ

Một số ngày hết hạn cho cookie:

Định nghĩa và cách sử dụng
$value = "Hello world!";

// cookie sẽ hết hạn khi trình duyệt đóng lại ("mycookie", $ value);
setcookie("myCookie", $value);

// cookie sẽ hết hạn trong 1 giờTcookie ("mycookie", $ value, thời gian () + 3600);
setcookie("myCookie", $value, time() + 3600);

// cookie sẽ hết hạn sau 1 giờ và sẽ chỉ có sẵn // trong thư mục PHP + tất cả các thư mục phụ của phpsetcookie ("mycookie", $ value, thời gian () + 3600, "/php/");?>?>
// within the php directory + all sub-directories of php
setcookie("myCookie", $value, time() + 3600, "/php/");
?>

... một số mã ...

0) {& nbsp; & nbsp; & nbsp; echo "cookie được bật.";} other {& nbsp; & nbsp; & nbsp; echo "cookie bị vô hiệu hóa.";}?>

Hãy tự mình thử »

Thí dụ

Một số ngày hết hạn cho cookie:

Định nghĩa và cách sử dụng
$cookie_name = "user";
$cookie_value = "Alex Porter";
setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");
?>

Định nghĩa và cách sử dụng
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!
";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
?>

Định nghĩa và cách sử dụng

Hãy tự mình thử »

Thí dụ

Một số ngày hết hạn cho cookie:

Định nghĩa và cách sử dụng
// set the expiration date to one hour ago
setcookie("user", "", time() - 3600);
?>

Định nghĩa và cách sử dụng
echo "Cookie 'user' is deleted.";
?>

Định nghĩa và cách sử dụng

Hãy tự mình thử »

Thí dụ

Một số ngày hết hạn cho cookie:

0) {& nbsp; & nbsp; & nbsp; echo "cookie được bật.";} other {& nbsp; & nbsp; & nbsp; echo "cookie bị vô hiệu hóa.";}?>
setcookie("test_cookie", "test", time() + 3600, '/');
?>

Hãy tự mình thử »
if(count($_COOKIE) > 0) {
    echo "Cookies are enabled.";
} else {
    echo "Cookies are disabled.";
}
?>

0) {& nbsp; & nbsp; & nbsp; echo "cookie được bật.";} other {& nbsp; & nbsp; & nbsp; echo "cookie bị vô hiệu hóa.";}?>

Hãy tự mình thử »


Để sửa đổi cookie, chỉ cần đặt (một lần nữa) cookie bằng hàm setCookie ():