Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Форма обратной связи с записью в БД форума Bullet Energy

Форма обратной связи с записью в БД форума Bullet Energy


     11.12.2013    форма обратной связи, Bullet Energy    Общие вопросы, MySQL    6683

вопрос
Добрый вечер всем, есть задача - реализовать форму обратной связи с записью того что написали в новую тему на форум Bullet Energy в определённую категорию. Я нашёл пример но так и не смог сообразить что куда. Может быть покажете в какую сторону копать и есть ли такие модули за денежку ? Функции очень простые: Пользователь заполняет поля, эти поля заносятся в таблицу dle_be_topic с определённым id категории.

Ответа пока нет


1 комментарий

Herurg
Юзер

Herurg - 14 декабря 2013 12:26 -

Вроде бы получилось сделать то что хотел, но это выглядит топорно :( и состоит из двух файлов.
test_form.html
<h3>Пример формы с сохранением данных в MySQL</h3>

<form action="../save_form.php" method="post" name="test_form">
<table border="1" cellpadding="0" cellspacing="0">
<tr>
  <td colspan="2" align="center"><strong>Отправка запроса</strong></td>
</tr>
<tr>
  <td width="300">Ваше реальное имя :</td>
  <td><input type="text" name="name" maxlength="30" /></td>
</tr>
   <tr>
  <td width="300">Контакты, по которым с Вами можно связаться в случае положительного ответа на заявку, Skype (обязательно) :</td>
  <td><input type="text" name="contacts" maxlength="30" /></td>
</tr>
<tr>
  <td colspan="2" align="center">
   <input type="submit" class="buttons" value="Отправить запрос" />
   <input type="reset" class="buttons" value="Очистить" />
  </td>
</tr>
</table>
</form>

save_form.php
<?

/* Соединяемся с базой данных */
$hostname = "localhost"; // название/путь сервера, с MySQL
$username = "*****"; // имя пользователя (в Denwer`е по умолчанию "root")
$password = "*****"; // пароль пользователя (в Denwer`е по умолчанию пароль отсутствует, этот параметр можно оставить пустым)
$dbName = "*****"; // название базы данных

/* Таблица MySQL, в которой будут храниться данные */
$table = "dle_be_message";

/* Создаем соединение */
mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение");
mysql_query("SET NAMES cp1251");
/* Выбираем базу данных. Если произойдет ошибка - вывести ее */
mysql_select_db($dbName) or die (mysql_error());

/* Определяем текущую дату */
$cdate = time();

/* Составляем запрос для вставки информации в таблицу
name...date - название конкретных полей в базе;
в $_POST["test_name"]... $_POST["test_mess"] - в этих переменных содержатся данные, полученные из формы */
$query = "INSERT INTO $table SET id_topic='15', autors_id='36', message_autor='БОТ', message_text='
<div class=\"title_quote\">Цитата: Ваше реальное имя</div><div class=\"quote\">".$_POST['name']."</div><br />
<div class=\"title_quote\">Цитата: Город, разница по времени от Москвы</div><div class=\"quote\">".$_POST['country']."</div><br />', message_date='$cdate'";

/* Выполняем запрос. Если произойдет ошибка - вывести ее. */
mysql_query($query) or die(mysql_error());

/* Закрываем соединение */
mysql_close();

/* В случае успешного сохранения выводим сообщение и ссылку возврата */
echo ("<div style=\"text-align: center; margin-top: 10px;\">
<font color=\"green\">Данные успешно сохранены!</font>

<a href=\"index.html\">Вернуться назад</a></div>");

?>


Может кто помочь привести это всё в нормальный вид ? Или подсказать как собрать это в один модуль для DLE 9.8 ?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх