2013-04-07 3 views
1

Я уже давно искал поисковые запросы, потому что, как я прошу, это, скорее всего, неправильный путь.Позвольте пользователю создать запись, чтобы изменить ее только

Что я хочу знать

Я сделал некоторые PHP скрипты, которые позволяют пользователям добавлять данные в таблицу (В datanase MYSQL) и его отображения на веб-сайте, в настоящее время я работаю над способностью для редактирования и удаления записи, но сценарий, который я разрешил кому-либо, сделать это для чьей-либо записи.

Теперь я не знаю, есть ли функции PHP или Mysql, которые помогают в этом, например, я сказал, что мои очки были напрасны. Поэтому, если бы я мог указывать на веб-страницу, которая имеет эту информацию или еще лучше примерный кусок синтаксиса, который позволит пользователю, который создал запись, изменить запись.

Я предполагаю, что для достижения этого существует какое-то время или если утверждение.

Пример сценария

пользователь приходит добавляет запись запись дается идентификатор может пользователь быть связан с этим идентификатором, так только он может изменить его?.

Примечание

Я добавляю PHP в слово пресс сайт так, как для пользователей информацию для входа в слово нажмите виджет контролируя, что, однако я могу видеть записи по-прежнему ставить в поле базы данных, когда я» Прогулки бросили базы данных.

Что я прошу

Вы знаете о веб-странице/например, синтаксис или учебник, который покажет мне, что мне нужно знать, или если у тебя есть достаточно времени, объясните мне :).

Благодаря

Бен

+0

Почему entry_id должен быть связан с пользователем? Создайте столбец user_id и вставьте идентификатор пользователя, чтобы запись была привязана к пользователю. –

+0

Вы можете открыть новое соединение с другим пользователем MySQL (может быть легко сгенерировано в phpMyAdmin), который имеет точные права, которые вам нужны. – 2013-04-07 07:51:21

ответ

0

Update новая запись с идентификатором текущего пользователя, где $ entry_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()); 

UPDATE: Можно также вставить запись с user_id в то же время с остальными данными.

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

Проверьте, соответствует ли текущий идентификатор пользователя разрешенному пользователю изменить идентификатор пользователя в вашей базе данных.

$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 
} 
+0

hey mate, Im получение Неустранимая ошибка: вызов неопределенной функции get_current_user_id() с вашим синтаксисом, вы знаете, почему это может быть – BenniMcBeno

+0

Какую версию WordPress вы используете? – sman591

+0

Эй, я бегущая версия 3.5.1 Я могу вызвать функцию, используя функцию get_current_user_id(); что избавляется от ошибки, однако я просто получаю пустой экран для страницы – BenniMcBeno