PHP скрипт формы обратной связи - как организовать форму обратной связи на языке PHP
Автор: © web-rubik
3394 Просмотры
101 Понравилось
Форма обратной связи, гостевая книга, скрипт обратной связи с email уведомлением. Если у вас есть свой блог или сайт с каким-то материалом, где нужно организовать комментарии или гостевую книгу, то вы столкнулись с этим вопросом – а как это сделать? В этой статье я приведу наглядный пример, как организовать форму обратной связи у себя на сайте, заодно поработаем с дублированием на Email.
Для начала простой код:
<!-- =================================== Форма отправки === -->
<form action="index.php" method="post">
<table>
<tr>
<td>Имя:</td>
<td><input name="name" type="text"></td>
</tr>
<tr>
<td>E-mail: </td>
<td><input name="mail" type="text"></td>
</tr>
</table>
<br>Сообщение<br>
<textarea name="text" cols="30" rows="4"></textarea>
<br><br>
<input name="submit" type="submit" value="Отправить">
</form>
<!-- =================================== Подключение к базе данных === -->
<?php
$db = mysql_connect("localhost", "root", "1234"); // root – ваш логин, 1234 – пароль
mysql_select_db("database", $db); // database - имя базы данных
mysql_query("SET character_set_results = ′utf8′, //устанавливаем кодировку
character_set_client = ′utf8′,
character_set_connection = ′utf8′,
character_set_database = ′utf8′,
character_set_server = ′utf8′", $db);
?>
<!-- =================================== Скрипт обработчик === -->
<?php
$name = $_POST[′name′];
$mail = $_POST[′mail′];
$text = $_POST[′text′];
$submit = $_POST[′submit′];
$myMail = "Ваша почта, куда будет отправляться копия сообщения";
$h = "У вас новое сообщение";
if(isset($_POST[′submit′])){
if($_POST[′name′] != ""){
$query = mysql_query("INSERT INTO comments(name,text,mail) VALUES (′$name′,′$text′,′$mail′)");
mail($myMail, $h, $text, "From: ".$mail." /r/n" ."X-Mailer: PHP/" . phpversion());
echo "Сообщение отправлено";
}
else{
echo "Вы не указали имя";
}
}
?>
<!-- =================================== Вывод сообщений === -->
<?php
$query = mysql_query("SELECT * FROM comments");
$row = mysql_fetch_array($query);
do
{
echo $row[′name′];
echo "<br>";
echo $row[′mail′];
echo "<br>";
echo nl2br($row[′text′]);
echo "<br><br>";
}
while($row = mysql_fetch_array($query))
?>
Теперь по порядку:
Для подключения к базе данных MySQL создадим отдельно фиал с названием (к примеру - db.php). Его можно создать в стандартной программе Блокнот на ПК, или в любом HTML редакторе.
Теперь на странице index.php, где будет происходить отправка комментариев, в самом верху перед началом HTML кода, пропишем путь к файлу db.php:
Файл db.php должен лежать в той же папке где и index.php.
Подключение создано!
В форме отправки мы указали action="index.php" значит, файл обработчик должен находиться на той же странице где и сама форма - index.php.
В том месте, где будет выводиться сообщение об отправке или об ошибке, поместим скрипт обработчик.
Если нажата кнопка отправить (submit) и указанно Имя (name), тогда записи из форм - Имя (name), E-mail (mail), Сообщение(text) будут записаны в таблицу comments и выводится сообщение - Сообщение отправлено.
Если не указано Имя (name), тогда ничего не происходит и выводится сообщение - Вы не указали имя.
Для того чтобы вывести отправленные сообщения на этой же странице (index.php), в то место где будут выводиться сообщения, нужно вставить последний код из примера.
Вот и всё!
Теперь вы знаете, как организовать комментарии у себя на сайте. По такой же схеме работают Гостевые книги, Форма обратной связи и т.д.
4 Комментарии КОТОРЫЕ
Данил
Как сделать с пагинацией тоже самое?
© web-rubik
Легко! Вместо кода вывода сообщения вставьте код пагинации. На этом ресурсе есть статья как установить код пвгинации..
Михаил
Здравствуйте. У меня вопросы. Ваши данные я переписал в свою HTML. Первый вопрос - $myMail = "Ваша почта, куда будет отправляться копия сообщения"; Кавычки "" убрать? Второе: в моем MySQL первое поле ID. Как с этим быть? Третье - $db = mysql_connect("localhost", "root", "1234"); // root – ваш логин, 1234 – пароль. localhost что там ставить. ROOT и ПАРОЛЬ я свои поставил.
© web-rubik
Текст должен быть в ковычках, &myMail это почта куда полетит письмо, root ваш логин..
Оставить комментарий
Оставленные комментарии проверяются технической частью интернет портала Web-rubik.ru