2017-07-09 16 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

// 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

は、チェックして、エラーを印刷したり、それらをリダイレクトします。

if (isset($_SESSION['logged_in'])) { 
    die("You're already logged in"); 
} 
関連する問題