2011-12-05 252 views
1

我目前正在使用PHP,Mysql和Jquery的成員登錄腳本(儘管我只需要與PHP和Mysql數據庫有關的幫助)。我正在爲此使用一個教程/腳本:Tutorial顯示已登錄的用戶信息

因此,我的腳本目前看起來類似於教程中的編碼,並對我的特定Mysql數據庫進行了更改。我目前試圖實現的是,一旦用戶登錄,我想要向他們顯示具體信息,例如他們的姓名,職位等。我在mysql數據庫中有這樣的行,這也包含ID,用戶名等具體而言,可以說我希望它在腳本中,這是在「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在頂部提供的教程鏈接中顯示爲完整編碼。該如果是在步驟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']; 
}?> 

這導致登錄的用戶僅顯示他/她的分數和等級,這正是我試圖實現的目標。

1

我可能誤解了你的問題,但我聽說你需要基本的數據庫體系結構和SQL方面的幫助。

一個使用MySQL將是非常常見的方法有visitor表看起來像這樣:

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

現在,我的生活我不知道你是如何獲得登錄訪客做沒有比這更復雜的事情了,但是假設你讓他們的login_name以session變量的形式登錄,你可以使用下面的查詢來獲取你想要的信息。

$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。點數是用於點數,點數是用於排名等。我想讓信息顯示在第86行上,如教程中的第2步所示,其中編碼已經記錄了會話。 – Cloudy

+0

哦,另外,我也有一直假設PHP代碼的一部分會像'echo'Points:「。$ row ['pts']。 「」;'就像我在非用戶數據庫中使用的那樣,但是我一直無法得到這樣的線路來工作。 – Cloudy

+0

使用您提供的一些變量管理我的編碼。我發佈了實際的代碼作爲我的答案,非常感謝湯姆! – Cloudy