Di PHP, informasi yang ditujukan untuk digunakan di beberapa halaman web dapat disimpan dalam satu sesi. Sesi mirip dengan cookie, tetapi informasi yang terkandung dalam sesi tidak disimpan di komputer pengunjung. Kunci untuk membuka sesi—tetapi bukan informasi yang terkandung di dalamnya—disimpan di komputer pengunjung Show
Saat pengunjung itu masuk lagi, kunci membuka sesi. Kemudian ketika sesi dibuka di halaman lain, itu memindai komputer untuk kuncinya. Jika ada kecocokan, ia mengakses sesi itu, jika tidak, ia memulai sesi baru. Dengan sesi, Anda dapat membuat aplikasi yang disesuaikan dan meningkatkan kegunaan situs bagi pengunjungnya. Setiap halaman yang akan menggunakan informasi sesi di situs harus diidentifikasi oleh fungsi session_start(). Ini memulai sesi pada setiap halaman PHP. Fungsi session_start harus menjadi hal pertama yang dikirim ke browser atau tidak akan berfungsi dengan baik. Itu harus mendahului tag HTML apa pun. Biasanya, tempat terbaik untuk memposisikannya tepat setelah tag Variabel yang terdapat dalam sesi—seperti nama pengguna dan warna favorit—diatur dengan $_SESSION, sebuah variabel global. Dalam contoh ini, fungsi session_start diposisikan setelah komentar non-cetak tetapi sebelum HTML apa pun Dalam contoh, setelah melihat halaman 1. php, halaman selanjutnya yaitu halaman 2. php, berisi data sesi dan sebagainya. Variabel sesi berakhir saat pengguna menutup browser Memodifikasi dan Menghapus SesiUntuk memodifikasi variabel dalam suatu sesi, timpa saja. Untuk menghapus semua variabel global dan menghapus sesi, gunakan fungsi session_unset() dan session_destroy() Global vs. Variabel LokalVariabel global terlihat di seluruh program dan dapat digunakan oleh fungsi apa pun dalam program. Sebuah variabel lokal dideklarasikan di dalam sebuah fungsi dan itu adalah satu-satunya tempat yang dapat digunakan. Kutip Artikel ini Format Kutipan Anda Bradley, Angela. "Fungsi PHP Session_Start(). "PikirCo. https. // www. thinkco. com/sessionstart-php-function-2694087 (diakses 23 Januari 2023)
Penanganan sesi adalah konsep kunci dalam PHP yang memungkinkan informasi pengguna dipertahankan di semua halaman situs web atau aplikasi. Dalam posting ini, Anda akan mempelajari dasar-dasar penanganan sesi di PHP Kami akan mulai dengan penjelasan tentang cara kerja sesi dan bagaimana kaitannya dengan cookie. Kemudian kita akan melihat beberapa cuplikan kode yang mendemonstrasikan cara bekerja dengan sesi. Anda akan belajar cara membuat dan menghancurkan sesi, dan cara mengubah variabel sesi 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 cookie di PHP
Apa itu Sesi di PHP?Sesi adalah mekanisme untuk mempertahankan informasi di berbagai halaman web untuk mengidentifikasi pengguna saat mereka membuka situs atau aplikasi. Apakah Anda bertanya-tanya mengapa sesi diperlukan untuk situs web? Protokol HTTP adalah protokol tanpa kewarganegaraan, yang berarti tidak mungkin server dapat mengingat pengguna tertentu di antara banyak permintaan. Misalnya, ketika Anda mengakses halaman web, server hanya bertanggung jawab untuk menyediakan konten halaman yang diminta. Jadi, ketika 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 Diagram berikut menggambarkan protokol HTTP secara singkat Dalam model ini, jika Anda ingin menampilkan informasi khusus pengguna, Anda harus mengautentikasi pengguna di setiap permintaan. Bayangkan jika Anda harus mengetikkan username dan password di setiap halaman yang menampilkan informasi profil Anda. Ya, itu akan merepotkan dan tidak praktis sama sekali, dan di situlah sesi muncul Sesi memungkinkan Anda untuk berbagi informasi di berbagai halaman dari satu situs atau aplikasi—sehingga 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 Alur Masuk Dengan Sesi dan CookieMari kita segera melalui alur login umum untuk sebuah situs web guna memahami apa yang terjadi di balik layar
Dengan cara ini, data pengguna disimpan di beberapa permintaan, dan pengguna tetap masuk selama satu sesi Diagram berikut menggambarkan bagaimana protokol HTTP bekerja dengan sesi Sekarang setelah Anda melihat pengantar singkat tentang cara kerja sesi, kami akan membuat beberapa contoh praktis untuk menunjukkan cara membuat dan memanipulasi variabel sesi Cara Memulai SesiDi bagian ini, kita akan membahas cara memulai sesi di PHP Setiap kali Anda ingin menangani variabel sesi, Anda perlu memastikan bahwa sesi sudah dimulai. Ada beberapa cara untuk memulai sesi di PHP Gunakan 353 FungsiIni adalah metode yang paling sering Anda lihat, di mana sesi dimulai oleh fungsi 353 1 <?php
2 // start a session
3 session_start(); 4 5 // manipulate session variables
<?php
0<?php
1Hal yang penting adalah fungsi 3_53 harus dipanggil di awal skrip, sebelum keluaran apa pun dikirim ke browser. Jika tidak, Anda akan menemukan kesalahan ________0______56 yang terkenal Mulai Sesi Secara OtomatisJika ada kebutuhan untuk menggunakan sesi di seluruh aplikasi Anda, Anda juga dapat ikut serta untuk memulai sesi secara otomatis tanpa menggunakan fungsi 353 Ada opsi konfigurasi di file php. ini yang memungkinkan Anda memulai sesi secara otomatis untuk setiap permintaan— 358. Secara default, ini disetel ke 3_59, dan Anda dapat menyetelnya ke 360 untuk mengaktifkan fungsi mulai otomatis 1 <?php
3Di sisi lain, jika Anda tidak memiliki akses ke file php. ini, dan Anda menggunakan server web Apache, Anda juga dapat menyetel variabel ini menggunakan. htaccess 1 <?php
5Jika Anda menambahkan baris di atas di. htaccess, yang akan memulai sesi secara otomatis di aplikasi PHP Anda Cara Mendapatkan Id SesiSeperti yang telah kita bahas sebelumnya, server membuat nomor unik untuk setiap sesi baru. Jika Anda ingin mendapatkan session id, Anda dapat menggunakan fungsi 361, seperti yang ditunjukkan pada cuplikan berikut 1 <?php
2 session_start(); 3 21 4_ <?php
1Itu akan memberi Anda id sesi saat ini. Fungsi 361 menarik karena dapat mengambil satu argumen—id sesi. Jika Anda ingin mengganti ID sesi yang dihasilkan sistem dengan ID Anda sendiri, Anda dapat memberikannya ke argumen pertama dari fungsi ________0______61 1 <?php
2 27 3 session_start(); 4 <?php
1Penting untuk diperhatikan bahwa fungsi 3_61 harus ditempatkan sebelum panggilan 353 saat Anda ingin memulai sesi dengan ID sesi khusus Cara Membuat Variabel SesiDi bagian ini, kita akan mengeksplorasi cara menginisialisasi variabel sesi di PHP Seperti yang telah kita bahas sebelumnya, setelah sesi dimulai, array super global 352 diinisialisasi dengan informasi sesi yang sesuai. Secara default, ini diinisialisasi dengan larik kosong, dan Anda dapat menyimpan lebih banyak informasi dengan menggunakan key-value pair Mari kita lihat skrip contoh berikut yang menunjukkan cara menginisialisasi variabel sesi 1 <?php
2 // start a session
3 session_start(); 4 5 31 <?php
033 34 35 36 38 39 session_start();0 session_start();1 session_start();2 session_start();3 session_start();4 <?php
1Seperti yang Anda lihat, kami telah memulai sesi di awal skrip menggunakan fungsi 353 . Setelah itu, kami menginisialisasi beberapa variabel sesi. Terakhir, kita telah mengakses variabel tersebut menggunakan 352 super-global Saat Anda menyimpan data dalam sesi menggunakan 352 super-global, data tersebut akhirnya disimpan dalam file sesi yang sesuai di server yang dibuat saat sesi dimulai. Dengan cara ini, data sesi dibagikan ke beberapa permintaan Seperti yang telah kita diskusikan, informasi sesi dibagikan di seluruh permintaan, dan dengan demikian variabel sesi yang diinisialisasi pada satu halaman juga dapat diakses dari halaman lain, hingga sesi berakhir. Umumnya, sesi berakhir saat browser ditutup Cara Memodifikasi dan Menghapus Variabel SesiAnda dapat memodifikasi atau menghapus variabel sesi yang dibuat sebelumnya dalam aplikasi dengan cara yang sama seperti variabel PHP biasa Mari kita lihat cara memodifikasi variabel sesi 1 <?php
2 session_start(); 3 4 43 5 45 <?php
047 34 49 36 1 38 45 session_start();0 5 session_start();2 49 session_start();4 50 51 52 <?php
1Pada skrip di atas, kami telah memeriksa apakah variabel 370 disetel terlebih dahulu. Jika tidak disetel, kami akan menyetelnya ke 360, jika tidak, kami akan menaikkannya sebesar 360. Jadi, jika Anda me-refresh halaman ini beberapa kali, Anda akan melihat bahwa penghitung bertambah satu setiap kali. Di sisi lain, jika Anda ingin menghapus variabel sesi, Anda dapat menggunakan fungsi 373, seperti yang ditampilkan dalam cuplikan berikut 1 <?php
2 // start a session
3 session_start(); 4 5 // manipulate session variables
3<?php
033 34 36 // manipulate session variables
938 301_ session_start();_13_______ Dengan demikian, Anda tidak dapat lagi mengakses variabel 3_74 karena dihapus oleh fungsi 373 . Jadi begitulah cara Anda dapat mengubah informasi sesi Cara Menghancurkan SesiDi bagian ini, kita akan melihat bagaimana Anda dapat menghancurkan sebuah sesi. Di bagian sebelumnya, kita membahas fungsi 3_73, yang digunakan jika Anda ingin menghapus variabel sesi tertentu. Di sisi lain, jika Anda ingin menghapus semua data terkait sesi sekaligus, Anda dapat menggunakan fungsi 377 Fungsi 3_77 menghapus semua yang disimpan di sesi saat ini. Karena itu, itu tidak menghapus variabel global yang terkait dengan sesi atau menghapus cookie sesi Jadi, jika Anda menggunakan fungsi 3_77 untuk mengeluarkan pengguna, Anda harus menghapus variabel 352 dan juga menghapus cookie sesi. Jadi, cara yang disarankan untuk menghancurkan sesi sepenuhnya adalah 1 <?php
2 // start a session
3 session_start(); 4 5 <?php
13<?php
034 <?php
1736 <?php
1938 <?php
21session_start();0 <?php
23session_start();2 49 session_start();4 50 <?php
2952 <?php
1Penangan SesiSejauh ini, kita telah membahas bagaimana Anda dapat melakukan operasi yang berbeda dengan variabel sesi. Pada bagian ini, kita akan membahas apa itu session handler dan bagaimana Anda dapat menggunakannya Handler sesi PHP adalah mekanisme yang menginstruksikan PHP bagaimana seharusnya mengelola sesi. Penangan sesi default adalah sistem file, dan itu berarti bahwa PHP menyimpan sesi pada disk. Pada dasarnya, ini adalah file kecil di server yang diasosiasikan dengan id sesi unik. Itu adalah id yang sama yang disimpan dalam cookie sesi di browser klien Penangan sesi default di PHP memberi Anda semua fitur yang diperlukan, tetapi terkadang Anda ingin menyimpan sesi secara berbeda. Misalnya, Anda mungkin ingin mengelola sesi di database, Redis, atau penyimpanan lainnya. Dalam hal ini, Anda perlu menerapkan penangan sesi khusus yang menggantikan perilaku default Untuk memahami cara kerja penangan sesi khusus, kami akan membahas secara singkat bagaimana Anda dapat mengimplementasikan penangan sesi database yang mengelola sesi dalam database MySQL Bagaimana Menerapkan Handler Sesi DatabaseDalam siklus hidup sesi PHP, ada tahapan yang berbeda seperti buka, baca, tulis, dan tutup. Selain itu, ada dua tahap lagi. menghancurkan dan pengumpulan sampah. Jadi, saat Anda menerapkan penangan sesi khusus, Anda harus menangani setiap tahapan ini untuk mengelola data sesi dengan benar Ada dua cara Anda dapat mengimplementasikan penangan sesi khusus, Anda dapat menentukan fungsi callback untuk berbagai tahapan dalam siklus hidup sesi atau Anda dapat menulis kelas yang mengimplementasikan antarmuka 381. Dalam kedua kasus tersebut, Anda perlu menggunakan fungsi 382 untuk menginisialisasi pengendali sesi khusus Anda. Dalam kasus kita, kita akan menggunakan implementasi antarmuka ________0______81 Dalam contoh kami, kami akan menyimpan sesi di database MySQL. Jadi mari buat tabel yang menyimpan data sesi dengan menggunakan cuplikan berikut 1 <?php
332 <?php
353 <?php
374 <?php
395 <?php
41<?php
0<?php
43Selanjutnya, mari kita lihat bagaimana tampilan session handler custom database kita 1 <?php
2 <?php
473 45 4 <?php
515 <?php
0<?php
5434 <?php
5636 <?php
5838 <?php
60session_start();0 session_start();2 <?php
63session_start();4 <?php
5650 <?php
6752 <?php
69<?php
70<?php
71<?php
72<?php
73<?php
74<?php
75<?php
76<?php
60<?php
78<?php
79<?php
80<?php
81<?php
56<?php
83<?php
84<?php
85<?php
86<?php
87<?php
88<?php
89<?php
90<?php
91<?php
92<?php
93<?php
94<?php
95<?php
96<?php
97<?php
98<?php
99_____ Kelas penangan sesi khusus kami 384 menerapkan antarmuka 381 . Oleh karena itu, harus menerapkan metode yang dideklarasikan di antarmuka 381. Kita akan melihat metode ini satu per satu untuk memahami cara kerjanya masing-masing 1 <?php
542 <?php
563 <?php
584 <?php
60Pertama, untuk menggunakan kode ini, pastikan untuk mengganti 387, 388, dan placeholder lainnya dengan nilai aktual dalam metode 389 1 <?php
632 <?php
563 <?php
674 <?php
695 <?php
71<?php
0<?php
73________0______4________9______753_6__6 Saat sesi dimulai, metode 3_90 dipanggil. Ia mengembalikan 3_91 jika koneksi database berhasil. Jika ada masalah saat menyiapkan koneksi database, ini mengembalikan 392 1 <?php
802 <?php
563 <?php
844 <?php
865 <?php
88<?php
0<?php
9034 <?php
9236 <?php
9438 <?php
96session_start();0 session_start();2 <?php
99session_start();4 201 50 203 52 <?php
75<?php
70<?php
60Selanjutnya, PHP memanggil metode 3_93 untuk membaca data sesi. Metode 3_93 menerima ID sesi sebagai argumen pertama. Kami akan memeriksa apakah ada entri yang tersedia untuk ID sesi ini di 395 tabel. Jika ada, kami akan mengembalikan data sesi; 1 210 2 <?php
563 <?php
844 216 5 218 <?php
0<?php
9034 <?php
9636 38 <?php
69session_start();0 201 session_start();2 <?php
73session_start();4 <?php
7550 <?php
60Saat PHP perlu menyimpan atau menutup sesi, PHP akan memanggil metode 396 . Ini digunakan untuk menulis data sesi dalam database. Kami telah menggunakan sintaks 3_97 untuk memastikan bahwa jika ada entri, entri tersebut akan diperbarui; 1________10______91 2 <?php
563 295 4 <?php
60Metode 3_98 dipanggil setelah metode 396 dipanggil. Ia bekerja mirip dengan destruktor di kelas. Dalam kasus kami, tidak ada hal khusus yang perlu dilakukan dalam metode 398 1 236 2 <?php
563 <?php
844 242 5 <?php
88<?php
0<?php
9034 <?php
9636 38 <?php
69session_start();0 201 session_start();2 <?php
73session_start();4 <?php
7550 <?php
60Metode session_start();_01 dipanggil saat sesi dimusnahkan dengan fungsi 377 atau session_start();03 . Dalam metode ini, data sesi dihapus dari database jika ada 1 262 2 <?php
563 266 4 5 <?php
84<?php
0271 34 273 36 <?php
9038 <?php
96session_start();0 session_start();2 <?php
69session_start();4 201 50 <?php
7352 <?php
75<?php
70<?php
60Saat PHP menjalankan pengumpul sampah secara berkala, metode session_start();04 dipanggil. Variabel session_start();05 memiliki nilai opsi konfigurasi session_start();06 di php. file ini. Dalam metode ini, kami akan menghapus semua sesi yang kedaluwarsa sebagai bagian dari proses pengumpulan sampah Menggunakan Kelas Handler Sesi MySQLSekarang, mari kita lihat cara menggunakan kelas penangan ________0______84 1 340 2 342 3 session_start(); 4 346 Seperti yang Anda lihat, kita hanya perlu menginisialisasi kelas 384 dan meneruskannya ke fungsi 382 untuk menginstruksikan PHP agar menggunakan kelas 384 untuk pengelolaan sesi. Selanjutnya, kita telah memanggil fungsi 3_53 untuk memulai sesi. Terakhir, kami telah menginisialisasi variabel sesi untuk tujuan pengujian Jika semuanya berjalan lancar, Anda akan melihat entri sesi di session_start();12 tabel seperti yang ditunjukkan pada tangkapan layar berikut Dan dengan itu, Anda telah membuat penangan sesi khusus yang berfungsi yang mengelola sesi dalam database KesimpulanPada artikel ini, kami telah menjelajahi dasar-dasar penanganan sesi di PHP. Ini adalah konsep utama yang memungkinkan Anda menyimpan informasi di seluruh halaman web Di paruh pertama artikel, kami membahas konsep dasar sesi, dan selanjutnya kami membuat beberapa contoh PHP untuk mendemonstrasikan bagaimana Anda dapat membuat dan menghancurkan sesi serta memanipulasi variabel sesi. Mengapa kita menggunakan session start di PHP?PHP - fungsi session_start()
. Fungsi session_start() digunakan untuk memulai sesi baru atau melanjutkan sesi yang sudah ada .
Bagaimana cara kerja sesi di PHP?Browser mengirim permintaan ke server. PHP merespons dengan mengirimkan token unik yang mengidentifikasi sesi saat ini . Ini dikenal sebagai ID sesi. Dalam semua permintaan berikutnya, browser mengirimkan ID sesi untuk mengatakan, "Hai, ini saya lagi. " Semua data lain yang terkait dengan sesi disimpan di server web.
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. making a call to the session_start() function. This function first checks if a session is already started and if none is started then it starts one. It is recommended to put the call to session_start() at the beginning of the page.
Apa itu fungsi mulai sesi PHP () dan penghancuran sesi ()?session_destroy() menghancurkan semua data yang terkait dengan sesi saat ini . Itu tidak menghapus variabel global apa pun yang terkait dengan sesi, atau menghapus cookie sesi. Untuk menggunakan variabel sesi lagi, session_start() harus dipanggil. Catatan. Anda tidak perlu memanggil session_destroy() dari kode biasa. |