Bagaimana Anda memeriksa apakah sesi kedaluwarsa di php?

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

Bagaimana Anda memeriksa apakah sesi kedaluwarsa di php?

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

Bagaimana Anda memeriksa apakah sesi kedaluwarsa di php?

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 lainnya

    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

Bagaimana Anda memeriksa apakah sesi kedaluwarsa di php?

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

Bagaimana Anda memeriksa apakah sesi kedaluwarsa di php?

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

Bagaimana Anda memeriksa apakah sesi kedaluwarsa di php?

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 memeriksa status sesi di PHP?

Gunakan selalu session_status() , untuk memeriksa apakah sesi sudah dimulai dan aktif. if(session_id() === "") session_start();

Bagaimana Anda memeriksa apakah sesi kedaluwarsa atau tidak?

Anda dapat memeriksa HttpContext. Saat ini. Pengguna. Identitas .

Bagaimana cara menampilkan waktu sesi di PHP?

Fungsi time() mengembalikan nilai stempel waktu sistem saat ini . Durasi waktu sesi telah diatur menjadi 600 detik (10 menit) dalam skrip. $_SESSION['start'] telah digunakan untuk menyimpan waktu mulai sesi.

Berapa lama sesi PHP valid?

Secara default, variabel sesi bertahan hingga pengguna menutup browser . Jadi; .