[英]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.