Interupt Giriş ve PHP / MySQL kullanarak Sayfaya Geri bakın

2 Cevap php

Şu anda PHP / MySQL kullanıyorum, ve ben en iyi yolu, kimliği doğrulanmamış bir kullanıcı giriş yapmak bilmek istiyorum, ve sonra onları otomatik olarak oturum sayfaya yönlendiriliyorsunuz olurdu

Örneğin:

1) User tries to open up secure page.
2) They're re-directed and prompted to login.
3) After they login successfully, they're taken back to the URL they were trying to access.

Şu anda, benim "güvenli" sayfalarında, ben şu PHP kodu kurdunuz: (bu 'güvenli' bunu yapmak için doğru yolu bile emin değil):

<?php
session_start();

 if ($_SESSION['first'] == "" && $_SESSION['usrID'] == "") {

    print" <script>
   window.location=\"../login/index.php\"
   </script> ";

    }

   ?>

Bu özelliği sağlayan (ve muhtemelen daha iyi benim 'güvenli' kod yapmak) konusunda herhangi bir öneriniz, ben çok takdir ediyorum.

Teşekkürler!

2 Cevap

Bir oturumda var isteyen URL depolamak.

$_SESSION['destination'] = $_SERVER['REQUEST_URI'];

Sonra, bir kez giriş, böyle bir şey yapabilirsiniz:

if (isset($_SESSION['destination'])) {

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

Ayrıca, bu iyi bir fikir değil

  print" <script>
   window.location=\"../login/index.php\"
   </script> ";

Yönlendirmek için JavaScript kullanarak sorunları var. Biri için, hiçbir şey JavaScript devre ile olur. Konumu başlıkları göndermeyi deneyin

header('Location: ../login/index.php');
exit; // Call exit to make sure the rest of your code never executes

Sen / login / index.php dosyasında yönlendirme URI almak ve gizli bir alan olarak giriş formuna verebilir. Ve size kullanıcı günlükleri sadece sayfa onu yönlendirmek sonra o önceden erişmeye çalışıyordu.

Bunun gibi bir şey:

/login/index.php :

<?php

// if user submitted login form
if(isset($_POST['login'])) {

// do your login actions here
// and after...
header("Location: " . $_POST['returnto']);

}


//

$user_came_from = htmlspecialchars( $_SERVER['HTTP_REFERER'] );

?>
<form name="my_login_form" action="" method="post">
user: <input type="text" name="user" value="" />
pass: <input type="password" name="pass" value="" />
<input type="hidden" name="returnto" value="<?php echo $user_came_from ?>" />
<input type="submit" name="login" value="login" />
</form>