Php membuat sesi tidak kedaluwarsa

Fungsi session_start() digunakan untuk membuat sesi baru bagi pengguna. Nama sesi default adalah PHPSESSID dan digunakan untuk memeriksa sesi ada atau tidak. Jika tidak ada cookie atau informasi sesi yang ditemukan maka sesi baru akan dibuat untuk pengguna, jika tidak, sesi saat ini akan digunakan untuk pengguna

Mengatur Timeout Sesi

Batas waktu sesi dapat diatur dengan mengatur nilai dua arahan di php. ini atau menggunakan fungsi ini_set() dalam skrip PHP. Arahan diberikan di bawah ini

  1. sidang. gc_maxlifetime
  2. Ini digunakan untuk mengatur batas waktu dalam detik untuk menyimpan informasi sesi di server untuk waktu yang lama

  3. sidang. cookie_lifetime
  4. Ini digunakan untuk mengatur batas waktu kedaluwarsa untuk cookie PHPSESSID

Tetapkan Timeout Sesi di PHP

Cara mengatur nilai timeout sesi di PHP untuk menangani sesi pengguna telah ditunjukkan di bagian tutorial ini dengan menggunakan beberapa contoh

Contoh 1. Tetapkan nilai batas waktu sesi menggunakan arahan PHP

Buat file PHP dengan script berikut untuk mengetahui cara setting session timeout dengan menggunakan direktif PHP dan penanganan sesi berdasarkan nilai direktif. Fungsi ini_set() telah digunakan dalam skrip untuk mengatur nilai sesi. gc_maxlifetime dan sesi. arahan cookie_lifetime. Durasi sesi telah diatur menjadi 2 detik untuk tujuan pengujian. Array $_COOKIE variabel superglobal telah digunakan di sini untuk menangani sesi. Sesi baru akan dibuat untuk pengguna saat skrip dijalankan di browser dan setelah dua detik sesi akan kedaluwarsa



// Tetapkan batas waktu sesi selama 2 detik

$batas waktu = 2;

// Tetapkan waktu maksimum sesi

ini_set( "sesi. gc_maxlifetime", $timeout );

// Tetapkan masa pakai cookie untuk sesi tersebut

ini_set( "sesi. cookie_lifetime", $timeout );


// Mulai sesi baru

sesi_mulai();

//Tetapkan nama sesi default

$s_name = session_name();


//Periksa sesi ada atau tidak

jika(disetel( $_COOKIE[ $s_name ] )) {


    setcookie( $s_name, $_COOKIE[ $s_name ], time() + $timeout, '/' );

    echo "Sesi dibuat untuk $s_name . """"""""";

}

kalau tidak

    gema "Sesi telah berakhir. """"""""";

?>

Keluaran

Output berikut akan muncul setelah menjalankan skrip di atas untuk pertama kalinya. Output menunjukkan nama pengguna sesi default, PHPSESSID

Php membuat sesi tidak kedaluwarsa

Output berikut akan muncul jika halaman di-refresh setelah 2 detik

Php membuat sesi tidak kedaluwarsa

Contoh-2. Tetapkan nilai batas waktu sesi menggunakan larik $_SESSION

Buat file PHP dengan skrip berikut untuk mengatur nilai batas waktu sesi menggunakan variabel superglobal PHP, $_SESSION. Durasi waktu sesi telah diatur ke 5 detik untuk tujuan pengujian. Selanjutnya, waktu permintaan pengguna untuk halaman disimpan dalam variabel bernama $time. Ketika durasi waktu antara variabel $time dan aktivitas terakhir pengguna akan lebih dari 5 detik, maka sesi pengguna saat ini akan dihancurkan dan sesi baru akan dibuat. Fungsi session_unset() dan session_destroy() telah digunakan dalam skrip untuk menghancurkan sesi



// Mulai sesi baru

sesi_mulai();

// Tetapkan durasi sesi selama 5 detik

$duration = 5;

// Baca waktu permintaan pengguna

$time = $_SERVER['REQUEST_TIME'];


//Periksa sesi pengguna ada atau tidak

jika (diisi($_SESSION['LAST_ACTIVITY']) &&

    ($waktu - $_SESSION['LAST_ACTIVITY']) > $duration) {

    //Hapus variabel sesi

    session_unset();

    //Hancurkan sesi

    session_destroy();

    //Mulai sesi baru lagi

    sesi_mulai();

    gema "Sesi baru telah dibuat. """"""""""""""""";

}

kalau tidak

    gema "Sesi saat ini ada. """"""""""""""""";  


//Tetapkan waktu aktivitas terakhir pengguna

$_SESSION['LAST_ACTIVITY'] =< $time;

?>

Keluaran

Output berikut akan muncul setelah menjalankan skrip di atas untuk pertama kalinya

Php membuat sesi tidak kedaluwarsa

Output berikut akan muncul jika halaman di-refresh setelah 5 detik

Php membuat sesi tidak kedaluwarsa

Contoh-3. Tetapkan nilai batas waktu sesi menggunakan larik $_SESSION dan fungsi time()

Buat file PHP dengan skrip berikut untuk menyetel nilai batas waktu sesi menggunakan variabel superglobal PHP, $_SESSION, dan fungsi PHP bawaan, time(). Fungsi time() mengembalikan nilai timestamp sistem saat ini. Durasi waktu sesi telah diatur menjadi 600 detik (10 menit) dalam skrip

$_SESSION['start'] telah digunakan untuk menyimpan waktu mulai sesi. Ketika durasi waktu antara waktu saat ini dan waktu mulai sesi akan lebih dari 10 menit, maka sesi pengguna saat ini akan dimusnahkan. Fungsi session_unset() dan session_destroy() telah digunakan dalam skrip seperti contoh sebelumnya untuk menghancurkan sesi




// Mulai sesi baru

sesi_mulai();


//Periksa waktu mulai sesi disetel atau tidak

jika(. isset($_SESSION['start']))

{

    //Tetapkan waktu mulai sesi

    $_SESSION['mulai'] = time();

}


//Periksa sesi telah kedaluwarsa atau tidak

jika (diisi($_SESSION['start']) && (time() - $_SESSION['start'] >600)) {

    //Hapus variabel sesi

    session_unset();

    //Hancurkan sesi

    session_destroy();

    gema "Sesi telah berakhir. """""""""""""""""""""""""";

}

kalau tidak

    gema "Sesi saat ini ada. """""""""""""""""""""""""";

?>

Keluaran

Output berikut akan muncul setelah menjalankan skrip di atas untuk pertama kalinya. Pesan kedaluwarsa akan ditampilkan jika halaman disegarkan setelah 10 menit

Php membuat sesi tidak kedaluwarsa

Kesimpulan

Tiga cara berbeda untuk menyetel nilai batas waktu sesi untuk menangani sesi pengguna di PHP telah ditunjukkan dalam tutorial ini. Pengguna PHP akan mendapatkan konsep dasar implementasi sesi pengguna dengan menggunakan variabel $_COOKIE dan $_SESSION dan dapat menerapkannya dalam skrip mereka setelah membaca tutorial ini

Bagaimana cara tidak kedaluwarsa sesi di PHP?

Batas batas waktu sesi dapat diatur dengan mengatur nilai dua direktif di php. file ini atau menggunakan fungsi ini_set() dalam skrip PHP . Arahan diberikan di bawah ini. Ini digunakan untuk mengatur batas waktu dalam detik untuk menyimpan informasi sesi di server untuk waktu yang lama.

Bagaimana cara mengatur sesi seumur hidup di PHP?

Untuk mengatur waktu hidup di php, Anda dapat menggunakan fungsi session_set_cookie_params, sebelum session_start . session_set_cookie_params(3600,"/"); .

Bagaimana cara menghentikan sesi dari waktu habis?

Untuk mencegah waktu tunggu sesi, Anda harus berinteraksi dengan buku kerja . Ini mungkin termasuk navigasi di sekitar buku kerja, pengurutan, pemfilteran, atau aktivitas lain apa pun yang Anda lakukan dengan elemen buku kerja. Saat server mendeteksi interaksi pengguna dengan buku kerja, sesi tetap aktif.

Bagaimana cara mengakhiri sesi PHP setelah 30 menit?

Catatan. .
sidang. .
jika Anda ingin mengakhiri sesi setelah 30 menit aktivitas alih-alih setelah 30 menit sejak dimulai, Anda juga harus menggunakan setcookie dengan kadaluarsa waktu()+60*30 agar cookie sesi tetap aktif