PHP giriş yaptıktan sonra geri yönlendirmek için nasıl

2 Cevap php

(Biz bu sitede giriş yapmadın gibi) bazen biz ne zaman giriş tamamlandığında, site sadece linke bizi yönlendirmek, biz davet bağlantısını tıkladığınızda, sadece giriş için indeks sayfasından bize göndermek, bir siteden link almak Hangi biz tıkladım.

Bu nasıl php elde edilebilir?

2 Cevap

En "a.php" denilen "hedef sayfasını" diyelim; burada tarif ettiğin ne yapıyorsun olası bir yolu:

  • You first call a.php from your browser
    • a.php Eğer giriş değil algılar
    • Bu URL söylüyorum index.php Eğer a.php zaman oturum açmış yönlendirilmesi gereken bir parametre ile, index.php sizi yönlendirir
    • yönlendirme gibi bir şey işaret header function, with a Location başlığı kullanılarak yapılır http://yoursite.com/index.php?destination=a.php
  • On index.php, you deal with the logging-in mecanism
    • yani bir formda, gizli bir alan ile, ki içinde, $_GET['destination'] depolanır (properly escaped, of course)
    • Bu formu ya index.php (i.e. itself) veya başka bir sayfaya mesaj; Oldukça önemli değil.
  • When the logging-in form is posted :
    • Eğer kimlik bilgilerini kontrol
    • if login+password are OK :
      • Bir destination alan formun veri varsa, size gelen sayfaya kullanıcıyı yönlendirme
      • başka, bir varsayılan sayfa kullanıcıyı yönlendirmek.
      • Tabii ki, o emin sadece bir "geçerli" sayfasına yönlendirmeyi kabul eden (the definition of "valid" can change -- but can at least mean "a page on your site") yapmak için, destination alanın içeriği kontrol etmek ilginç olabilir

Ayrıca denemek isteyebilirsiniz ...

start_session();
$_SESSION[destination] = strip_tags($_GET[destination]);

.. Gizli bir alan olarak değişken çağrı aksine. Sonra (ne gerek check fonksiyonları) POST oradan check-çıkışlar yapmak, örneğin

if ($_SESSION[destination] !='' || empty($_SESSION[destination]) && !is_numeric($_SESSION[destination])){

header('Location:'.$_SESSION[destination]);

}