Форум программистов, компьютерный форум, киберфорум
PHP
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/58: Рейтинг темы: голосов - 58, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 27.07.2009
Сообщений: 28
1

Форма обратной связи

08.11.2009, 01:21. Показов 10954. Ответов 18
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Сделал send.php

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['message'])) {$message = $_POST['message'];}
 
$address = 'arne@yandex.ru';
$sub = "Тема";
$mes = "Автор назвался: $name \n Указал свой адрес: $email \n Содержание письма: 
$message";
 
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset =
windows-1251\r\nFrom:$email");
if ($verify == 'true') 
{
echo "<p>Сообщение отправлено";
 } 
else
 { 
echo "<p>Сообщение не отправлено";
 } 
?>
Сделал форму на странице html с контактами:

HTML5
1
2
3
4
5
6
7
8
9
10
11
                                   <form action="send.php"method="post" name="f1">
                                   <p>Введите имя:<br>
                                   <input type="text" name="name"></p>
                                   <p>Введите e-mail:<br>
                                   <input type="text" name="email"></p>
                                   <p>Введите сообщение:<br>
                                   <textarea name="message" rows="5" cols="30"></textarea></p>
                                   <p><br>
                                     <input type="submit" value="отправить сообщение">
                                   </p>
                                   </form>
Когда ввожу все данные, как понимаю запрос идет на send.php и дальше открывается белая страница браузера, где в верхнем углу написано: сообщение отправлено
Вопрос такой: как сделать, чтобы все это отображалось на странице с контактами, а не на белой странице send.php???

Спасибо!!!!!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.11.2009, 01:21
Ответы с готовыми решениями:

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

Форма обратной связи
Здравствуйте, вот недавно поставил форму обратной связи, работает, отправляет сообщения на мою...

Форма обратной связи
Всем привет! Возникла проблема, уже не знаю как решить ее (( Суть в следующем: есть два хостинга...

Форма обратной связи
Добрый день, Уважаемые специалисты! Не высылается сообщение при отправке из формы обратной связи....

18
106 / 16 / 4
Регистрация: 13.04.2009
Сообщений: 104
08.11.2009, 02:04 2
1. <form action=""method="post" name="f1">
Выполняем скрипт на этой же странице.

2. <input type="submit" value="отправить сообщение" name="submit">
Добавляем кнопке имя

3. На странице с контактами вставляем скрипт, предварительно .html исправляя на .php.
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
if(isset($_POST['submit'])){
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['message'])) {$message = $_POST['message'];}
 
$address = 'arne@yandex.ru';
$sub = "Тема";
$mes = "Автор назвался: $name \n Указал свой адрес: $email \n Содержание письма:
$message";
 
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset =
windows-1251\r\nFrom:$email");
if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
} 
}
То есть, если нажата кнопка, то выполняем скрипт.
send.php можно просто удалить.

PS. Это если я правильно уловил суть проблемы )
0
0 / 0 / 0
Регистрация: 27.07.2009
Сообщений: 28
08.11.2009, 02:27  [ТС] 3
Не совсем понятен пункт3, скрипт почему-то отображается при просмотре браузера на странице в виде текста((
0
Телепат
724 / 118 / 8
Регистрация: 28.04.2009
Сообщений: 442
08.11.2009, 02:35 4
человек вам сказал же. расширение файла например index.html меняем на index.php
и в этом файле вставляем

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if(isset($_POST['submit'])){
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['message'])) {$message = $_POST['message'];}
 
$address = 'arne@yandex.ru';
$sub = "Тема";
$mes = "Автор назвался: $name \n Указал свой адрес: $email \n Содержание письма:
$message";
 
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset =
windows-1251\r\nFrom:$email");
if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
}
}
?>

или скиньте сюда 2 эти страницы, я их переделаю..
1
0 / 0 / 0
Регистрация: 27.07.2009
Сообщений: 28
08.11.2009, 02:46  [ТС] 5
И еще... исходя из того, что вы написали, все телодвижения происходят на одной странице с контактами, а начиная с 3 пункта, я эту же страницу из html делаю php. А потом удаляю sent.php и все? Правильно?

Добавлено через 1 минуту
Цитата Сообщение от Милый Враг Посмотреть сообщение
а вы использовали
<?php
....
?>
или нет?
выложите 2 эти файла, я исправлю..
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['message'])) {$message = $_POST['message'];}
 
$address = 'arne@yandex.ru';
$sub = "Тема";
$mes = "Автор назвался: $name \n Указал свой адрес: $email \n Содержание письма: 
$message";
 
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset =
windows-1251\r\nFrom:$email");
if ($verify == 'true') 
{
echo "<p>Сообщение отправлено";
 } 
else
 { 
echo "<p>Сообщение не отправлено";
 } 
?>
Добавлено через 1 минуту
Цитата Сообщение от Милый Враг Посмотреть сообщение
человек вам сказал же. расширение файла например index.html меняем на index.php
и в этом файле вставляем

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if(isset($_POST['submit'])){
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['message'])) {$message = $_POST['message'];}
 
$address = 'arne@yandex.ru';
$sub = "Тема";
$mes = "Автор назвался: $name \n Указал свой адрес: $email \n Содержание письма:
$message";
 
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset =
windows-1251\r\nFrom:$email");
if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
}
}
?>
или скиньте сюда 2 эти страницы, я их переделаю..
PHP
1
2
3
4
5
6
7
8
9
10
11
<form action="send.php"method="post" name="f1">
                                   <p>Введите имя:<br>
                                   <input type="text" name="name"></p>
                                   <p>Введите e-mail:<br>
                                   <input type="text" name="email"></p>
                                   <p>Введите сообщение:<br>
                                   <textarea name="message" rows="5" cols="30"></textarea></p>
                                   <p><br>
                                     <input type="submit" value="отправить сообщение">
                                   </p>
                                   </form>
Добавлено через 35 секунд
блин, не успеваю за вами))

Добавлено через 6 минут
получается, что форм у меня будет на contact.html, а скрипт - на contact.php ? Т.e. у меня будет 2-е страницы?
0
106 / 16 / 4
Регистрация: 13.04.2009
Сообщений: 104
08.11.2009, 10:24 6
Страница одна - contact.php
0
0 / 0 / 0
Регистрация: 27.07.2009
Сообщений: 28
08.11.2009, 10:48  [ТС] 7
Цитата Сообщение от Delegat Посмотреть сообщение
Страница одна - contact.php
Оке, правильно ли я понял...

1) изначально у меня была страница contact.html + send.php
2) В странице contact.html (где имеются картинки тексты и т.д. помимо формы обратной связи) изменяю верхнюю строчку формы на <form action=""method="post" name="f1">
3) В странице contact.html (где имеются картинки тексты и т.д. помимо формы обратной связи) изменяю строчку формы на <input type="submit" value="отправить сообщение" name="submit">
4) Меняю свою страницу contact.html на contact.php
5) Уже в страницу contact.php вставляю этот скрипт
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
if(isset($_POST['submit'])){
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['message'])) {$message = $_POST['message'];}
 
$address = 'arne@yandex.ru';
$sub = "Тема";
$mes = "Автор назвался: $name \n Указал свой адрес: $email \n Содержание письма:
$message";
 
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset =
windows-1251\r\nFrom:$email");
if ($verify == 'true')
{
echo "<p>Сообщение отправлено";
}
else
{
echo "<p>Сообщение не отправлено";
}
}
?>
6) Удаляю send.php
7) Делаю ссылки с других страниц сайта уже не на страницу contact.html, а на страницу contact.php
8) Наслаждаюсь полученным результатом

Правильно?
0
106 / 16 / 4
Регистрация: 13.04.2009
Сообщений: 104
08.11.2009, 10:52 8
Ага ) Вот только сообщения типа "<p>Сообщение отправлено"; могут появляться не совсем в нужных местах, но это все легко исправляется. Проверьте )
0
0 / 0 / 0
Регистрация: 27.07.2009
Сообщений: 28
08.11.2009, 11:39  [ТС] 9
Цитата Сообщение от Delegat Посмотреть сообщение
Ага ) Вот только сообщения типа "<p>Сообщение отправлено"; могут появляться не совсем в нужных местах, но это все легко исправляется. Проверьте )
оке)) вечером, когда доберусь до компа))
0
0 / 0 / 0
Регистрация: 27.07.2009
Сообщений: 28
08.11.2009, 23:26  [ТС] 10
что-то не выходит у меня(( ссылка на страницу http://www.emotiondance.ru/contact.php
с сайта заход сделал пока только с главной.
0
106 / 16 / 4
Регистрация: 13.04.2009
Сообщений: 104
09.11.2009, 19:17 11
Сообщение отправлено"; } else { echo "

Сообщение не отправлено"; } } ?>
WTF? Ошибки в коде? )
0
neadekvat
09.11.2009, 22:15 12
В исходный код страницы загляните. PHP код никак не интерпритируется.
Вывод: либо автор не туда (не так) пхп-код вставляет, либо хостинг просто не поддерживает его (пхп)
106 / 16 / 4
Регистрация: 13.04.2009
Сообщений: 104
09.11.2009, 22:22 13
Остальное же кушает. Значит ошибка в синтаксисе. Выставьте отображение ошибок на хостинге, или внимательнее посмотрите код.
0
0 / 0 / 0
Регистрация: 27.07.2009
Сообщений: 28
09.11.2009, 22:53  [ТС] 14
А может просто создать 2 страницы html, например contact1 и contact2( одна - сообщение отправлено, 2-ая не отправлено), оставить send.php и сделать, чтобы в зависимости от доставки открывалась одна из них?? И тогда все будет гораздо проще??? Я ведь ссылку со страницей выставил, а вы пишете "может автор не туда вставил код". Просто ведь взять и помотреть))))
0
106 / 16 / 4
Регистрация: 13.04.2009
Сообщений: 104
09.11.2009, 23:50 15
Проще наврядли, вообще то такой путь называется "<вырезано цензурой>". Прошу прощения )
А можете дать работающую ссылку на контакты?
0
0 / 0 / 0
Регистрация: 27.07.2009
Сообщений: 28
10.11.2009, 00:00  [ТС] 16
Цитата Сообщение от Delegat Посмотреть сообщение
Проще наврядли, вообще то такой путь называется "путь через анус". Прошу прощения )
А можете дать работающую ссылку на контакты?
сейчас снова выложу на хост)

Добавлено через 1 минуту
http://www.emotiondance.ru/contact.php
только я ее подцепил на index и на main.html

Добавлено через 2 минуты
если вам не сложно, сделайте плиз просто php с любым названием, а по аналогии сделаю свои контакты)))
0
106 / 16 / 4
Регистрация: 13.04.2009
Сообщений: 104
10.11.2009, 13:41 17
PHP
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
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>Контакты</title>
</head>
<body>
<?
    if (isset($_POST['send'])){
        if (isset($_POST['name'])) {$name = $_POST['name'];}
        if (isset($_POST['email'])) {$email = $_POST['email'];}
        if (isset($_POST['message'])) {$message = $_POST['message'];}
         
        $address = 'hitechnt@gmail.com';
        $sub = "Тема";
        $mes = "Автор назвался: $name \n Указал свой адрес: $email \n Содержание письма: 
        $message";
        $verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset =
        UTF-8\r\nFrom:$email");
        if ($verify) echo "<p>Сообщение отправлено</p>";
        else echo "<p>Сообщение не отправлено</p>";
    }
?>
<form method="POST">
    Введите имя:<br>
    <input type="text" name="name"><br><br>
    Введите e-mail:<br>
    <input type="text" name="email"><br><br>
    Введите сообщение:<br>
    <input type="text" name="message"><br><br>
    <input type="submit" name="send" value="Отправить сообщение">
</form>
</body>
</html>
Вот так. Работает, только e-mail поменять. Сообщение о статусе доставки появляется здесь же.
Ах да. Где сообщение text на textarea поменять )))
0
0 / 0 / 0
Регистрация: 27.07.2009
Сообщений: 28
11.11.2009, 00:16  [ТС] 18
Цитата Сообщение от Delegat Посмотреть сообщение
PHP
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
<html>
<head>
    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    <title>Контакты</title>
</head>
<body>
<?
    if (isset($_POST['send'])){
        if (isset($_POST['name'])) {$name = $_POST['name'];}
        if (isset($_POST['email'])) {$email = $_POST['email'];}
        if (isset($_POST['message'])) {$message = $_POST['message'];}
         
        $address = 'hitechnt@gmail.com';
        $sub = "Тема";
        $mes = "Автор назвался: $name \n Указал свой адрес: $email \n Содержание письма: 
        $message";
        $verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset =
        UTF-8\r\nFrom:$email");
        if ($verify) echo "<p>Сообщение отправлено</p>";
        else echo "<p>Сообщение не отправлено</p>";
    }
?>
<form method="POST">
    Введите имя:<br>
    <input type="text" name="name"><br><br>
    Введите e-mail:<br>
    <input type="text" name="email"><br><br>
    Введите сообщение:<br>
    <input type="text" name="message"><br><br>
    <input type="submit" name="send" value="Отправить сообщение">
</form>
</body>
</html>
Вот так. Работает, только e-mail поменять. Сообщение о статусе доставки появляется здесь же.
Ах да. Где сообщение text на textarea поменять )))
Пипец..... Parse error: syntax error, unexpected T_STRING in /home/emotiond/public_html/contact.php on line 1
0
Телепат
724 / 118 / 8
Регистрация: 28.04.2009
Сообщений: 442
11.11.2009, 01:52 19
вместо
PHP
1
2
3
4
<?
...
...
?>
используйте
PHP
1
2
3
4
<?php
...
...
?>
1
11.11.2009, 01:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.11.2009, 01:52
Помогаю со студенческими работами здесь

Форма обратной связи
Добрый день.Столкнулся тут с проблемой и не могу увидеть ее :) .Суть проблемы такова,что на почту...

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

Форма обратной связи с загрузкой картинки
Помогите пожалуйста. У меня на сайте стоит форма обратной связи. Хочу добавить туда и загрузку...

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


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

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru