Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengubah hala ke Halaman Sebelumnya Selepas Log Masuk dalam PHP?

Bagaimana untuk mengubah hala ke Halaman Sebelumnya Selepas Log Masuk dalam PHP?

Patricia Arquette
Patricia Arquetteasal
2024-11-01 00:59:01458semak imbas

How to Redirect to Previous Page After Login in PHP?

Mengubah hala ke Halaman Sebelumnya selepas Log Masuk

Ketidakupayaan untuk mengubah hala pengguna ke destinasi yang dimaksudkan selepas log masuk berjaya boleh menjadi halangan yang mengecewakan. Dengan menggabungkan teknik khusus dan mengendalikan kemungkinan perangkap, adalah mungkin untuk menyelesaikan isu ini dengan berkesan.

Penyelesaian: Menggunakan Pembolehubah $_GET

Pendekatan biasa ialah menggunakan $ _GET pembolehubah untuk menangkap halaman semasa pengguna. Apabila mengubah hala mereka ke halaman log masuk, menambahkan pembolehubah ini membolehkan skrip mendapatkan semula destinasi yang diingini selepas pengesahan berjaya. Sebagai contoh, jika pengguna membaca artikel dan cuba meninggalkan ulasan, URL untuk bahagian ulasan (cth., comment.php?articleid=17) hendaklah dihantar ke halaman log masuk melalui pembolehubah $_GET.

Pelaksanaan:

Dalam kod disediakan:

  1. log masuk.php: Hantar pengguna ke halaman log masuk dengan halaman semasa sebagai parameter $_GET:

    header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
  2. log masuk-check.php: Dapatkan semula URL destinasi daripada Pembolehubah $_POST['lokasi']:

    $redirect = NULL;
    if($_POST['location'] != '') {
     $redirect = $_POST['location'];
    }
  3. Jika log masuk berjaya, halakan pengguna ke URL destinasi atau halaman lalai (jika tiada ditentukan):

    if(isset($_SESSION['id_login'])) {
     // if login is successful and there is a redirect address, send the user directly there
     if($redirect) {
         header("Location:". $redirect);
     } else {
         header("Location:login.php?p=3");
     }
     exit();
    }

Langkah berjaga-jaga:

  • Sahkan URL Destinasi: Pastikan URL destinasi adalah selamat dan tidak mengandungi kandungan berniat jahat.
  • Gunakan urlencode: Gunakan urlencode() apabila menghantar URL sebagai parameter $_GET untuk mengendalikan aksara khas dengan betul.

Atas ialah kandungan terperinci Bagaimana untuk mengubah hala ke Halaman Sebelumnya Selepas Log Masuk dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn