2011-08-16 1 views
0

メンバーシップシステムを作成しましたが、サインインしたユーザーはコメントを入力できます。しかし、サインインすることなく、誰もリンクバーにPHPファイルの名前を入力することで、すべてのページにアクセスできます。登録していないユーザーをホームページにリダイレクトする方法は?ログインしたユーザーのみのページを表示

session_start(); // best to put this at the top of the first php file that's called, preferably on every page 
// check user credentials 
if (!valid credentials) { 
    header('Location: login.php'); 
    exit(); 
} 

$_SESSION['user'] = 'username'; 

そして、あなたがチェックしたいPHPファイル内:

session_start(); // best to put this at the top of the first php file that's called, preferably on every page 

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

答えて

0

あなたがセッションを作成する必要がありますif文:

if(login_check()) 
{ 
    // Show the page 
} 
else 
{ 
    header('Location: adresse'); 
    exit(); 
} 
+1

あなたは忘れてしまった!それを使用しないと、スクリプトは実行され、コードは保護されません! – Cydonia7

+0

@Skydreamer:もちろんあなたは正しい。ありがとう – PeeHaa

+0

これらのスクリプトのほとんどは、セッションが持続しないためにCookieを使用します。 –

0

と同じくらい簡単だユーザーが正常にログインしている場合 おかげ

+0

質問は確認する方法です。 -1 –

+0

彼のコードによって異なります:/ – Cydonia7

0

これは、ログインしたユーザーの識別方法によって異なりますers、それはセッションですか?クッキー?これらのメソッドを使用して、ログインした状態をテストする必要があります。ユーザーがログインしていない場合は、Locationヘッダーを送信して、彼をホームページにリダイレクトする必要があります。

header('Location: index.php'); die(); 

die();その後、残りのコードが実行されないようにします。

注:出力が送信される前に送信する必要があります。そうでない場合は動作しません。

関連する問題