Sesi PHP & Kuki PHP dengan Contoh

Isi kandungan:

Anonim

Apa itu Kuki?

Kuki adalah fail kecil dengan ukuran maksimum 4KB yang disimpan oleh pelayan web pada komputer pelanggan.

Setelah kuki ditetapkan, semua permintaan halaman yang mengikuti mengembalikan nama dan nilai kuki.

Kuki hanya boleh dibaca dari domain yang dikeluarkannya. Sebagai contoh, satu set kuki yang menggunakan domain www.guru99.com tidak dapat dibaca dari kerjaya domain.guru99.com.

Sebilangan besar laman web di internet memaparkan elemen dari domain lain seperti iklan. Domain yang menyajikan elemen ini juga dapat menetapkan kuki mereka sendiri. Ini dikenali sebagai kuki pihak ketiga.

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

Sebilangan besar penyemak imbas web mempunyai pilihan untuk mematikan kuki, kuki pihak ketiga atau kedua-duanya.

Sekiranya ini berlaku, maka PHP bertindak balas dengan memberikan token kuki di URL.

Gambarajah yang ditunjukkan di bawah menggambarkan bagaimana kuki berfungsi.

Di sini,

1) Pengguna meminta halaman yang menyimpan kuki

2) Pelayan menetapkan kuki di komputer pengguna

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

Dalam tutorial ini, anda akan belajar-

  • Mengapa dan bila menggunakan Kuki?
  • Membuat Kuki
  • Mengambil nilai Cookie
  • Padamkan Kuki
  • Apa itu Sesi?
  • Mengapa dan bila hendak menggunakan Sesi?
  • Membuat Sesi
  • Memusnahkan Pembolehubah Sesi

Mengapa dan bila menggunakan Kuki?

  • Http adalah protokol tanpa status; kuki membolehkan kita mengesan keadaan aplikasi menggunakan fail kecil yang tersimpan di komputer pengguna.

    Laluan kuki yang disimpan bergantung pada penyemak imbas.

    Internet Explorer biasanya menyimpannya dalam folder Temporal Internet Files.

  • Memperibadikan pengalaman pengguna - ini dicapai dengan membenarkan pengguna memilih pilihan mereka.

    Halaman yang diminta diikuti adalah berdasarkan kepada pilihan yang ditetapkan dalam kuki.

  • Menjejaki halaman yang dikunjungi oleh pengguna

Membuat Kuki

Sekarang mari kita lihat sintaks asas yang digunakan untuk membuat kuki.

DI SINI,

  • Php "setcookie" adalah fungsi PHP yang digunakan untuk membuat kuki.
  • "Cookie_name" adalah nama kuki yang akan digunakan pelayan ketika mengambil nilainya dari pemboleh ubah array $ _COOKIE. Ia wajib.
  • "Cookie_value" adalah nilai kuki dan wajib
  • "[Expiry_time]" adalah pilihan; ia boleh digunakan untuk menetapkan masa luput untuk kuki seperti 1 jam. Waktu ditetapkan menggunakan fungsi waktu PHP () ditambah atau tolak beberapa saat lebih besar daripada 0 iaitu waktu () + 3600 selama 1 jam.
  • "[Cookie_path]" adalah pilihan; ia boleh digunakan untuk menetapkan laluan kuki di pelayan. Slash ke depan "/" bermaksud bahawa kuki akan disediakan di seluruh domain. Sub direktori menghadkan akses kuki ke subdomain.
  • "[Domain]" adalah pilihan, ia dapat digunakan untuk menentukan hierarki akses kuki iaitu www.cookiedomain.com bermaksud keseluruhan domain sementara www.sub.cookiedomain.com menghadkan akses kuki ke www.sub.cookiedomain.com dan sub-subnya domain. Perhatikan kemungkinan mempunyai subdomain subdomain selagi jumlah watak tidak melebihi 253 aksara.
  • "[Selamat]" adalah pilihan, lalai adalah salah. Ia digunakan untuk menentukan sama ada kuki dihantar melalui https jika diset ke true atau http jika diset ke false.
  • "[Httponly]" adalah pilihan. Sekiranya diset ke true, maka hanya bahasa skrip sisi pelanggan iaitu JavaScript tidak dapat mengaksesnya.

Catatan: fungsi kuki set php mesti dijalankan sebelum tag pembuka HTML.

Sekarang mari kita lihat contoh yang menggunakan kuki.

Kami akan membuat program asas yang membolehkan kami menyimpan nama pengguna dalam kuki yang tamat selepas sepuluh saat.

Kod di bawah menunjukkan pelaksanaan contoh di atas "cookies.php".

Pengeluaran:

the cookie has been set for 60 seconds

Mengambil nilai Cookie

Buat fail lain bernama "cookies_read.php" dengan kod berikut.

Pengeluaran:

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

Nota: $ _COOKIE adalah PHP yang dibina dalam pemboleh ubah super global.

Ia mengandungi nama dan nilai semua kuki yang ditetapkan.

Bilangan nilai yang

Array $ _COOKIE boleh berisi bergantung pada ukuran memori yang ditetapkan dalam php.ini.

Nilai lalai adalah 1GB.

Menguji aplikasi kami.

Anggaplah anda telah menyimpan fail PHP anda dalam folder phptus.

  • Langkah 1 - buka penyemak imbas web anda dan masukkan URL http: //localhost/phptuts/cookies_read.php

Catatan: Hanya array kosong yang dipaparkan

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

  • Langkah 3 - Beralih kembali ke tab pertama kemudian klik pada butang muat semula

Tunggu sebentar kemudian klik pada butang muat semula. Apa hasil yang anda dapat?

Padamkan Kuki

  • Sekiranya anda ingin memusnahkan kuki sebelum waktu luputnya, maka anda menetapkan masa luput ke waktu yang telah berlalu.
  • Buat fail yang baru bernama cookie_destroy.php dengan kod berikut
  • Ulangi langkah 1 hingga 3 dari bahagian di atas untuk mendapatkan semula nilai kuki.
  • Buka URL http: //localhost/phptuts/cookie_destroy.php
  • Beralih ke URL http: //localhost/phptuts/cookies_read.php apakah hasil yang dipaparkan?

Apa itu Sesi?

  • Sesi adalah pemboleh ubah global yang disimpan di pelayan.
  • Setiap sesi diberikan id unik yang digunakan untuk mengambil nilai yang tersimpan.
  • Setiap kali sesi dibuat, kuki yang mengandungi id sesi unik disimpan di komputer pengguna dan dikembalikan dengan setiap permintaan ke pelayan. Sekiranya penyemak imbas pelanggan tidak menyokong kuki, id sesi php unik dipaparkan di URL
  • Sesi mempunyai keupayaan untuk menyimpan data yang agak besar berbanding kuki.
  • Nilai sesi akan dihapus secara automatik apabila penyemak imbas ditutup. Sekiranya anda ingin menyimpan nilai secara kekal, maka anda harus menyimpannya dalam pangkalan data.
  • Sama seperti pemboleh ubah array $ _COOKIE, pemboleh ubah sesi disimpan dalam pemboleh ubah array $ _SESSION. Sama seperti kuki, sesi mesti dimulakan sebelum sebarang tag HTML.

Mengapa dan bila hendak menggunakan Sesi?

  • Anda ingin menyimpan maklumat penting seperti id pengguna dengan lebih selamat di pelayan di mana pengguna yang berniat jahat tidak boleh marah dengan mereka.
  • Anda mahu menyampaikan nilai dari satu halaman ke halaman lain.
  • Anda mahukan alternatif untuk kuki pada penyemak imbas yang tidak menyokong kuki.
  • Anda mahu menyimpan pemboleh ubah global dengan cara yang cekap dan lebih selamat berbanding dengan memasukkannya ke dalam URL
  • Anda sedang mengembangkan aplikasi seperti keranjang belanja yang harus menyimpan sementara maklumat dengan kapasiti lebih besar daripada 4KB.

Membuat Sesi

Untuk membuat sesi, anda mesti memanggil fungsi PHP session_start terlebih dahulu dan kemudian menyimpan nilai anda dalam pemboleh ubah array $ _SESSION.

Anggaplah kita ingin mengetahui berapa kali halaman dimuat, kita boleh menggunakan sesi untuk melakukannya.

Kod di bawah menunjukkan cara membuat dan mengambil nilai dari sesi

Pengeluaran:

You are visitor number 1

Memusnahkan Pembolehubah Sesi

Fungsi session_destroy () digunakan untuk memusnahkan keseluruhan pemboleh ubah sesi Php.

Sekiranya anda ingin memusnahkan satu item sesi sahaja, anda menggunakan fungsi unset ().

Kod di bawah menggambarkan cara menggunakan kedua-dua kaedah.

Session_destroy membuang semua data sesi termasuk kuki yang berkaitan dengan sesi.

Unset hanya membebaskan pemboleh ubah sesi individu.

Data lain tetap utuh.

Ringkasan

  • Kuki adalah fail kecil yang disimpan di komputer pengguna
  • Kuki hanya boleh dibaca dari domain penerbit
  • Kuki boleh mempunyai masa luput, jika tidak ditetapkan, kuki akan berakhir apabila penyemak imbas ditutup
  • Sesi adalah seperti pemboleh ubah global yang disimpan di pelayan
  • Setiap sesi diberi id pengenalan unik yang digunakan untuk mengesan pemboleh ubah bagi pengguna.
  • Kedua-dua kuki dan sesi mesti dimulakan sebelum sebarang tag HTML telah dihantar ke penyemak imbas.