Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Mengubah Hala Pengguna Kembali ke Halaman Sebelumnya Selepas Log Masuk?

Bagaimana untuk Mengubah Hala Pengguna Kembali ke Halaman Sebelumnya Selepas Log Masuk?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-02 04:47:02226semak imbas

How to Redirect Users Back to the Previous Page After Login?

Ubah hala ke Halaman Sebelumnya Selepas Log Masuk

Apabila pengguna log masuk ke tapak web, selalunya wajar untuk mengubah hala mereka kembali ke halaman yang mereka sedang melihat sebelum mereka melog masuk. Ini memastikan pengalaman penyemakan imbas yang lancar dan membolehkan pengguna meneruskan tugas mereka.

Untuk mencapai pengalihan ini, pendekatan biasa ialah menghantar URL halaman semasa pengguna sebagai parameter rentetan pertanyaan dalam borang log masuk. Contohnya:

<code class="php">header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));</code>

Kod ini menambahkan parameter "lokasi" pada URL halaman log masuk. Nilai parameter ini ialah URL halaman semasa, dikodkan untuk memastikan ia serasi dengan parameter URL.

Dalam borang log masuk, tambah medan input tersembunyi untuk menyimpan parameter "lokasi":

<code class="php">echo '<input type="hidden" name="location" value="';
if (isset($_GET['location'])) {
    echo htmlspecialchars($_GET['location']);
}
echo '" />';</code>

Medan input ini akan diisi apabila borang log masuk diserahkan.

Dalam skrip login-check.php, semak sama ada parameter "lokasi" terdapat dalam data POST. Jika ya, simpan nilainya dalam pembolehubah $redirect:

<code class="php">$redirect = NULL;
if ($_POST['location'] != '') {
    $redirect = $_POST['location'];
}</code>

Jika log masuk berjaya, ubah hala pengguna ke URL $redirect dan bukannya destinasi lalai (cth., "index.php") :

<code class="php">if (isset($redirect)) {
    header("Location:" . $redirect);
} else {
    header("Location:login.php?p=3");
}</code>

Pertimbangan Keselamatan

Adalah penting untuk mengesahkan parameter $_GET['location'] sebelum mengubah hala pengguna. Ini menghalang pengguna berniat jahat daripada mengubah hala pengguna ke URL berbahaya. Satu cara untuk mengesahkan parameter adalah untuk menyemak sama ada ia bermula dengan nama domain tapak web.

Atas ialah kandungan terperinci Bagaimana untuk Mengubah Hala Pengguna Kembali ke Halaman Sebelumnya Selepas Log Masuk?. 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