我想创建一个用户块我有按钮
<a type="button" value="1" name="block" Cursor="pointer" href="blockuser.php?uid='. $data['id'].'">Block</a>
但我想知道如何最好地使用PHP,Ajax以及users表或单独的blockuser表。因此,当我点击块时,我可以将值1发送到具有用户ID的数据库,并阻止他们使用交换机查看我的整个配置文件,反之亦然。
然后,我将继续创建一个阻止列表,如果用户愿意,可以在任何给定点解锁该用户。
隐私是必须的!谢谢你给予的任何帮助。
答案 0 :(得分:0)
您问题中唯一真正的问题是,是否为此创建新表,因为其余的是针对您提到的技术的一组非常直接的任务。
就个人而言,我会选择简单地向当前用户表添加一个列,并用逗号分隔的用户ID列表填充它,您可以在其中搜索用户ID。这样做的好处是,您只需要运行一个查询,而不是检查阻止列表所需的两个查询,然后在双表方案中获取查看过的用户信息。
将用户添加到阻止列表是微不足道的(附加用户ID,也许是逗号),从阻止列表中删除用户只需要拆分阻止列表,删除正确的用户ID,然后通过加入逗号重建列表
此外,只有在您需要身份验证才能查看个人资料时,这才有用,即使这样,人们也可以通过创建新帐户来绕过这样的系统。
答案 1 :(得分:0)
在数据库中存储配置文件信息的每一行(可能是成员表?)中,您可以添加一个名为“blocked”的行,该行存储被阻止的成员的ID号。我会亲自使用分号和$blocked_ids = explode(";",$blocked)
分隔这些数字以获取每个被阻止的ID。从那里,您可以使用:if(in_array($user_id,$blocked_ids))
检查是否要阻止此人访问该配置文件,如果该值在数组中,则阻止配置文件视图。
希望这可以帮助您,任何问题只需在下面发表评论
答案 2 :(得分:0)
就数据库而言,我可能会这样做 - 创建一个特定于块的表。两个必要的字段是阻止者的id和被阻止的人的id。这意味着如果一个人阻止两个用户,他将在表中有两个条目 - 不要尝试创建一个SQL字段来充当数组。
目前,您正在设置使用带有$ _GET参数的PHP阶段的标准请求。这没有什么大不了的,但是如果你想在没有页面刷新的情况下完成整个操作,你可以使用Ajax。使用jQuery: $ .get(“remove.php”,{uid:“someID”});