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:
log masuk.php: Hantar pengguna ke halaman log masuk dengan halaman semasa sebagai parameter $_GET:
header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
log masuk-check.php: Dapatkan semula URL destinasi daripada Pembolehubah $_POST['lokasi']:
$redirect = NULL; if($_POST['location'] != '') { $redirect = $_POST['location']; }
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:
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!