Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Отправка письма сервером / 4 сообщений из 4, страница 1 из 1
23.10.2012, 00:11:30
    #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
23.10.2012, 01:02:25
    #38009048
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отправка письма сервером
катастрофачто не такА нифига не понятно, что не так. Даже не понятно, что не работает. Вы пытаетесь свалить все в одну кучу и не понимаете, где оно срубается. Вот нафига сюда постить три десятка строк подготовки примера, который к всему остальному коду не имеет никакого отношения, равно как и два десятка закомментированых строк хтмл-кода?

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

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

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

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


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