Anda mungkin pernah mendengar tentang cookie, tetapi apa sebenarnya cookie itu, dan apa yang dapat kita lakukan dengannya? . Kami juga akan belajar cara bekerja dengan cookie di PHP Show
Cookie vs. Variabel SesiTidak yakin apakah Anda memerlukan cookie atau variabel sesi? . Cookie adalah cara untuk menyimpan data tentang pengguna di komputer pengguna. Variabel sesi biasanya digunakan dalam aplikasi yang perlu melacak aktivitas pengguna. Cookie biasanya digunakan dalam aplikasi yang perlu menyimpan informasi tentang pengguna untuk satu situs Anda juga dapat mempelajari tentang variabel sesi di postingan saya tentang penggunaan variabel sesi di PHP
Apa itu Cookie?Mari kita mulai dengan definisinya
Kami dapat menganggap cookie sebagai file teks, yang disimpan ke komputer Anda. Saat Anda meminta halaman web apa pun, server web mengirimkan respons halaman web itu ke browser Anda. Bersamaan dengan respons, server web juga dapat mengirimkan setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );4 header HTTP yang meminta browser Anda untuk membuat file cookie di komputer Anda. Setelah cookie dibuat untuk situs web, server web selanjutnya dapat membaca dan menulis konten dari dan ke file ini Cookie memiliki tanggal kedaluwarsa bersama dengan data cookie. Tanggal ini diatur agar browser dapat menghapus cookie lama saat tidak lagi dibutuhkan oleh server web. Jika tanggal kedaluwarsa kosong, cookie akan dihapus saat koneksi dengan server ditutup. Ini terjadi saat pengguna menutup jendela atau tab situs, atau saat pengguna menutup seluruh browser. Cookie ini, terkadang disebut cookie sesi, sebagian besar digunakan untuk menyimpan pengaturan sementara Mari kita segera melihat seperti apa header HTTP setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );5 dengan contoh berikut 1 Set-Cookie: LastVisitedSection=CodeTutsplus; expires=Fri, 31-Mar-2021 23:59:59 GMT; path=/; domain=.tutsplus.com Dalam contoh di atas, server web meminta browser untuk membuat cookie setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );6. Browser akan menyimpan setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );_7 sebagai data cookie. File cookie dapat menyimpan string teks atau angka hingga ukuran 4KB Atribut setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );8 digunakan untuk menentukan tanggal kedaluwarsa. Dan dengan demikian, cookie setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );_6 akan dihapus dari komputer Anda setelah tanggal 10. 31 Maret 2021 tengah malam Atribut domain digunakan untuk menentukan domain di mana cookie akan aktif. Jika domainnya adalah 1_1, cookie hanya akan dikirim ke server domain tersebut, dan jika domainnya adalah 12, cookie akan dikirim ke server mana pun dari salah satu subdomain Google, termasuk 13 itu sendiri. Dalam contoh kami, cookie setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );_6 akan tersedia untuk 15 dan juga salah satu subdomain dari 15 Jalur adalah jalur domain tempat cookie dikirim. Artinya, jika jalur disetel ke 1_7, dan domain disetel ke 11, cookie hanya akan dikirim ke server jika browser meminta file dari 19. Jika jalur disetel ke <?php
_0, cookie akan dikirim ke server terlepas dari lokasi file yang diminta di server. Dalam contoh kami, cookie setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );_6 akan dikirim ke semua halaman domain 15 Jadi begitulah cara server web membuat cookie di komputer Anda. Di bagian selanjutnya, kita akan membahas tujuan cookie Apa Tujuan Cookies?Protokol HTTP adalah protokol tanpa kewarganegaraan, yang berarti tidak ada cara bawaan agar server dapat mengingat pengguna tertentu di antara beberapa permintaan. Misalnya, ketika Anda mengakses halaman web, server hanya bertanggung jawab untuk menyediakan konten halaman yang diminta. Saat Anda mengakses halaman lain dari situs web yang sama, server web menginterpretasikan setiap permintaan secara terpisah, seolah-olah tidak terkait satu sama lain. Tidak ada cara bagi server untuk mengetahui bahwa setiap permintaan berasal dari pengguna yang sama Sekarang, jika Anda ingin menerapkan fitur seperti login pengguna atau keranjang belanja, Anda harus mengidentifikasi apakah dua permintaan berasal dari browser yang sama. Ini tidak mungkin dengan protokol tanpa kewarganegaraan. Kami perlu mempertahankan status atau sesi di antara permintaan yang dibuat oleh browser untuk mengidentifikasi pengguna. Di situlah cookie datang untuk menyelamatkan Cookie memungkinkan Anda berbagi informasi di berbagai halaman dari satu situs atau aplikasi—sehingga cookie membantu mempertahankan status. Ini memungkinkan server mengetahui bahwa semua permintaan berasal dari pengguna yang sama, sehingga memungkinkan situs untuk menampilkan informasi dan preferensi khusus pengguna Diagram berikut menggambarkan bagaimana protokol HTTP bekerja dengan cookie Cara Membuat Cookie di PHPDi bagian ini, kita akan membahas bagaimana Anda dapat membuat cookie di PHP Untuk membuat cookie di PHP, Anda perlu menggunakan fungsi <?php
3. Mari kita lihat sintaks dasar yang digunakan untuk membuat cookie1 setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false ); Daftar argumen dalam fungsi <?php
_3 seharusnya tidak asing bagi Anda karena kami telah membahas sebagian besar parameter ini sebelumnya di artikel ini. Namun, ada dua argumen lagi, <?php
5 dan <?php
6, yang penting untuk dipahamiJika Anda menyetel parameter <?php
_5 ke <?php
8, cookie hanya akan dibuat jika ada koneksi aman. Parameter <?php
_6 memungkinkan Anda untuk membuat cookie HTTP saja, dan karenanya hanya dapat diakses melalui protokol HTTP. Cookie yang ditetapkan sebagai HTTP saja tidak dapat diakses oleh bahasa skrip seperti JavaScriptJadi itu untuk sintaksnya — mari kita lihat contoh dunia nyata 1 <?php
2 setcookie("LastVisitedSection", "CodeTutsplus", time() + 3600, "/", "tutsplus.com", 1); Ini akan membuat cookie setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );6 dengan nilai setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );7, dan akan kedaluwarsa dalam satu jam. Argumen jalur diatur ke <?php
_0, sehingga akan dikirim ke semua halaman domain 15 Sekarang, mari kita lihat contoh berikut 1 <?php 2 Set-Cookie: LastVisitedSection=CodeTutsplus; expires=Fri, 31-Mar-2021 23:59:59 GMT; path=/; domain=.tutsplus.com1 Karena kami telah menyetel argumen path ke 24, cookie 25 hanya akan dikirim jika browser meminta halaman dari 26 Dengan cara ini, Anda dapat membuat cookie di PHP. Hal terpenting untuk diingat, saat membuat cookie di PHP, adalah Anda harus menyetel semua cookie sebelum mengirim data apa pun ke browser. Cookie termasuk dalam header, jadi Anda harus selalu menginisialisasi cookie baru sebelum keluaran apa pun. Ini termasuk perintah 27 atau 28, dan tag 29 atau setcookie("LastVisitedSection", "CodeTutsplus", time() + 3600, "/", "tutsplus.com", 1);0 Cara Membaca Cookie di PHPMembaca cookie di PHP sangatlah mudah. Anda perlu menggunakan variabel superglobal setcookie("LastVisitedSection", "CodeTutsplus", time() + 3600, "/", "tutsplus.com", 1);1 untuk membaca cookie yang tersedia. Faktanya, variabel setcookie("LastVisitedSection", "CodeTutsplus", time() + 3600, "/", "tutsplus.com", 1);_1 adalah larik yang berisi semua cookie Mari kita lihat cuplikan berikut 1 <?php
2 Set-Cookie: LastVisitedSection=CodeTutsplus; expires=Fri, 31-Mar-2021 23:59:59 GMT; path=/; domain=.tutsplus.com5________3______6 Set-Cookie: LastVisitedSection=CodeTutsplus; expires=Fri, 31-Mar-2021 23:59:59 GMT; path=/; domain=.tutsplus.com7 Set-Cookie: LastVisitedSection=CodeTutsplus; expires=Fri, 31-Mar-2021 23:59:59 GMT; path=/; domain=.tutsplus.com8 Set-Cookie: LastVisitedSection=CodeTutsplus; expires=Fri, 31-Mar-2021 23:59:59 GMT; path=/; domain=.tutsplus.com9 10 11 12 13 Anda dapat menggunakan fungsi setcookie("LastVisitedSection", "CodeTutsplus", time() + 3600, "/", "tutsplus.com", 1);3 atau setcookie("LastVisitedSection", "CodeTutsplus", time() + 3600, "/", "tutsplus.com", 1);4 untuk memeriksa semua cookie yang tersedia untuk keperluan debugging 1 <?php
2 17 Sangat mudah untuk membaca cookie di PHP Di bagian selanjutnya, kita akan melihat cara menghapus cookie Cara Menghapus Cookie di PHPAkan menarik bagi Anda untuk mengetahui bahwa Anda juga dapat menggunakan fungsi <?php
3 untuk menghapus cookie. Tangkapannya adalah Anda perlu menyetel tanggal kedaluwarsa di masa lalu, dan cookie kemudian akan dihapusMari kita lihat aksinya dalam contoh berikut 1 <?php
2 setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );1 Set-Cookie: LastVisitedSection=CodeTutsplus; expires=Fri, 31-Mar-2021 23:59:59 GMT; path=/; domain=.tutsplus.com6 setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );3 Seperti yang Anda lihat, kami telah menentukan tanggal kedaluwarsa di masa lalu dengan menyetelnya ke setcookie("LastVisitedSection", "CodeTutsplus", time() + 3600, "/", "tutsplus.com", 1);6. Penting untuk diperhatikan bahwa kami juga telah menggunakan fungsi setcookie("LastVisitedSection", "CodeTutsplus", time() + 3600, "/", "tutsplus.com", 1);7 untuk menghapus cookie setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );6 dari variabel superglobal setcookie("LastVisitedSection", "CodeTutsplus", time() + 3600, "/", "tutsplus.com", 1);1 untuk memastikan bahwa cookie setcookie ( string $name , string $value = "" , int $expires = 0 , string $path = "" , string $domain = "" , bool $secure = false , bool $httponly = false );6 tidak dapat diakses nanti dalam kode Praktik Terbaik untuk Menggunakan Cookie di PHPSebagai penutup, saya ingin merangkum beberapa praktik terbaik
KesimpulanHari ini, kita membahas dasar-dasar cookie dan cara menggunakannya di PHP. Topik terkait adalah sesi dan variabel sesi. Anda dapat mempelajari cara menggunakan sesi dan variabel sesi di PHP di sini di Envato Tuts+ Bagaimana cara mengatur cookie di PHP selama 1 hari?Fungsi setcookie() PHP . <. DOCTYPE html> $nama_cookie = "pengguna"; jika(. isset($_COOKIE[$cookie_name])) { echo "Cookie bernama '". $ nama_kuki. "' tidak diatur. "; } kalau tidak {. . |