2011-01-26 10 views
1

ここで問題が発生しました:

ログインスクリプトを作成したので、ログインした後に別のページに移動します。また、他のページにアクセスしようとするとログインページにリダイレクトされます。

私の問題は、ユーザーがログインして再度ログインページに遭遇した場合です。事故によって、ユーザーがログインしてその次のページにリダイレクトすることを認識したいと思いますindex2.php)??ここで

:-(悩みを持つことは、これまでの私のコードです:ここでは

require_once "inc/functions.class.php"; 
$quickprotect = new functions('inc/ini.php'); 

if (isset($_SESSION['goAfterLogin'])){ 
    $goto = $_SESSION['goAfterLogin']; 
    unset($_SESSION['goAfterLogin']); 
} 
else $goto = $quickprotect->settings['DEFAULT_LOGIN_SUCCESS_PAGE']; 

if (isset($_POST[username])) { 
    if($quickprotect->login($_POST[username], $_POST[password])) header ("Location: $goto"); 
} 

私は機能のページで、ユーザーのセッションを保存する方法です

public function is_logged_in() { 
     //Determines if a user is logged in or not. Returns true or false; 
      if ($_SESSION['logged_in'] === md5($this->settings[ADMIN_PW])) { 
       return true; 
      } 
      else return false; 
     } 
+1

現在のユーザーをセッションにどのように格納しますか? – alexn

答えて

7

あなたが保存どのように言及していませんあなたのセッションのあなたのユーザーが、あなたのためにそれを行う必要があります:

if(isset($_SESSION['user'])) 
{ 
    header("Location: index2.php"); 
    exit; 
} 

あなたのセッションにユーザーがいる場合は、index2.phpにリダイレクトしてください。

セッション鍵に応じて'user'を変更する必要があります。

+0

完璧!私はlogged_inという名前の関数をそれを置き換える必要があった!素晴らしいもの。 – eberswine