[英]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_id是users表的外鍵。
注意:
假設我使用$_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.