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

Mary-Kate Olsen
Lepaskan: 2024-11-02 04:47:02
asal
224 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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!