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

Patricia Arquette
Lepaskan: 2024-11-01 00:59:01
asal
456 orang telah melayarinya

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']));
    Salin selepas log masuk
  2. log masuk-check.php: Dapatkan semula URL destinasi daripada Pembolehubah $_POST['lokasi']:

    $redirect = NULL;
    if($_POST['location'] != '') {
     $redirect = $_POST['location'];
    }
    Salin selepas log masuk
  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();
    }
    Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!