Sesi PHP & Cookie PHP dengan Contoh

Daftar Isi:

Anonim

Apa itu Cookie?

Cookie adalah file kecil dengan ukuran maksimum 4KB yang disimpan server web di komputer klien.

Setelah cookie disetel, semua permintaan halaman setelahnya mengembalikan nama dan nilai cookie.

Kuki hanya dapat dibaca dari domain asalnya. Misalnya, kumpulan cookie yang menggunakan domain www.guru99.com tidak dapat dibaca dari domain career.guru99.com.

Sebagian besar situs web di internet menampilkan elemen dari domain lain seperti iklan. Domain yang menyajikan elemen ini juga dapat menyetel cookie-nya sendiri. Ini dikenal sebagai cookie pihak ketiga.

Cookie yang dibuat oleh pengguna hanya dapat dilihat oleh mereka. Pengguna lain tidak dapat melihat nilainya.

Sebagian besar browser web memiliki opsi untuk menonaktifkan cookie, cookie pihak ketiga, atau keduanya.

Jika demikian, PHP merespons dengan meneruskan token cookie di URL.

Diagram yang ditunjukkan di bawah ini menggambarkan cara kerja cookie.

Sini,

1) Seorang pengguna meminta halaman yang menyimpan cookie

2) Server menetapkan cookie di komputer pengguna

3) Permintaan halaman lain dari pengguna akan mengembalikan nama dan nilai cookie

Dalam tutorial ini, Anda akan belajar-

  • Mengapa dan kapan menggunakan Cookies?
  • Membuat Cookies
  • Mengambil nilai Cookie
  • Hapus Cookies
  • Apa itu Sesi?
  • Mengapa dan kapan menggunakan Sesi?
  • Membuat Sesi
  • Menghancurkan Variabel Sesi

Mengapa dan kapan menggunakan Cookies?

  • Http adalah protokol tanpa negara; cookie memungkinkan kami melacak status aplikasi menggunakan file kecil yang disimpan di komputer pengguna.

    Jalur tempat cookie disimpan tergantung pada browser.

    Internet Explorer biasanya menyimpannya di folder File Internet Temporal.

  • Mempersonalisasi pengalaman pengguna - ini dicapai dengan mengizinkan pengguna untuk memilih preferensi mereka.

    Halaman yang meminta mengikuti dipersonalisasi berdasarkan preferensi yang ditetapkan dalam cookie.

  • Melacak halaman yang dikunjungi oleh pengguna

Membuat Cookies

Sekarang mari kita lihat sintaks dasar yang digunakan untuk membuat cookie.

SINI,

  • Php "setcookie" adalah fungsi PHP yang digunakan untuk membuat cookie.
  • "Cookie_name" adalah nama cookie yang akan digunakan server saat mengambil nilainya dari variabel array $ _COOKIE. Itu wajib.
  • "Cookie_value" adalah nilai cookie dan wajibnya
  • “[Expiry_time]” bersifat opsional; ini dapat digunakan untuk mengatur waktu kedaluwarsa untuk cookie seperti 1 jam. Waktu diatur menggunakan fungsi waktu PHP () plus atau minus sejumlah detik lebih besar dari 0 yaitu waktu () + 3600 selama 1 jam.
  • “[Cookie_path]” adalah opsional; itu dapat digunakan untuk mengatur jalur cookie di server. Garis miring "/" berarti cookie akan tersedia di seluruh domain. Sub direktori membatasi akses cookie ke subdomain.
  • “[Domain]” bersifat opsional, ini dapat digunakan untuk menentukan hierarki akses cookie yaitu www.cookiedomain.com berarti seluruh domain sementara www.sub.cookiedomain.com membatasi akses cookie ke www.sub.cookiedomain.com dan sub-nya domain. Perhatikan bahwa mungkin memiliki subdomain dari subdomain selama total karakter tidak melebihi 253 karakter.
  • “[Aman]” adalah opsional, defaultnya salah. Ini digunakan untuk menentukan apakah cookie dikirim melalui https jika disetel ke true atau http jika disetel ke false.
  • “[Httponly]” adalah opsional. Jika disetel ke true, maka hanya bahasa skrip sisi klien yaitu JavaScript yang tidak dapat mengaksesnya.

Catatan: fungsi cookie set php harus dijalankan sebelum tag pembuka HTML.

Sekarang mari kita lihat contoh yang menggunakan cookie.

Kami akan membuat program dasar yang memungkinkan kami menyimpan nama pengguna dalam cookie yang kedaluwarsa setelah sepuluh detik.

Kode di bawah ini menunjukkan implementasi contoh "cookies.php" di atas.

Keluaran:

the cookie has been set for 60 seconds

Mengambil nilai Cookie

Buat file lain bernama "cookies_read.php" dengan kode berikut.

Keluaran:

Array ( [PHPSESSID] => h5onbf7pctbr0t68adugdp2611 [user_name] => Guru99 )

Catatan: $ _COOKIE adalah PHP yang dibangun di dalam variabel super global.

Ini berisi nama dan nilai dari semua cookie yang ditetapkan.

Jumlah nilai yang

Array $ _COOKIE dapat berisi tergantung pada ukuran memori yang disetel di php.ini.

Nilai defaultnya adalah 1GB.

Menguji aplikasi kita.

Anggap saja Anda telah menyimpan file PHP Anda di folder phptus.

  • Langkah 1 - buka browser web Anda dan masukkan URL http: //localhost/phptuts/cookies_read.php

Catatan: Hanya larik kosong yang ditampilkan

  • Langkah 2 - Browser ke URL http: //localhost/phptuts/cookies.php

  • Langkah 3 - Beralih kembali ke tab pertama lalu klik tombol segarkan

Tunggu sebentar lalu klik tombol segarkan lagi. Hasil apa yang kamu dapatkan?

Hapus Cookies

  • Jika Anda ingin menghancurkan cookie sebelum waktu kedaluwarsanya, Anda harus menyetel waktu kedaluwarsa ke waktu yang telah berlalu.
  • Buat file baru bernama cookie_destroy.php dengan kode berikut
  • Ulangi langkah 1 hingga 3 dari bagian di atas tentang mengambil nilai cookie.
  • Buka URL http: //localhost/phptuts/cookie_destroy.php
  • Beralih ke URL http: //localhost/phptuts/cookies_read.php hasil apa yang ditampilkan?

Apa itu Sesi?

  • Sesi adalah variabel global yang disimpan di server.
  • Setiap sesi diberi id unik yang digunakan untuk mengambil nilai yang disimpan.
  • Setiap kali sesi dibuat, cookie yang berisi id sesi unik disimpan di komputer pengguna dan dikembalikan dengan setiap permintaan ke server. Jika browser klien tidak mendukung cookie, id sesi php unik akan ditampilkan di URL
  • Sesi memiliki kapasitas untuk menyimpan data yang relatif besar dibandingkan dengan cookie.
  • Nilai sesi secara otomatis dihapus saat browser ditutup. Jika Anda ingin menyimpan nilai secara permanen, maka Anda harus menyimpannya di database.
  • Sama seperti variabel array $ _COOKIE, variabel sesi disimpan dalam variabel array $ _SESSION. Sama seperti cookie, sesi harus dimulai sebelum tag HTML apa pun.

Mengapa dan kapan menggunakan Sesi?

  • Anda ingin menyimpan informasi penting seperti id pengguna dengan lebih aman di server di mana pengguna jahat tidak bisa marah dengan mereka.
  • Anda ingin meneruskan nilai dari satu halaman ke halaman lain.
  • Anda menginginkan alternatif cookie di browser yang tidak mendukung cookie.
  • Anda ingin menyimpan variabel global dengan cara yang efisien dan lebih aman dibandingkan dengan meneruskannya di URL
  • Anda sedang mengembangkan aplikasi seperti keranjang belanja yang harus menyimpan informasi sementara dengan kapasitas lebih besar dari 4KB.

Membuat Sesi

Untuk membuat sesi, Anda harus terlebih dahulu memanggil fungsi PHP session_start dan kemudian menyimpan nilai Anda dalam variabel array $ _SESSION.

Misalkan kita ingin mengetahui berapa kali halaman telah dimuat, kita dapat menggunakan sesi untuk melakukan itu.

Kode di bawah ini menunjukkan cara membuat dan mengambil nilai dari sesi

Keluaran:

You are visitor number 1

Menghancurkan Variabel Sesi

Fungsi session_destroy () digunakan untuk menghancurkan seluruh variabel sesi Php.

Jika Anda ingin menghancurkan hanya satu item sesi, Anda menggunakan fungsi unset ().

Kode di bawah ini menggambarkan bagaimana menggunakan kedua metode tersebut.

Session_destroy menghapus semua data sesi termasuk cookie yang terkait dengan sesi tersebut.

Tidak disetel hanya membebaskan variabel sesi individu.

Data lainnya tetap utuh.

Ringkasan

  • Cookie adalah file kecil yang disimpan di komputer pengguna
  • Cookie hanya dapat dibaca dari domain penerbit
  • Cookie dapat memiliki waktu kadaluwarsa, jika tidak diatur, maka cookie akan kedaluwarsa saat browser ditutup
  • Sesi seperti variabel global yang disimpan di server
  • Setiap sesi diberi ID identifikasi unik yang digunakan untuk melacak variabel untuk pengguna.
  • Baik cookie dan sesi harus dimulai sebelum tag HTML apa pun dikirim ke browser.