2017-08-04 18 views
1

私はシンプルなログインシステムを書いていますが、それは機能しています。私はログインしたときにのみ表示可能ないくつかのページを設定しました。ページを特定のセッションIDに制限したいのですが。それをどうやってやりますか?これは私が現在ページを制限するために使用しているものです:ページを特定のセッションIDに限定する

私はこれをどのu_idから特定のu_idに制限しますか?

+0

セッションIDが行ったり来たり、あなたがしているものを再考することをお勧めします達成しようとしている。 – Difster

+0

特定のユーザーにページを制限しようとしています。理論的にセッションIDはユーザー固有IDに設定されていますが、各固有IDの1つのみが必要です。これを達成するより良い方法はありますか? –

+0

if($ _SESSION ['u_id'] == '特定のID'){/ *あなたのビューをロードする* /} 'をチェックすると、他のページにリダイレクトされます。 – Sinto

答えて

1

特定のIDの配列を作成し、次にin_arrayを使用してユーザーを検証できます。

<?php 
session_start(); 
$sessionIds = array('1','2'); //for example i have inserted 1 and 2 as ids 
if (!isset($_SESSION['u_id']) || in_array($_SESSION['u_id'], $sessionIds)) { 
header("Location: ../index.php?index=mustlogin"); 
exit(); 
} 

説明

ここで私は、ページにアクセスすることを許可しません、特定のIDの配列$ sessionIdsを作成しました。 in_arrayで現在のセッションのユーザーIDが$ sessionIdsに存在することを確認し、ユーザーにリダイレクトします。

+0

これは機能しました。ありがとうございました。 –

1

お客様の$ _SESSION ['uid']と特定のIDを一致させる必要があります。そのためには、特定のユーザーIDのために何らかの種類のデータが必要です。これを行うための複数のアプローチがありますが、私は配列でこれを行うでしょう。何が必要あなたの特定のID

//Should've come from database of your users 
     $specific= array(
     "id" => 1 
    ); 

の配列であり、そしてちょうどin_arrayて配列内で検索()

if (!in_array($_SESSION['u_id'], $specific)) { 
    header("Location: ../index.php?index=mustlogin"); 
    exit(); 
} 
関連する問題