Bagaimana kita bisa mendapatkan nilai cookie di php?

Cookie PHP adalah sepotong kecil informasi yang disimpan di browser klien. Ini digunakan untuk mengenali pengguna

Cookie dibuat di sisi server dan disimpan ke browser klien. Setiap kali klien mengirim permintaan ke server, cookie disematkan dengan permintaan. Dengan demikian, cookie dapat diterima di sisi server

Bagaimana kita bisa mendapatkan nilai cookie di php?

Singkatnya, cookie dapat dibuat, dikirim dan diterima di ujung server

Catatan. Cookie PHP harus digunakan sebelum tag

fungsi PHP setcookie()

Fungsi PHP setcookie() digunakan untuk mengatur cookie dengan respons HTTP. Setelah cookie disetel, Anda dapat mengaksesnya dengan variabel superglobal $_COOKIE

Ringkasan. dalam tutorial ini, Anda akan belajar tentang cookie dan cara menggunakan fungsi PHP

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
3 untuk mengelola cookie secara efektif

Web bekerja berdasarkan protokol HTTP. Protokol HTTP tidak memiliki kewarganegaraan

Ketika browser web meminta halaman dari server web, server web merespons dengan konten halaman. Kemudian, browser web yang sama meminta halaman yang sama lagi, dan server web tidak memiliki informasi bahwa permintaan tersebut berasal dari browser web yang sama

Cookie memecahkan tantangan tanpa kewarganegaraan ini

Cookie adalah sepotong data yang dikirim oleh server web ke browser web. Browser web dapat menyimpannya dan mengirimkannya kembali dalam permintaan berikutnya ke server web yang sama. Server web mengetahui bahwa dua permintaan berasal dari browser web yang sama dengan menggunakan cookie yang sama

Cookie juga dikenal sebagai cookie web, cookie HTTP, atau cookie browser. Kami akan menggunakan cookie untuk mempersingkatnya

Bagan alur berikut mengilustrasikan cara kerja cookie

Bagaimana kita bisa mendapatkan nilai cookie di php?
Bagaimana kita bisa mendapatkan nilai cookie di php?

Bagaimana itu bekerja

  • Pertama, browser web mengirimkan permintaan ke server web. Server web tidak memiliki informasi apa pun tentang browser web. Server web membuat cookie dengan pengembalian nama dan nilai 1 dan melampirkan cookie ke header respons HTTP. Untuk membuat cookie, Anda akan menggunakan fungsi

    setcookie ( string $name , string $value = "" , array $options = [] ) : bool

    Code language: PHP (php)
    3
  • Kedua, browser web menyimpan cookie
  • Ketiga, browser web mengirimkan permintaan kedua dengan cookie yang tersimpan di header permintaan HTTP ke server web. Di server web, PHP dapat mengakses cookie melalui variabel superglobal

    setcookie ( string $name , string $value = "" , array $options = [] ) : bool

    Code language: PHP (php)
    5 dan melakukan sesuatu yang sesuai
  • Terakhir, server web merespons dengan konten permintaan. Biasanya, ini merespons browser web dengan konten berdasarkan nilai cookie

Peramban web dapat menyimpan cookie dengan ukuran maksimal 4KB. Namun, ini berbeda di antara browser web

Cookie memiliki tanggal kedaluwarsa. Biasanya, browser web menyimpan cookie untuk durasi tertentu. Dan server web dapat menentukan waktu kedaluwarsa untuk cookie

Cookie juga menyimpan alamat web (URL) yang menunjukkan URL yang membuat cookie. Dan browser web dapat mengirimkan kembali cookie yang awalnya disetel oleh alamat web yang sama. Dengan kata lain, situs web tidak akan dapat membaca cookie yang ditetapkan oleh situs web lain

Sebagian besar browser web modern memungkinkan pengguna memilih untuk menerima cookie. Oleh karena itu, Anda sebaiknya tidak sepenuhnya mengandalkan cookie untuk menyimpan data penting

Secara umum, situs web menggunakan cookie untuk meningkatkan pengalaman pengguna. Misalnya, Anda harus masuk ke situs web lagi setelah Anda meninggalkannya tanpa cookie

Biasanya, Anda akan menggunakan cookie untuk tujuan berikut

  • Manajemen sesi. cookie memungkinkan situs web untuk mengingat pengguna dan informasi login mereka atau hal lain yang harus diingat oleh server web
  • Personalisasi. cookie dapat menyimpan preferensi pengguna, tema, dan pengaturan lainnya
  • Pelacakan. cookie menyimpan perilaku pengguna. Misalnya, di situs web E-niaga, Anda dapat menggunakan cookie untuk merekam produk yang dilihat pengguna sebelumnya. Nantinya, Anda dapat menggunakan informasi ini untuk merekomendasikan produk terkait yang mungkin diminati pengguna

PHP memudahkan penggunaan cookie menggunakan fungsi

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
3. Fungsi

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
3 memungkinkan Anda mengirim header HTTP untuk membuat cookie di browser web

<?php setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ): bool

Code language: HTML, XML (xml)

Tabel berikut mengilustrasikan argumen dari fungsi

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
3

Argumen Arti$nama Nama cookie$nilai Nilai cookie. Itu bisa berupa nilai skalar seperti string atau integer. $expiresWaktu (dalam stempel waktu UNIX) cookie kedaluwarsa. Jika

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
_9 tidak disetel atau disetel ke 0, cookie akan kedaluwarsa saat browser web ditutup. $path Jalur di server web tempat cookie akan tersedia. Misalnya, jika jalurnya adalah '/', cookie akan tersedia di dalam domain. $domainDomain tempat cookie akan tersedia. $securejika $secure disetel ke

$_COOKIE['cookie_name']

Code language: PHP (php)
0 , cookie harus dikirim melalui koneksi HTTP (HTTPS) aman dari browser web. $httponlyif

$_COOKIE['cookie_name']

Code language: PHP (php)
_1 benar, cookie hanya dapat diakses melalui protokol HTTP, bukan JavaScript

Mulai dari PHP7. 3. 0, Anda dapat menggunakan fungsi

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
3 yang sama dengan tanda tangan alternatif

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)

Argumen

$_COOKIE['cookie_name']

Code language: PHP (php)
3 adalah larik yang memiliki satu atau beberapa kunci, seperti

$_COOKIE['cookie_name']

Code language: PHP (php)
4,

$_COOKIE['cookie_name']

Code language: PHP (php)
5,

$_COOKIE['cookie_name']

Code language: PHP (php)
6,

$_COOKIE['cookie_name']

Code language: PHP (php)
7,

$_COOKIE['cookie_name']

Code language: PHP (php)
8 dan

$_COOKIE['cookie_name']

Code language: PHP (php)
9.

$_COOKIE['cookie_name']

Code language: PHP (php)
9 dapat bernilai

<?php if(isset($_COOKIE['cookie_name'])) { }

Code language: HTML, XML (xml)
1,

<?php if(isset($_COOKIE['cookie_name'])) { }

Code language: HTML, XML (xml)
2, atau

<?php if(isset($_COOKIE['cookie_name'])) { }

Code language: HTML, XML (xml)
3. Jika Anda menggunakan tombol lain, fungsi

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
3 akan memunculkan peringatan

Fungsi

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
3 mengembalikan

$_COOKIE['cookie_name']

Code language: PHP (php)
0 jika berhasil dijalankan. Perhatikan bahwa itu tidak menunjukkan apakah browser web menerima cookie atau tidak. Fungsi

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
3 mengembalikan

<?php if(isset($_COOKIE['cookie_name'])) { }

Code language: HTML, XML (xml)
8 jika gagal

$_COOKIE

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
5 array asosiatif yang menyimpan cookie HTTP. Untuk mengakses cookie dengan nama, Anda menggunakan sintaks berikut

$_COOKIE['cookie_name']

Code language: PHP (php)
_

Jika nama cookie mengandung titik (

<?php if (isset($_COOKIE['cookie_name'])) { // process the cookie value }

Code language: HTML, XML (xml)
0) dan spasi (

<?php if (isset($_COOKIE['cookie_name'])) { // process the cookie value }

Code language: HTML, XML (xml)
1), Anda harus menggantinya dengan garis bawah (

<?php if (isset($_COOKIE['cookie_name'])) { // process the cookie value }

Code language: HTML, XML (xml)
2)

Untuk memeriksa apakah cookie disetel, Anda menggunakan fungsi

<?php if (isset($_COOKIE['cookie_name'])) { // process the cookie value }

Code language: HTML, XML (xml)
3

<?php if(isset($_COOKIE['cookie_name'])) { }

Code language: HTML, XML (xml)

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
5 adalah variabel superglobal, sehingga dapat diakses dari mana saja dalam skrip

Membaca kue

Sebelum membaca nilai cookie, Anda harus selalu memeriksa apakah sudah disetel dengan menggunakan fungsi

<?php if (isset($_COOKIE['cookie_name'])) { // process the cookie value }

Code language: HTML, XML (xml)
3

<?php if (isset($_COOKIE['cookie_name'])) { // process the cookie value }

Code language: HTML, XML (xml)

Untuk memeriksa apakah cookie sama dengan nilai, Anda menggunakan kode berikut

<?php if (isset($_COOKIE['cookie_name']) && $_COOKIE['cookie_name'] == 'value') { // ... }

Code language: HTML, XML (xml)

Jika Anda tidak menggunakan cookie, Anda dapat memaksa browser untuk menghapusnya. PHP tidak menyediakan fungsi yang langsung menghapus cookie. Namun, Anda dapat menghapus cookie menggunakan fungsi

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
3 dengan menyetel tanggal kedaluwarsa ke masa lalu

Kode berikut menghapus cookie dengan

<?php if (isset($_COOKIE['cookie_name'])) { // process the cookie value }

Code language: HTML, XML (xml)
7 dalam permintaan halaman berikutnya

unset($_COOKIE['cookie_name']); setcookie('cookie_name', null, time()-3600);

Code language: PHP (php)

Contoh kue PHP

Contoh berikut menunjukkan cara menggunakan cookie untuk menampilkan pesan salam kepada pengunjung baru atau yang kembali

<?php define('ONE_WEEK', 7 * 86400); $returning_visitor = false; if (!isset($_COOKIE['return'])) { setcookie('return', '1', time() + ONE_WEEK); } else { $returning_visitor = true; } echo $returning_visitor ? 'Welcome back!' : 'Welcome to my website!';

Code language: HTML, XML (xml)

Bagaimana itu bekerja

Pertama, tentukan konstanta yang menyimpan satu minggu dalam detik

define('ONE_WEEK', 7 * 86400);

Code language: JavaScript (javascript)

Kedua, setel return_visitor ke false

$returning_visitor = false;

Code language: PHP (php)

Ketiga, centang cookie dengan nama return. Jika cookie tidak disetel, buat dengan nilai satu dan tanggal kedaluwarsa satu minggu. Jika tidak, atur variabel $returning_visitor ke true

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
0

Terakhir, tampilkan pesan salam berdasarkan nilai variabel

<?php if (isset($_COOKIE['cookie_name'])) { // process the cookie value }

Code language: HTML, XML (xml)
8

Saat Anda meminta halaman untuk pertama kalinya, Anda akan melihat pesan berikut

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
_1

Dan jika Anda membuka alat pengembang web, Anda akan melihat cookie seperti yang ditunjukkan pada gambar berikut

Bagaimana kita bisa mendapatkan nilai cookie di php?
Bagaimana kita bisa mendapatkan nilai cookie di php?

Karena browser web sudah menyimpan cookie dengan nama

<?php if (isset($_COOKIE['cookie_name'])) { // process the cookie value }

Code language: HTML, XML (xml)
9 dan nilai

<?php if (isset($_COOKIE['cookie_name']) && $_COOKIE['cookie_name'] == 'value') { // ... }

Code language: HTML, XML (xml)
0, jika Anda me-refresh halaman, Anda akan melihat pesan yang berbeda

setcookie ( string $name , string $value = "" , array $options = [] ) : bool

Code language: PHP (php)
_2

Cookie ini akan bertahan selama tujuh hari yang ditetapkan oleh server web. Tentu saja, dari browser web, Anda dapat menghapus cookie secara manual

Untuk menemukan semua nama (dan nilai) cookie asli, Anda dapat menggunakan $_SERVER['HTTP_COOKIE'] .
Cukup telepon dokumen. cookie untuk mengambil nilai saat ini dari semua cookie. Anda kemudian dapat menyimpan nilai ini dalam variabel untuk manipulasi lebih lanjut.
Cookie sering digunakan untuk mengidentifikasi pengguna. Cookie adalah file kecil yang disematkan server di komputer pengguna. Setiap kali komputer yang sama meminta halaman dengan browser, itu juga akan mengirimkan cookie. Dengan PHP, Anda dapat membuat dan mengambil nilai cookie
Contoh 1. Anda dapat membuat cookie dengan menulis setcookie() dan memasukkan tanggal kedaluwarsa cookie. Jika Anda ingin menghapus cookie, setel tanggal kedaluwarsa cookie ke waktu saat ini . Jika Anda ingin menampilkan cookie maka Anda dapat mengulang cookie dengan $_cookie['name'] dan itu akan mencetak detail cookie.