إعادة التوجيه إلى الصفحة السابقة بعد تسجيل الدخول
قد تكون عدم القدرة على إعادة توجيه المستخدمين إلى وجهتهم المقصودة بعد تسجيل الدخول الناجح عقبة محبطة. من خلال دمج تقنيات محددة والتعامل مع المخاطر المحتملة، من الممكن حل هذه المشكلة بشكل فعال.
الحل: استخدام متغير $_GET
النهج الشائع هو استخدام $ _GET متغير لالتقاط الصفحة الحالية للمستخدم. عند إعادة توجيههم إلى صفحة تسجيل الدخول، فإن إلحاق هذا المتغير يسمح للبرنامج النصي باسترداد الوجهة المطلوبة بعد المصادقة الناجحة. على سبيل المثال، إذا كان المستخدم يقرأ مقالًا ويحاول ترك تعليق، فيجب تمرير عنوان URL لقسم التعليق (على سبيل المثال، comment.php?articleid=17) إلى صفحة تسجيل الدخول عبر متغير $_GET.
التنفيذ:
في الكود المقدم:login.php: أرسل المستخدم إلى تسجيل الدخول صفحة تحتوي على الصفحة الحالية كمعلمة $_GET:
header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
login-check.php: استرجع عنوان URL الوجهة من متغير $_POST['location']:
$redirect = NULL; إذا($_POST['الموقع']!= '') { $إعادة التوجيه = $_POST['الموقع'];header("Location:login.php?location=" . urlencode($_SERVER['REQUEST_URI']));
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(); }
الاحتياطات:
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3