Mengapa Saya Dihalakan semula ke index.php Selepas Log Masuk Daripada Halaman Sebelum Saya?

Barbara Streisand
Lepaskan: 2024-11-02 01:31:31
asal
733 orang telah melayarinya

Why Am I Redirected to index.php After Logging In Instead of My Previous Page?

Mengubah hala ke Halaman Sebelumnya Selepas Log Masuk

Apabila log masuk ke tapak web, selalunya mudah untuk dialihkan semula ke halaman yang sedang dilihat pengguna sebelum mereka log masuk. Soalan ini meneroka isu kod di mana pengguna diubah hala ke index.php dan bukannya halaman yang dimaksudkan.

Dalam kod sampel yang disediakan, skrip log masuk-check.php menentukan status log masuk dan menghantar ubah hala parameter (p) ke halaman login.php. Walau bagaimanapun, daripada menghantar pengguna ke halaman yang dikehendaki, ia mengubah hala mereka ke index.php.

Untuk menyelesaikan isu ini, penyelesaian berikut dicadangkan:

  1. Luluskan Halaman Semasa Pengguna sebagai Rentetan Pertanyaan:

    • Ubah suai borang log masuk untuk memasukkan medan input tersembunyi yang menyimpan halaman semasa pengguna. Ini boleh dilakukan dengan menghantar $_SERVER['REQUEST_URI'] dalam skrip login.php.
    • Contohnya, jika pengguna membaca artikel (comment.php?articleid=17) dan cuba meninggalkan komen, URL akan diubah suai kepada:
      login.php?location=comment.php?articleid=17
  2. Kendalikan Rentetan Pertanyaan "Lokasi" dalam login-check.php:

    • Dalam skrip login-check.php, semak sama ada $_POST['lokasi'] telah diisi. Jika ya, simpannya dalam pembolehubah $redirect.
  3. Ubah Hala Berdasarkan Status Log Masuk dan Lokasi:

    • Jika log masuk berjaya, semak sama ada URL ubah hala tersedia dalam $redirect. Jika ya, ubah hala pengguna ke halaman tersebut. Jika tidak, ubah hala mereka ke index.php.
    • Jika log masuk gagal atau pengguna sudah log masuk, kendalikan mesej ralat yang sesuai atau ubah hala mengikut keperluan.
  4. Sahkan URL Ubah Hala:
    Adalah penting untuk mengesahkan nilai $_GET['lokasi'] sebelum mengubah hala pengguna untuk memastikan mereka tidak cuba mengakses URL berniat jahat.
  5. Ekod Rentetan Pertanyaan:
    Gunakan urlencode apabila menghantar URL sebagai parameter $_GET untuk mengekod aksara khas dengan betul.

Dengan melaksanakan perubahan ini, pengguna akan berjaya diubah hala ke halaman yang mereka lihat sebelum ini selepas log masuk, memastikan pengalaman pengguna yang lancar.

Atas ialah kandungan terperinci Mengapa Saya Dihalakan semula ke index.php Selepas Log Masuk Daripada Halaman Sebelum Saya?. 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!