簡體   English   中英

僅顯示特定用戶帖子的超鏈接

[英]show hyperlink only for a certain user's posts

我有一個這樣的帖子表:

post_id            user_id       title            date
   12                  1           abc          7/20/2014
   13                  1           cde          7/21/2014
   14                  2           fgh          7/22/2014

和一個用戶表是這樣的:

user_id          username         email                    password
   1               name1          email1@domain.com         ******
   2               name2          email2@domain.com         ******

posts表中的user_idusers表的外鍵。

注意:

假設我使用$_SESSION['user_id']成功存儲了用戶會話。

假設我也可以成功回應所有3個帖子標題及其用戶名。

現在,我想顯某個用戶的帖子標題的編輯超鏈接<a href="edit.com">Edit</a> ,例如,用戶登錄后的user_id 1 or 2這意味着如果名為name1的用戶name1其帳戶並瀏覽ID為14的帖子,則他將看不到編輯超鏈接,因為它屬於另一個名為name2用戶,該用戶的會話ID(如果有的話)現在將無法使用,反之亦然。

對我來說,這是我的代碼:

$q = "SELECT title, post_id, p.user_id AS currentuser
      FROM posts AS p
      INNER JOIN users AS u USING (user_id)
      ORDER BY date ASC
      ";
$r = mysqli_query ($dbc, $q);

while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC)) {

$uid = isset($_SESSION['user_id']);// variable for the seesion

$current_user = $row['currentuser'];// variable for the certain user ID

          if($uid && $uid == $current_user){      
              echo "<a href=\"http://edit.com\"> Edit </a></div>";
            }

然后,我對其進行測試,您知道,它在每個帖子標題中都顯示了編輯超鏈接,但沒有我所期望的。

你能幫我嗎? 謝謝

$uid = isset($_SESSION['user_id']);

結果為真或假。 嘗試

$uid = isset($_SESSION['user_id']) ? $_SESSION['user_id'] : -1;

我所做的是使用三元運算符,因此如果設置了會話變量,則將其設置為它,否則將其設置為-1,這很可能不存在於表id列中

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM