Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
0 / 0 / 2
Регистрация: 26.09.2010
Сообщений: 54
1

Не корректно работает обратная связь на сайте

19.03.2012, 16:41. Показов 1032. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
HTML5
1
2
3
4
5
6
7
8
9
10
11
<form  action="send.php" method="post" >
<p>Введите Ваше имя:<br>
<input type="text" name="name"></p>
<p>Введите Ваш email:<br>
<input type="text" name="email"></p>
<p>Введите Ваше сообщение:<br>
<textarea name="message" rows="7" cols="40”></textarea>
<br>
<br>
<input type="submit" value="Отправить сообщение"></p>
</form>
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
<?php
 
if (isset($_POST['name'])) {$name = $_POST['name'];}
if (isset($_POST['email'])) {$email = $_POST['email'];}
if (isset($_POST['message'])) {$message = $_POST['message'];}
 
 
$address = "megapolis.all@yandex.ru";
 
 
$sub = "Обратная связь с megapolisss.okis.ru";
 
 
$mes = "Указанное имя обращения: $name \n Указанный E-mail связи: $email \n Содержание письма: \n$message";
 
 
$send = mail ($address,$sub,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
if ($send == 'true')
{
echo "Сообщение отправлено!";
}
else 
{
echo "Сообщение не отправлено!";
}
?>


что не так? день мучаюсь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
19.03.2012, 16:41
Ответы с готовыми решениями:

Обратная связь на сайте
Здравствуйте на сайте в обратной связи перед оправкой сообщение имеется Введите правильный ответ...

Обратная связь на сайте. HTML
Всем привет! Подскажите насчет обратной. &lt;?php /* Осуществляем проверку вводимых данных и их...

Перестала работать обратная связь на сайте
Переехал на другой хостинг и перестала работапть обратаня связь... устанавливал права 755 и 777, в...

Не работает обратная связь
Добрый день, я делаю (точнее изменяю шаблон) себе сайт-визитку - всё хорошо, только осталась...

4
Автор FAQ
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
19.03.2012, 21:37 2
Функция mail возвращает boolean.

Я уж точно не помню как преобразует типы данных PHP в данном случае:
PHP
1
if ($send == 'true')
Но корректнее писать все таки:
PHP
1
if ( $send === true )
Если функция mail вернёт true и выполнится "Сообщение отправлено!", но в действительности сообщение не дойдёт это означает что проблемы скорее всего на стороне почтового сервера, возможно настроен он не так, или может адрес в спам-листе, тут уже к системному администратору нужно обращаться.

Если же функция mail вернёт false, то тут тоже возможны проблемы с настройкой сервера, а может и со входящими параметрами, попробуйте не передавать последний - "Content-type:text/plain; charset = windows-1251\r\nFrom:$email"
0
35 / 35 / 7
Регистрация: 27.03.2011
Сообщений: 146
19.03.2012, 23:06 3
insideone, можно еще короче
PHP
1
2
3
4
if($send) {
echo 'отправлено';
} else {
echo 'не отправлено';
UPD:
или даже так
PHP
1
echo ($send) ? 'отправлено' : не отправлено';
0
insideone
19.03.2012, 23:36
  #4

Не по теме:

Оффтоп
gephaest, да ладно?

PHP
1
2
3
4
if($send) {
echo 'отправлено';
} else {
echo 'не отправлено';
Лучше так:
PHP
1
2
3
4
if($send)
echo 'отправлено';
else
echo 'не отправлено';
а вместо
PHP
1
echo ($send) ? 'отправлено' : не отправлено';
можно
PHP
1
<?=$send?'':'не'?> отправлено
Померимся ещё? :) Да ну, какая разница :drink: не суть ведь)


Своим постом я имел ввиду следующее - нужно быть внимательным к типу возвращаемому функцией. Иногда это может сойти с рук, однако в случае вроде strpos может быть критичным. Вот и все ;)
А вот что за проблема с почтой ещё предстоит узнать, только вот мне кажется решать её придётся сисадмину, чаще так бывает

0
gephaest
20.03.2012, 00:08     Не корректно работает обратная связь на сайте
  #5

Не по теме:

insideone, не хотел подколоть вас. Не принимайте близко к сердцу. Касаемо возвращаемых значений тут уже надо следить за кодом. Если ошибиться и случайно написать $foo = 'false', то интерпритатор примет это за true :)

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.03.2012, 00:08

Не работает обратная связь
Добрый вечер. Установил из маркетплейс решение Обратная связь PRO, письма на ящик не приходят! ...

Не работает обратная связь
Подскажите что ещё нужно изменить чтобы обратная связь заработала. contact.php &lt;?php if ($_POST...

Не работает обратная связь
Добрый вечер форумчане. Я как человек который учится решил сделать у себя на сайтике форму...

PHP - обратная связь, не работает
Не работает &lt;?php /* Задаем переменные */ $name = htmlspecialchars($_POST); $subject =...


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

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