2011-01-26 67 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 2011-01-26 15:11:36

回答

7

你不提你如何存儲你的用戶在你的會話中,但這樣的事情應該爲你做:

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

這將檢查你是否在你的會話中有一個用戶,如果有的話,重定向到index2.php

您需要根據您的會話密鑰更改'user'

+0

完美!我有一個名爲logged_in的函數,必須將其替換爲!好東西。 – eberswine 2011-01-26 15:48:04