Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: добавление данных в базу mysql
Форумы портала PHP.SU » PHP » Программирование на PHP » добавление данных в базу mysql

Страниц (1): [1]
 

1. nikoloa - 22 Сентября, 2009 - 09:52:22 - перейти к сообщению
Привет всем участникам данного форума.
Пишу скрипт вопросов и ответов.
Работа скрипта:
Когда пользователь создает свой вопрос (этому вопросу присваивается номер id) администратор отвечает на этот вопрос.
Создал БД message в которой находится 5 таблиц: id (присваивается каждому новому сообщению), email (добавляется e-mail пользователя), tema (тема сообщения), message (само сообщение).
Пользователь с формы отправляет вопрос, данные записываются в таблицу, к примеру:
id 1
email test@test.ru
tema новая тема
message вопрос по php

Хочу реализовать так:
При публикации пользователем своего вопроса, вопросу присваивается уникальный номер (как в примере номер 1). Администратор заходит в свою админку и добавляет ответ на данный вопрос. В результате должно получится (таблица message): вопрос по php <br> ответ администратора ......(идет ответ на данный вопрос)
Использую команду UPDATE , но вместо добавления данных происходит удаление предыдущих и заполнение новыми.

CODE (text):
скопировать код в буфер обмена
  1. ( $result = mysql_query("UPDATE message SET message = '$text' WHERE id='$id'";


Как можно реализовать ответы администратора?
2. RomAndry - 22 Сентября, 2009 - 10:03:54 - перейти к сообщению
проще всего добавлять вопрос пользователя в ответ администратора. Хорошо
3. nikoloa - 23 Сентября, 2009 - 15:31:43 - перейти к сообщению
Решил свою задачу следующим образом:
Cоздал еще одну базу reply со следующими полями: id, vopros_id (скрытое поле, в которое вносятся данные из базы message поля id), message
При ответе в поле vopros_id отправляется номер вопроса из базы message (к примеру 2) и далее средствами php сделал сортировку данных по vopros_id.
В результате в базах появляются следующие записи:
база message
id 1
email test@test.ru
tema новая тема
message вопрос по php

база reply
id 10
vopros_id 1
message еееее

id 11
vopros_id 1
message 11111
4. nikoloa - 28 Сентября, 2009 - 16:59:57 - перейти к сообщению
Возникла следующая проблема:
После авторизации (авторизация проиходит по e-mail и паролю) пользователю показываются его отправленные вопросы, которые имеют вид:
id дата тема вопроса email
1 29.09.2009 новый вопрос ttasd@erere.com
которые сделаны в виде гипперссылки: <a href="http://localhost/php/voprosi/show.php?id=$myrow[id]">$myrow[tema]</a>
В ссылку подставляются id, которые берутся из базы данных.
Фильтрация вопросов происходит по e-mail.
Возникает ситуация когда пользователь зашел под свои e-mail и поменяв в строке браузера ссылку с http://localhost/php/voprosi/show.php?id=1 на http://localhost/php/voprosi/show.php?id=5 может читать сообщения пользователей предназначенные для других e-mail.
Как можно сделать чтобы ползователь с одним e-mail не смог читать сообщения предназначенные другим пользователям с другими e-mail?
5. Viper - 29 Сентября, 2009 - 07:37:38 - перейти к сообщению
nikoloa ну сравнивайте id пользователя из базы юзверей с id юзверя из базы ответов. и если не равно то говорить шо низя.
6. nikoloa - 29 Сентября, 2009 - 08:41:27 - перейти к сообщению
viper, спасибо. Почти так и сделал только сравнивал id и e-mail и если вопросы и ответы не соответствуют авторизованному email, то показ этих данных не происходит.

 

Powered by ExBB FM 1.0 RC1