2011-12-05 23 views
1

私は現在、PHP、Mysql、およびJqueryを使用するメンバーログインスクリプトに取り組んでいます(私はPHPとMysqlデータベースにしか関係しません)。私はこのためにチュートリアル/スクリプトを使用しています:Tutorialログイン情報を表示

私のスクリプトはチュートリアルのコーディングと似ていて、特定のMysqlデータベースの変更があります。私が現在達成しようとしているのは、ユーザーがログインした後で、名前、ランクなどの特定の情報を表示する必要があるということです。これにはIDを格納するmysqlデータベースの行があります。ユーザ名などは具体的に、私はそれが「demo.php」の部分に示されているスクリプトで表示したいスポットがあります:

<?php 
    // FROM TUTORIAL PAGE 
    if(!$_SESSION['id']): 
?> 
[...] 
<?php 
else: 

?> 

<div class="left"> 

    <h1>Members panel</h1> 

     <p>You can put member-only data here. 
</p> 
     <a href="registered.php">View a special member page</a> 
     <p>- or -</p> 
     <a href="?logoff">Log off</a> 

     </div> 

     <div class="left right"> 
     </div> 

<?php 
    endif; 
?> 

それが言う「あなたはメンバーのみのデータを置くことができますここでは、コードをデータベースから取得して、ログインしているユーザー名に固有の情報を表示したいとします。たとえば、ユーザーdan124がログインしている場合(メンバーのみのデータの場合)は、dan124現在のランク、蓄積されたポイント、そのようなもの。たとえば、データベースから取り出したい行は「pts」です。

私はいくつかのコードを試してみましたが、私が見つけたもので微妙に変化しましたが、達成しようとしているものは得られません。私は基本的なデータベースプルの周りに自分の道を知っているが、これは私の初めてのログインユーザベースの情報と具体的に動作しています。

誰でもこれを手伝うことができれば、本当に感謝しています。私は私が一緒に作業しているこのチュートリアルを使用した最初の人ではないと確信しています、この種の情報を引き出したい、私は何も見つけることができません!詳細が必要な場合は、私に教えてください。

+0

「else」。 'if'とは何ですか?誰かがログインしている場合にのみこれを表示したいのですが、どのようにチェックしますか?どのようにセッション状態を保存しますか? –

+0

ifは、チュートリアルのコーディングで作業しているので、上に示したチュートリアルのリンクの完全なコーディングに表示されています。 ifはステップ2にあり、51行目から開始します。 – Cloudy

+0

私はすでに私の編集を提出していたと私は信じています。 –

答えて

1

おかげさまで、Tom Hawsのおかげで、彼が提供したコーディングで必要なコーディングがわかりました。多くの試行錯誤の末、PHPデータベースを使って人のデータベースから特定の情報を取り出して表示します。これは私が使用するコーディングです:

<?php 
if($_SESSION['id']) 
$result = mysql_query("SELECT * FROM database WHERE `id` = $_SESSION[id]") 
    or die(mysql_error()); 

    while($row = mysql_fetch_array($result)) { 
echo '<b>Points Accumulated:</b>' .$row['pts']; 
echo '<br>'; 
echo '<b>Rank:</b>' .$row['rank']; 
}?> 

これにより、ログインしたユーザーは、自分の達成しようとしていたHIS/HERポイントとランクのみが表示されます。

1

あなたが聞いていることを誤解しているかもしれませんが、基本的なデータベースアーキテクチャとSQLのヘルプが必要であると聞いています。私の人生のために私はあなたがログインして訪問者を取得しているかわからない、今

visitor_id|visitor_login_name|visitor_current_rank|visitor_points_accumulated 
----------|------------------|--------------------|--------------------------- 
1   |dan124   |veteran    |1254 
6892  |mary8    |honored guest  |1 

:MySQLを使用する

非常に一般的な方法は、次のようになりますvisitorテーブルを持っているだろうこれよりも複雑なことをすることなく、login_nameをセッション変数として使用してログインしていると仮定して、次のクエリを使用して必要な情報を取得します。

$query = "SELECT * FROM `visitor` WHERE `visitor_login_name` = $_SESSION[visitor_login_name]"; 

次に、あなたはそのクエリを実行し、その結果は次のように、結果の配列のメンバーとして、あなたが必要な情報を持っています:

$ランク= $結果[「visitor_current_rank」];

私があなたの意図をどの程度うまく納得しているかについてのフィードバックをお寄せいただければ、ここからもう少し進んでいただけます。

+0

あなたは私の意図をかなりよく推測しました。現在私のMYSQLテーブルには、 'id、usr、pts、rank、pass、email、regIP、dt'の各フィールドがあります。主キーはidで、ユニークキーはusrです。 ptsはポイント、ランクはランクなどです。チュートリアルのステップ2に示されているように、86行目に情報が表示されるようにしたいと思います。コーディングは既にセッションを記録しています。 – Cloudy

+0

ああ、私も持っていますPHPコードの一部が 'echo" ポイント: "$ row ['pts']のようなものであると仮定していました。 "";私の非ユーザデータベースのプルで使用しているのと同じですが、私はこのような行を得ることができませんでした。 – Cloudy

+0

あなたが提供した変数のいくつかを使用してコーディングを行います。私は実際のコードを私の答えとして投稿しました。ありがとうTom! – Cloudy

関連する問題