2017-07-09 92 views
1

我想知道如何限制訪問已登錄的用戶。 我知道如何以相反方式執行此操作,例如。限制訪問誰沒有登錄的人。登錄時阻止訪問登錄和註冊腳本(PHP會話)

我想這樣做,因爲我不想當他們在登錄他們訪問登錄和註冊。

這裏是我的會議,如果有幫助

<?php 
session_start(); 
if(!isset($_SESSION['user_id']) || !isset($_SESSION['logged_in'])){ 
//User is not logged in. Redirect them back to the login.php page. 
header('Location: login.php'); 
exit; 
} 
?> 

這裏是會話,當他們登錄

if($validPassword){ 

$_SESSION['user_id'] = $user['id']; 
$_SESSION['logged_in'] = time(); 

header('Location: index.php'); 
exit; 
} 

感謝。

回答

1

Obvioulsy你必須檢查,如果用戶登錄:

// login.php 
if(isset($_SESSION['user_id']) && isset($_SESSION['logged_in'])) { 
    header('Location: /somewhere'); 
    exit; 
} else { 
    // show form or whatever 
} 
+0

好吧,那很簡單,謝謝。我不知道檢查用戶是否登錄,或用戶沒有登錄的區別。 – SebastianP

+0

如果答案有幫助 - 隨意__accept__它) –

+0

是的,仍然需要等待5分鐘,但我會做到這一點:) 但是,我的腳本中不需要else語句。 – SebastianP

1

login.php,檢查它們是否已登錄,並打印錯誤或重定向他們。

if (isset($_SESSION['logged_in'])) { 
    die("You're already logged in"); 
}