允许创建条目的用户仅修改它

时间:2013-04-07 07:47:48

标签: php mysql

我一直在谷歌搜索一段时间没有成功,主要是因为我问的方式很可能是错误的方式。

我想知道的事情

我制作了一些PHP脚本,允许用户将数据添加到表(在MYSQL数据库中)并显示在网站上,现在我正在编写和删除条目,但是我允许的脚本任何人都可以对任何人的条目进行此操作。

现在我不知道是否有PHP或Mysql函数可以帮助解决这个问题,就像我说我的护目镜一直是徒劳的。因此,如果我可以指向具有此信息的网页或更好的示例语法块,只允许创建该条目的用户修改该条目。

我假设有某种类型的while或if语句来实现这一点。

示例方案

用户出现添加一个条目,该条目被赋予一个id,用户可以链接到该ID,只有他可以编辑它吗?

注意

我正在将word添加到word新闻站点,以便用户登录信息,word press widget正在控制,但是当我漫步扔掉数据库时,我可以看到这些条目仍然放在数据库字段中。

我在问什么

你知道一个网页/示例语法或教程会告诉我我需要知道什么,或者你是否有足够的时间向我解释:)。

由于

1 个答案:

答案 0 :(得分:0)

使用当前用户的ID更新新条目,其中$ entry_id是新条目的ID

$current_user_id = get_current_user_id(); // current user logged into WordPress

mysql_query("UPDATE `table` SET `user_id`='$current_user_id' WHERE `id`='$entry_id'") or die(mysql_error());

更新:您还可以使用user_id同时插入包含其余数据的条目。

mysql_query("INSERT INTO `table` ([other column names], `user_id`) VALUES ([other values], '$current_user_id')") or die(mysql_error());

检查当前用户ID是否等于数据库中允许的编辑用户ID。

$query = mysql_query("SELECT * FROM `table` WHERE `id`='$entry_id' LIMIT 1") or die(mysql_error());
$data = mysql_fetch_array($query);

$allowed_user_edit_id = $data['user_id']; // user id who is allowed to edit

$current_user_id = get_current_user_id(); // current user logged into WordPress

if ($current_user_id == $allowed_user_edit_id) {
    // Your code for editing the entry
}