2012-05-15 23 views
0

我有一個鏈接,使用jQuery,顯示一個框來更新用戶的生物。但是,我希望該鏈接僅在用戶登錄後才顯示,並且只顯示在該用戶的頁面上。因此,例如,如果我已登錄,它會顯示在我的頁面上,但如果我轉到朋友頁面,它不會顯示出來,因此我不必選擇更改其生物。這裏是我的代碼:如何僅將鏈接顯示給登錄人員?

<div class="changeBio"> 
     <?php 
      if ($_SESSION['loggedin'] == true) { 
       ?><a href="" id="showBio">Change bio</a><?php 
      } 
     ?> 
    </div> 

此代碼將檢查用戶登錄,但我應該放在if語句來檢查它是否是正確的用戶?提前致謝!

編輯:

當每個用戶登錄時,他們從那裏他們的信息存儲在數據庫中的唯一ID。每個朋友頁面都基於這些ID顯示,所以我只希望鏈接顯示在登錄人員的頁面上,而不是顯示在他們的朋友頁面上。我試過 如果($ _SESSION [ '的loggedIn'] & &的$ id!= $ _GET [ '身份證']) 和 如果($ _SESSION [ '的loggedIn'] & &的$ id == $ _SESSION [」 id']) 但他們都沒有工作..在你正在查看它的朋友頁面的網址顯示該用戶的身份證明作爲GET變量,如果有幫助。

+0

你能更明確嗎?你對登錄用戶有什麼瞭解?你會將這些信息存儲在會話數據中嗎? – Cristy

+0

'$ id'是什麼?另外,你不需要'if($ _SESSION ['loggedin'] == true)''。 if($ _SESSION ['loggedin'])'就足夠了,因爲'($ _SESSION ['loggedin'])'已經是一個布爾表達式。紅鯡魚你可能會說,但一個有用的細節要注意:) – dangerChihuahua007

回答

0

您將不得不包括世衛組織登錄,而不僅僅是如果他們是否是。您需要這些信息來確定要顯示的生物。

像這樣的事情與您的數據:

<div class="changeBio"> 
    <?php 
     $id = $_POST['id']; 
     if ($_SESSION['loggedin'] == true && $_POST['id'] == $_SESSION['loggedin_userid']) { 
     ?><a href="biopage.php?userid='<?php echo $_SESSION['loggedin_userid']; ?>'" id="showBio">Change bio</a><?php 
     } 
    ?> 
</div> 
0

您將需要存儲的ID,用戶名,或當前會話數據中登錄的用戶的一些識別特徵。

然後,您可以驗證特定用戶是否正在使用代碼類似於登錄到

if ($_SESSION['currentUserID'] == $idOfTheUserThatTheBioBelongsTo) 
    // let the user change the bio 
0

您可以存儲在會話與爲u上面提到的$ id沿另一個變量$ CURRENT_USER(其我猜會不斷變化,從用戶到用戶),然後在頁面上,你需要顯示當前用戶的消息,你可以使用

if($id == $current_user){ 
//whatever you want to do 
} 
相關問題