Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 26

Форма обратной связи с двумя полями и кнопкой

09.07.2014, 16:13. Показов 1867. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток товарищи программисты!
Мне очень сильно нужна орма обратной связи ез всяких понтов ,я не знаю как её селать т.к в php не шарю а без него н икак.

мне нужна форма обратной связи в которой всего 2 поля для ввода данный и кнопка отправить.
Должно быть так:
Номер телефона
Имя
и эти данные по нажатию на кнопку отправляются ко мне на почту, не поверите перерыл куч форм ни чего не выходит не отправляются сообщение(не локальный сервер )

Напишите кому не сложно ( поставлю плюсище

Добавлено через 1 час 56 минут
Форму уже нашёл сейчас другая проблема. После удачного отправления сообщения на странице остаётся текст и не убирается "Сообщение успешо отправлено !"Как сделать что бы оно убиралось ? вот код
PHP/HTML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
 <?php
 
/**
 * Класс отправки почтовых сообщений функций mail()
 * @author дизайн студия ox2.ru
 */
class Mail {
    //В переменной храним тип сообщения, обычный текст, или html
    private $_plain = "text/plain";  
 
    /**
     * Метод установки типа сообщения, если параметр $type = true, сообщение будет HTML,
     * если false, то обычный текст
     * @param <boolean> $type
     */
 
    public function isTypeHtml($is_html = true) {
        if ($is_html == true) {
            $this->_plain = "text/html";
        } else {
            $this->_plain = "text/plain";
        }
    }
 
    /**
     * Метод отправляет сообщение
     * @param string $to - e-mail, на который придет сообщение
     * @param <type> $to_name - Имя получателя
     * @param string $from - e-mail, с которого будет отправлено сообщение
     * @param <type> $from_name - Имя отправителя
     * @param string $subject - тема сообщения
     * @param <type> $message - сообщение
     * @return <type>
     */
    public function send($to, $to_name, $from, $from_name, $subject, $message) {
        //Делаем правильные заголовки, чтобы русский был русским, и т.д.
        $headers = "From: =?windows-1251?B?" . base64_encode($from_name) . "?= <$from>\r\n"; 
        $headers .= "To: =?windows-1251?B?" . base64_encode($to_name) . "?= <$to>\r\n";
        $headers .= "Subject: =?windows-1251?b?" . base64_encode($subject) . "?=\r\n";
        $headers .= "Content-type: $this->_plain; charset=\"windows-1251\"\r\n";
        $headers .= "X-Mailer: ox2.ru disign studio\r\n";
   
        //Если сообщение отправлено, то возвращаем true
        if (mail($to, $subject, $message, $headers)) { 
            return true;
        }
        else return false; //Если возникли ошибки при отправке сообщений, то false
 
    }
 
}
 
if (isset($_POST["send"])) {
    $mail = new Mail(); //Создаем класс Mail
    $mail->isTypeHtml(false); //Ставим тип сообщения как обычный текст
    $message = "ФИО: " . $_POST["fio"] . "\n\r"; //Готовим само сообщение
    $message .= "Телефон: " . $_POST["email"] . "\n\r";
    $message .= "Сообщение: " . $_POST["message"] . "\n\r";
 
    //Отправляем сообщение
    if ($mail->send("komarnitskiydv@gmail.com", "Денис", "profzabor", "Заказ на забор !",
                "Сообщение с сайта", $message)) {
        echo "<p>Сообшение успешно отправлено!</p>";
    } else {
        echo "<p>Возникли ошибки при отправке сообщения!</p>";
    }
}
?>
<form method="post" action="">
    <table cellpadding="2" cellspacing="0" border="0">
        <tbody>
            <tr>
                <td valign="middle" align="right">Имя</td>
                <td valign="middle" align="left">
                    <input type="text" value="" name="fio" size="25" maxlength="255" />
                </td>
            </tr>
            <tr>
                <td valign="middle" align="right">Номер телефона ля связи:</td>
                <td valign="middle" align="left">
                    <input type="text" value="" name="email" size="25" maxlength="255" /><br/>
                </td>
            </tr>
            
            
            <tr>
                <td valign="middle" align="right" colspan="2">
                    <input type="submit" value="Отправить" name="send" />
                </td>
            </tr>
        </tbody>
    </table>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.07.2014, 16:13
Ответы с готовыми решениями:

Форма с полями и кнопкой
Есть форма с полями ввода и вывода и кнопкой выполнить. Как закрыть поле вывода от ввода, и сделать так чтобы при повторном выполнении...

Как сделать чтоб форма обратной связи не отправляла письмо если форма не заполнена
Добрый день. Подскажите пожалуйста как сделать чтоб форма обратной связи не отправляла письмо если форма не заполнена.

Не работает форма обратной связи и форма авторизации
Не работает форма обратной связи и форма авторизации. Когда регистрируешься и нажимаешь на кнопку регистрация, то ничего не происходит. ...

14
Прописан в интернете...
94 / 78 / 11
Регистрация: 06.04.2012
Сообщений: 345
09.07.2014, 17:25
drago72, на 63 строчке написан этот текст, если Вы его уберете, то при успешной отправки формы - текст выводиться не будет или Вам нужно, чтобы он показывался n-ое количество секунд, а потом пропадал?..
0
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 26
09.07.2014, 18:11  [ТС]
Мне нужно что бы он показывался 5 секунд и убирался
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
10.07.2014, 08:23
Замени начиная с 63 строки следующим кодом:
PHP
1
2
3
4
        echo "<p id='status_msg'>Сообшение успешно отправлено!</p>";
    } else {
        echo "<p id='status_msg'>Возникли ошибки при отправке сообщения!</p>";
    }

Потом после формы в самый конец где-то на 93 строку вставь такой код:
JavaScript
1
2
3
4
5
<script>
window.setTimeout(function() {
 document.getElementById('status_msg').innerHTML = ""; // через 5 секунд очищаем...
}, 5000);
</script>
1
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 26
10.07.2014, 21:01  [ТС]
Ребята вот ещё одна проблема приходят ообщения с этой формы не на руском а кракозябры какие то кодирвку на странице менял что можно сделать ещё (у меня стоит кодировка UTF8)
0
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
10.07.2014, 21:13
drago72, попробуйте использовать другую библиотеку для отправки сообщений, в которой решена эта проблема.

Например загляните сюда: Не работает функция mail()
0
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 26
11.07.2014, 13:12  [ТС]
извините конечно я не знаю как менять библиотеки мне приходят вот такие сообщения
"ФРО: Константин

Телефон: 89

Сообщение:" спасайте
0
F́́́́́́́ŕ́́́́́́́é́́́ ́ak
 Аватар для Tatikoma
260 / 224 / 109
Регистрация: 07.07.2014
Сообщений: 965
11.07.2014, 15:34
drago72, это cp1251 отображенный в UTF-8, если я ничего не путаю.
1
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 26
12.07.2014, 18:11  [ТС]
хорошо проверю

Добавлено через 9 минут
Проверил поменял кодировку теперь сообщения приходят нормальными буквами спасибо
0
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 26
15.07.2014, 21:13  [ТС]
И очередная проблема)
Мне необходимо эту форму вставить в 5 местах сайта одностраничника, как сделать так что бы не копировать и вставлять весь этот громоздкий текст?
0
Не мoдepaтор
 Аватар для MVS76
340 / 315 / 94
Регистрация: 07.07.2012
Сообщений: 1,040
Записей в блоге: 7
15.07.2014, 21:48
Я делаю так:
Выношу это в отдельный файл и подключаю на странице в <head>
не забываем подклучить jQuery
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
jQuery(function(){
jQuery('.send_form').submit(function(e){
e.preventDefault();
var m_method=jQuery(this).attr('method');
var m_action=jQuery(this).attr('action');
var m_status=jQuery(this).find('.layer_form_division');
var m_data=jQuery(this).serialize();
jQuery.ajax({
type: m_method,
url: m_action,
data: m_data,
success: function(result){
m_status.html(result);
}
});
});
});
Далее на странице хоть 100500 форм, но с одним классом самой формы, и там где принимаем ответ
HTML5
1
2
3
4
5
6
<form action="send.php" method="post" class="send_form">
 <div class="layer_form_division"></div>
  <input type="text" class="layer_form_2 layer_form_all" name="name" required="required" placeholder="Ваше имя*" />
  <input type="tel" class="layer_form_3 layer_form_all" name="phone" required="required" placeholder="Ваш телефон*" />
  <input type="submit" class="layer_form_button" name="submit" value="Записаться на примерку" />
</form>
Вот тут принимаем ответ удачи/не удачи отправки, а также говорим спасибо за отправленное сообщение:
class="layer_form_division"

Вот класс формы, по которой инициализируем с какой именно отправили письмо, и в какую давать ответ:
class="send_form"
1
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 26
15.07.2014, 23:24  [ТС]
Кстати я нашёл выход проще , просто копирую форму и вставляю куда надо а ввиду того что одностраничник то обработчик нормальна обрабатывает

Добавлено через 1 час 20 минут
Кстати почем после каждого обнавления страницы появляется сообщение"Сообщение успешно отправлено " и на адрес указанный в настройках приходит последнее отправленное сообщение как решить эту проблему?
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
16.07.2014, 08:34
drago72, Для этих целий есть include...
PHP
1
2
3
<?php
include "form.html";
?>
Добавлено через 4 минуты
Или так (SSI):
HTML5
1
<!--#include virtual="form.html"-->
Добавлено через 1 минуту
А в файле form.html должен быть код формы...
0
0 / 0 / 0
Регистрация: 10.04.2010
Сообщений: 26
16.07.2014, 09:27  [ТС]
почемe после каждого обнавления страницы появляется сообщение"Сообщение успешно отправлено " и на адрес указанный в настройках приходит последнее отправленное сообщение как решить эту проблему?
0
 Аватар для alexsamos33
669 / 640 / 335
Регистрация: 26.04.2014
Сообщений: 2,122
16.07.2014, 10:19
Потому что вместе с обновлением страницы запрос тоже отсылается заново...
решения 2:
1) После отправки перенаправлять заголовком location на другую страницу;
2) При первой отправки записывать что пользователь отправил сообщение, а при последующих запросах проверять запись: если нет то отправляем, если есть то не отправляем...

Добавлено через 3 минуты
Повторный POST при обновлении страницы

Добавлено через 3 минуты
http://www.php.su/forum/topic.... &topic=603

Добавлено через 1 минуту
как избежать повторной отправки POST запроса при обновлении страницы - Поиск в Google
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.07.2014, 10:19
Помогаю со студенческими работами здесь

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

Форма обратной связи
подскажите пожалуйста как исправить эти недочеты &quot;COM_CONTACT_CONTACT_MESSAGE_SUBJECT:&quot; и &quot;COM_CONTACT_CONTACT_ENTER_MESSAGE:&quot; эту...

Форма обратной связи
Создал форму обратной связи. Почта приходит, но еще есть надпись X-PHP-Originating-Script: 0:Nadia.php - как ее убрать

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

Форма обратной связи
Потребовалась на сайт форма обратной связи,буду рад прочитать идеи и варианты по созданию такого компонента сайта. В форме Отправитель...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru