Dalam tutorial ini Anda akan belajar cara menyimpan data tertentu di server secara sementara menggunakan sesi PHP Show Apa itu SesiMeskipun Anda dapat menyimpan data menggunakan cookie tetapi memiliki beberapa masalah keamanan. Karena cookie disimpan di komputer pengguna, penyerang dapat dengan mudah memodifikasi konten cookie untuk memasukkan data yang berpotensi berbahaya ke dalam aplikasi Anda yang dapat merusak aplikasi Anda Juga setiap kali browser meminta URL ke server, semua data cookie untuk situs web secara otomatis dikirim ke server dalam permintaan tersebut. Ini berarti jika Anda telah menyimpan 5 cookie di sistem pengguna, masing-masing berukuran 4KB, browser perlu mengunggah 20KB data setiap kali pengguna melihat halaman, yang dapat memengaruhi performa situs Anda Anda dapat menyelesaikan kedua masalah ini dengan menggunakan sesi PHP. Sesi PHP menyimpan data di server daripada di komputer pengguna. Dalam lingkungan berbasis sesi, setiap pengguna diidentifikasi melalui nomor unik yang disebut pengidentifikasi sesi atau SID. ID sesi unik ini digunakan untuk menautkan setiap pengguna dengan informasi mereka sendiri di server seperti email, postingan, dll Tip. ID sesi dihasilkan secara acak oleh mesin PHP yang hampir tidak mungkin ditebak. Selanjutnya, karena data sesi disimpan di server, tidak harus dikirim dengan setiap permintaan browser Memulai Sesi PHPSebelum Anda dapat menyimpan informasi apa pun dalam variabel sesi, Anda harus memulai sesi terlebih dahulu. Untuk memulai sesi baru, cukup panggil fungsi PHP Kode PHP pada contoh di bawah hanya memulai sesi baru Fungsi Catatan. Anda harus memanggil fungsi Menyimpan dan Mengakses Data SesiAnda dapat menyimpan semua data sesi Anda sebagai key-value pair di Untuk mengakses data sesi yang kami atur pada contoh kami sebelumnya dari halaman lain di domain web yang sama — cukup buat ulang sesi dengan memanggil Kode PHP pada contoh di atas menghasilkan keluaran berikut Catatan. Untuk mengakses data sesi di halaman yang sama tidak perlu membuat ulang sesi karena sudah dimulai di bagian atas halaman Menghancurkan SesiJika Anda ingin menghapus data sesi tertentu, cukup hapus kunci yang sesuai dari array asosiatif 1, seperti yang ditunjukkan pada contoh berikutNamun, untuk menghancurkan sesi sepenuhnya, cukup panggil fungsi 3. Fungsi ini tidak memerlukan argumen apa pun dan satu panggilan akan menghancurkan semua data sesiCatatan. Sebelum menghancurkan sesi dengan fungsi _3, Anda harus terlebih dahulu membuat ulang lingkungan sesi jika belum ada menggunakan fungsisession_start() , sehingga ada sesuatu yang akan dihancurkanSetiap sesi PHP memiliki nilai batas waktu — durasi, diukur dalam detik — yang menentukan berapa lama sesi harus tetap hidup tanpa adanya aktivitas pengguna. Anda dapat menyesuaikan durasi timeout ini dengan mengubah nilai variabel 6 di file konfigurasi PHP (7)Ada dua fungsi PHP yang sangat mirip session_destroy() & session_unset(). Keduanya tampaknya menghapus semua variabel yang terdaftar ke suatu sesi tetapi ada perbedaan di antara keduanya fungsi session_destroy(). Itu menghancurkan semua data yang terkait dengan sesi saat ini. Itu tidak menghapus variabel global apa pun yang terkait dengan sesi, atau menghapus cookie sesi Sintaksis bool session_destroy( void ) fungsi session_unset(). Itu hanya menghapus variabel dari sesi dan sesi masih ada. Hanya data yang terpotong Sintaksis bool session_unset( void ) Contoh 1. Contoh ini menyimpan sesi dengan menggunakan session. file php
bool session_unset( void )1 bool session_unset( void )2 bool session_unset( void )3 bool session_unset( void )4 bool session_unset( void )5 bool session_unset( void )6 bool session_unset( void )7 ________12______8
________12______8
bool session_unset( void )4 bool session_unset( void )5 bool session_unset( void )6 8 9<?php 3________12______4 bool session_unset( void )5 // Function to start session 3 8// Function to start session 5 <?php 3
Keluaran Sebelum menggunakan fungsi session_unset(). Sebelum menggunakan fungsi sesi itu menampilkan nama dan email
bool session_unset( void )1 bool session_unset( void )2 bool session_unset( void )3 bool session_unset( void )4 bool session_unset( void )5 bool session_unset( void )6 bool session_unset( void )7 ________12______8
________12______8
bool session_unset( void )4 bool session_unset( void )5 bool session_unset( void )6 // Display the session id 8<?php 0<?php 3
bool session_unset( void )4 bool session_unset( void )5 // Function to start session 3// Display the session id 8<?php 0<?php 3
Keluaran Setelah menggunakan fungsi session_unset(). Fungsi ini menghancurkan variabel seperti 'nama' dan 'email' yang digunakan
bool session_unset( void )1 bool session_unset( void )2 bool session_unset( void )3 bool session_unset( void )4 bool session_unset( void )5 bool session_unset( void )6 bool session_unset( void )7 ________12______8
________12______8 bool session_unset( void )11 <?php 3
bool session_unset( void )4 bool session_unset( void )5 bool session_unset( void )6 bool session_unset( void )19
bool session_unset( void )4 bool session_unset( void )5 // Function to start session 3bool session_unset( void )19
bool session_unset( void )_26 bool session_unset( void )27
Keluaran fungsi session_destroy(). Itu menghancurkan seluruh sesi daripada menghancurkan variabel. Saat session_start() dipanggil, PHP menyetel cookie sesi di browser. Kami juga perlu menghapus cookie untuk menghancurkan sesi sepenuhnya Contoh. Contoh ini digunakan untuk menghancurkan sesi
bool session_unset( void )1 bool session_unset( void )2 bool session_unset( void )3 bool session_unset( void )4 bool session_unset( void )5 bool session_unset( void )6 bool session_unset( void )7 ________12______8
________12______8
bool session_unset( void )4 bool session_unset( void )5 bool session_unset( void )6 // Display the session id 8<?php 0<?php 3
bool session_unset( void )4 bool session_unset( void )5 // Function to start session 3// Display the session id 8<?php 0<?php 3
bool session_unset( void )4 bool session_unset( void )75 bool session_unset( void )76 bool session_unset( void )77
bool session_unset( void )79 bool session_unset( void )80 bool session_unset( void )_81 bool session_unset( void )_82 bool session_unset( void )2 bool session_unset( void )84 bool session_unset( void )85 bool session_unset( void )84________12______87 bool session_unset( void )88 ________12______8 bool session_unset( void )90 bool session_unset( void )91 ________12______8 bool session_unset( void )93 bool session_unset( void )94 bool session_unset( void )95 bool session_unset( void )96 bool session_unset( void )90 bool session_unset( void )5 bool session_unset( void )99 <?php 00bool session_unset( void )90 bool session_unset( void )5 <?php 03<?php 00bool session_unset( void )96 bool session_unset( void )90 bool session_unset( void )5 <?php 08<?php 00bool session_unset( void )90 bool session_unset( void )5 <?php 12<?php 13________12______8
Keluaran Pelaksanaan sesi. php Anda dapat melihat bahwa ada ID sesi yang berbeda itu berarti sesi sebelumnya telah dihancurkan dan semua variabel dan cookie juga dihancurkan. Karena semua variabel dihancurkan maka PHP pergi ke keluaran kondisi lain 'sesi dihancurkan' Catatan. Jika diinginkan untuk mematikan sesi, hapus juga cookie sesi. Ini akan menghancurkan sesi, dan bukan hanya data sesi Apa itu fungsi session_start() PHP?session_start() membuat sesi atau melanjutkan sesi saat ini berdasarkan pengenal sesi yang diteruskan melalui permintaan GET atau POST, atau diteruskan melalui cookie. When session_start() is called or when a session auto starts, PHP will call the open and read session save handlers.
Di mana fungsi session_start () harus muncul di PHP?Fungsi session_start()
. Penting. Fungsi, session_start() , harus dipanggil di awal halaman . Fungsi ini dimulai dengan memeriksa apakah sudah ada sesi melalui ID sesi.
Bagaimana cara menggunakan session_start di PHP?Memulai Sesi PHP
. Fungsi ini pertama-tama memeriksa apakah sesi sudah dimulai dan jika tidak ada yang dimulai maka akan dimulai. Direkomendasikan untuk memanggil session_start() di awal halaman
Mengapa Anda harus memanggil session_start () sebelum keluaran apa pun?Penting untuk diingat bahwa session_start() harus dipanggil sebelum output dikirim ke browser. Ini adalah sumber kesalahan yang umum, misalnya jika file PHP memiliki baris kosong di awal . session_name() mengubah nama Sesi saat ini dan nama Cookie Sesi yang dikirim ke browser jarak jauh. |