2014-02-13 31 views
1

因此,目前在我的會員網站上,我使用簡單的方式爲每個用戶配置文件使用相同的頁面,只需使用$ _SESSION代碼根據當前登錄的用戶顯示不同的用戶信息。PHP MySQL使用與登錄用戶相同的頁面顯示其他用戶配置文件?

我的問題是,我將如何提出其他用戶信息?說如果我正在搜索成員,點擊了它應該提出他們的個人資料的名稱,如果我沒有爲每個成員分開的頁面,我怎麼能得到這個工作?有任何想法嗎?

+0

我不確定我是否遵循 - 你的意思是說,在會話變量中,是登錄用戶的ID嗎?您使用此ID來填充同一個成員文件,這是正確的嗎? – wribit

+0

不太確定,我使用()session_start來獲取它用來檢查登錄用戶是誰的內容,然後使用$ _SESSION(first_name)和所有這些來顯示它們的信息並顯示它。但是,我怎麼能顯示一個用戶信息取決於他們點擊的名字? – AidanPT

+0

這就是那裏的問題,使用會話變量 - 你被鎖定在整個頁面上。我只會在會話中使用一個ID,並通過URL傳遞該ID - 這樣,一方面,您可以控制來電的來源:登錄的用戶或單擊href。另一方面,整個頁面是動態的 - 意味着它是通過一個填充了ID的對象「成員」填充的。讓我知道,如果你按照...不知道我在這裏表達自己 – wribit

回答

0

使用成員ID的帖子或變量來顯示每個成員的通用「公共」成員頁面,然後僅向具有與該成員ID匹配的會話ID的用戶顯示特殊的「私人」功能。每次您要回復「私人」時,您都必須根據會話ID檢查會員ID。當他看到其他成員身份證不會匹配時,他只會看到他們的「公共」頁面,反之亦然。

0

我的解決方案很簡單。

比方說,根據您所說的,您將登錄的用戶ID存儲在$ _SESSION中,因此,當您訪問頁面以從數據庫獲取用戶信息並顯示該用戶信息時,您將獲得並使用該用戶ID。

現在,這是我的想法。只需要一個簡單的IF語句。

$uid = (isset($_GET['uid'])) ? $_GET['uid'] : $_SESSION['uid']; 

$query = "SELECT * FROM users WHERE id = $uid"; 

它從URL中獲取URL的ID(如果沒有設置),使用會話中的ID。

// this is an example of a URL with uid = 12. 
http://yourwebsite.com/profile.php?uid=12 

那麼這樣做,即使用戶登錄,如果他/她訪問的頁面與uid = n,他/她會看到別人的個人資料。

因此,您必須在用戶列表的每個鏈接上附加/有uid = n

注意:這只是一個簡單而快速的例子,代碼並不好。 (即安全性和驗證)

+0

那麼,我必須在哪裏合併該代碼?我會將它添加到個人資料頁面嗎? – AidanPT

+0

是在配置文件頁面上,可以在數據庫腳本之前。 – Craftein

相關問題