2012-03-08 3 views
0

私はすでに登録ページを完了しており、円滑に動作します。PHPメンバーエリアにログイン

今、私はログイン部分を把握する必要があります。私はそれを持っていたいので、一度ユーザーがそれをプライベートページに持ち込むと、サインインしたユーザーだけが見ることができます。 ユーザーごとに個別化する必要はありません。単純な基本メンバーページです。

(こちらのページでテスト・ログです:http://graves-incorporated.com/test_sites/member_test/register/login.php)は

私が持っているコードは、今ではそれらを記録しますが、唯一のエコー「ようこそ、ユーザ名

<?php 
session_start(); 
include('connection.php'); 

if(isset($_POST['form'])){ 
if(mysql_num_rows(mysql_query("SELECT id FROM users WHERE username = '$_POST[username]'")) > 0){ 
    $user_info = mysql_fetch_object(mysql_query("SELECT * FROM users WHERE username = '$_POST[username]' LIMIT 1")); 

    if($_POST['password'] != $user_info->password){ 
     echo '<b>Username/Password Invaild</b>'; 
    }else{ 
     echo '<b>Welcome, '.$user_info->username.'.</b>'; 
     $_SESSION['user_id'] = $user_info->id; 
    } 
}else{ 
    echo '<b>Username Invalid</b>'; 

} 
} 
?> 

それでは、どのように求められますメンバーページに移動しますか?

ところで、私はこれで合計のnoobです!

おかげで、 ダン

答えて

1

おそらく私の答えhereが役に立ちます。

簡単に言えば、各ページはセッション変数をチェックして、ユーザーがログインしていることを確認します。ログインしていない場合は、ログインページにリダイレクトされます。逆の場合はログインページに当てはまります。ログインに成功すると、別のページにリダイレクトされます。

+0

私はあなたの例を見て、それが仕事を得ることができません。間違った場所や何かにコードスニペットを入力する必要があります... –

+0

"$ _SESSION ['logged_in'] = true;"と入力しますか?エコーコマンドがどこにあるの? –

+0

ユーザーが正常にログインすると、logged_in変数が設定されます。他のすべてのページの先頭にその変数があるかどうかをチェックします。それが本当でない場合(つまり、まだログインしていない場合)、ログインページにリダイレクトします。 – SenorAmor

1

www.example.comはあなたのプライベートページへのURLは、あなたのコードの下部にheader("Location: http://www.example.com/")を追加します。あなたはページにリダイレクトされます。

1

使用この:

header('Location: my_member_page.php'); 

これは、ページにユーザーをリダイレクトします...

1
header("Location: members.php"); 
exit; 

これは "members.php" ページに転送します。

+0

私はこれと私の "エコー"コードを置き換えますか?そのmembers.phpページが有効でログインしていることを確認するために、一番上にいくつかのコーディングが必要でしょうか? –

+0

はい "Welcome"エコーをヘッダーに置き換えて、メンバーページに移動します。 メンバーページでは、セッションが開始された/まだ有効であることを確認し、ユーザー名がまだログインしている場所を表示したり、セッションに変数を渡して、単にログインしたことを示すことができます。あなたが望むなら「ログインしてくれてありがとう」というメッセージを表示するように設定してください。 – Steve

2

これは、以前に与えられた答えといくつかの答えを繰り返すPHPマニュアルへのリンクです。