powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отправка письма сервером
4 сообщений из 4, страница 1 из 1
Отправка письма сервером
    #38009026
катастрофа
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте, делал первый раз по примерам, менял имена, поэтому запутался, не отправляет (первый блин комом)
корневая страница - форма
Код: 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.
<form action='ContactFormScript.php' method="post">
Ваше имя:<br>
<input name="fnm" class="TheInputField" type="text" value="">
<br><p></p>

Ваше сообщение:<br>
<!--disabled - создаёт запрет на изменение и выбор текстового поля
такое поле отображается бледно-серым цветом <textarea disabled>-->
<textarea name="TextMessage" cols="50" rows="6"></textarea>
<br><p></p>

Ваш e-mail адрес:<br>
<input name="email" class="TheInputField" type="text" value="">
<br><p></p> 

<!--Ввод контактного телефона
Ваш контактный телефон:<br>
<input name="phone" class="TheInputField" type="text" value="">
<br><p></p>-->

<!--Выбор темы сообщения
Выберите тему Вашего сообщения:<br>
<select id="ComboBox">
<option>Вопросы по курсам</option>
<option>Активация диска</option>
<option>Оплата</option>
<option>Технический вопрос</option>
<option>Отзыв</option>
<option>Сотрудничество</option>                    
<option>Партнерки</option>
<option>Другое</option>                    
</select>
<br><p></p>-->

Введите правильный ответ примера: <span id="job">
<?php
//первое число, вызывается рандомно от 1 до 9
$a = rand(1, 9);
//второе число, вызывается рандомно от 1 до 9
$b = rand(1, 9);
//выбор из трёх математических действий, вызывается рандомно от 1 до 3
$op = rand(1, 3);

switch($op)
{
  case 1:
    $c = $a+$b;
    $s = $a." + ".$b;
//прерывает работу всего цикла, когда PHP встречает данную команду
//останавливает текущее действие, выходит из switch-структуры
//переходит к выполнению программного потока сразу после закрывающей скобки
    break;
  case 2:
//условие, если выбрано вычитание и $a < $b, тогда ответ будет со знаком минус, тогда меняем местами $a и $b
    if ($a < $b)
	{
	$c = $b-$a;
    $s = $b." - ".$a;
	}
	else
	{
	$c = $a-$b;
    $s = $a." - ".$b;
	}
//прерывает работу всего цикла
    break;
  case 3:
    $c = $a*$b;
    $s = $a." x ".$b;
//прерывает работу всего цикла
    break;
}
echo $s;
?>
</span><br>
<input name="FieldAnswer" class="TheInputFieldAnswer" type="text" id='Answer' value="">
<br><p></p>
<input name="SendAMessage" type="submit" value="Отправить сообщение" onClick="return Formdata(this.form)">
</form>


рандомно выводит на странице два числа и один из знаков +-* между ними, но я из за не знания $c не использую
файл ContactFormScript.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.
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.
<?php
if(@$_POST["hidden"])
{
  //дата и время
  $dt=date("d F Y, H:i:s"); 
  //e-mail куда уйдёт письмо
  $mail="89028912680@mail.ru"; 
  //заголовок(тема) письма
  $title=""; 
  $fnm=$_POST["fnm"];
  //обрабатываем
  $fnm=htmlspecialchars($fnm); 

  $text=$_POST["text"];
  //обрабатываем
  $text=htmlspecialchars($text); 
  //обрабатываем
  $text=str_replace("\r\n","<br>",$text); 

  $email=$_POST["email"];
  $phone=$_POST["phone"];

  $mess="<b>Имя:</b> $fnm<br>";
  $mess.="<b>Сообщение:</b> $text<br>";
  //ссылка на e-mail
  $mess.="<b>E-Mail:</b> <a href='mailto:$email'>$email</a><br>";
  //$mess.="<b>Телефон:</b> $phone<br>";
  $mess.="<b>Дата и Время:</b> $dt";

  $headers="MIME-Version: 1.0\r\n";
  //кодировка
  $headers.="Content-type: text/html; charset=windows-1251\r\n"; 
  //откуда письмо (необязательнакя строка)
  $headers.="From: oursite.ru\r\n"; 
  //отправляем
  mail($mail, $title, $mess, $headers); 

//выводим уведомление и перезагружаем страничку
print"
<script language='Javascript' type='text/javascript'>
<!--
alert ('Ваше сообщение отправлено! Спасибо!');
function reload()
{location = \"ContactFormScript.php\"}; 
setTimeout('reload()', 0);
-->
</script>";
}
?>


Поправьте пжл что не так, спасибо
...
Рейтинг: 0 / 0
Отправка письма сервером
    #38009048
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофачто не такА нифига не понятно, что не так. Даже не понятно, что не работает. Вы пытаетесь свалить все в одну кучу и не понимаете, где оно срубается. Вот нафига сюда постить три десятка строк подготовки примера, который к всему остальному коду не имеет никакого отношения, равно как и два десятка закомментированых строк хтмл-кода?

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

Далее, в процессе отладки (придется открыть для себя такую штуку) контролируйте каждый этап и выясняйте, на каком этапе блин пошел комом - не так, как хотелось бы.

PS: По последнему пункту уточнение: на самом деле, на этом уровне максимум чего можно гарантировать - это передача письма к MTA для дальнейшей отправки, а не о самой отправке
...
Рейтинг: 0 / 0
Отправка письма сервером
    #38009055
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Код: php
1.
2.
  //откуда письмо (необязательнакя строка)
  $headers.="From: oursite.ru\r\n"; 

Бегом марш читать RFC-822!
...
Рейтинг: 0 / 0
Отправка письма сервером
    #38010772
Seegile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
катастрофа, на php.net должен быть пример функции mail().
а мне вообще приходилось работать с почтой через php-сокеты.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отправка письма сервером
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]