2017-07-09 94 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"); 
}