Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Помогите найти ошибку на PHP  (Прочитано 13708 раз)
0 Пользователей и 5 Гостей смотрят эту тему.
Vannet
Гость
« : 03-03-2004 20:43 » 

Люди! Помогите пожалуйста. Найдите ошибку. Html форма отправляет php странице информацию а она ее передает по почте. Так самое интересное что с локальным сервером все работало. А в интернет не хочет. Может хостинг виноват. Как решить проблему? Это все можно найти в интеренете по адресу http://test12.h11.ru/email.html (проверить работоспособность). Вот два этих файла:

==== email.html=======================
<html>
<head>
<title>Отправка электронной почты</title>
</head>
<body>
<h2>Отправка электронной почты</h2>
<form action="http://www.test12.h11.ru/send_mail.php" method="post">
<table>
<tr><td>To:</td><td><input name="to"></td></tr>
<tr><td>Subject:</td><td><input name="subject"></td></tr>
<tr><td>Message:</td><td><textarea cols="40" rows="5" name="message"></textarea></td></tr>
<tr><td>Subject:</td><td><input type="submit" value="Send Mail"></td></tr>
</table>
</form>
</body>
</html>

=====send_mail.php=========================
<?php
$form_to=$HTTP_POST_VARS['to'];
$form_subject=$HTTP_POST_VARS['subject'];
$form_msg=$HTTP_POST_VARS['message'];

if(mail ($form_to, $form_subject, $form_msg) == TRUE)
{
?>
<html>
<head>
<title>Почта успешно отправлена</title>
</head>
<body>
<p>Почта успешно отправлена</p>
<?php
}
else
{
?>
<html>
<head>
<title>Ошибка при отправке почты</title>
</head>
<body>
<p>Ошибка при отправке почты</p>
<?php
}
?>
</body>
</html>
Записан
Skubent
Гость
« Ответ #1 : 03-03-2004 21:07 » 

Значицца input все же стоит указывать type=text
Далее, попробуй переменные, передаваемые в скрипт $to, $subject, $message
- $HTTP_POST_VARS может быть отключен в настройках php хостера.
Записан
Vannet
Гость
« Ответ #2 : 04-03-2004 03:38 » 

Да нет. Я использовал echo, что бы вывести на экран содержимое переменных $to, $subject, $message все прекрасно вывелось. Значит получение и передача php файлу проходит. А отправлять не хочет. Наверное надо смотреть в настройках хостинга?
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #3 : 04-03-2004 10:38 » 

Цитата: Vannet
Наверное надо смотреть в настройках хостинга?
Именно!
В настройках php (php.ini), в блоке [mail function] прописывается адрес SMTP сервера и т.п.
http://www.php.net/manual/ru/ref.mail.php
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Vannet
Гость
« Ответ #4 : 04-03-2004 16:51 » 

Так почта посылается не серез локальную сеть (в ней все рабортает), а через интернетовский хостинг.
Записан
Skubent
Гость
« Ответ #5 : 04-03-2004 20:37 » 

Vannet, вот именно, $to, $subject - работают, а $HTTP_POST_VARS['to'] - нет такой переменной... Сделай print_r($HTTP_POST_VARS);

RXL, ну, mail обычно работает на хостингах...
Записан
Vannet
Гость
« Ответ #6 : 04-03-2004 21:24 » new

в общем вот что выдает. Я вас уже наверное замучал вопросами. Если не трудно, раскажите пожалуйста как с этим бороться.
Array ( [to] => siv12@ua.fm [subject] => Hi [message] => Hello Vano. ) siv12@ua.fmHiHello Vano.
Записан
Anort
Гость
« Ответ #7 : 04-03-2004 22:52 » 

А что находится в функции mail? Может в ней проблема?
Записан
Vannet
Гость
« Ответ #8 : 05-03-2004 00:25 » 

To Anort:

mail ($form_to, $form_subject, $form_msg) -  формат функции mail.

$form_to - адресс
$form_subject - тема
$form_msg - текст сообщения
Записан
Skubent
Гость
« Ответ #9 : 05-03-2004 00:38 » 

Vannet, единственное, что приходит на ум - так это заблоченный домен получателя письма... А вообще, включи показ ошибок и варнингов в скрипте...
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #10 : 05-03-2004 09:17 » 

Vannet, весьма возможно, что проблема в самом письме. Возможно smtp сервер, на который ты посылаешь, отфильтровывает его по некорректному полю "From" - многие делают проверку на существование домена и разрешена ли пересылка через тот сервер. Т.к., ты в mail() не указываешь "from" (это делается "вручную" через заголовки), то или его вообще нет, или подставляется некий липовый e-mail (например user@localhost имеет смысл только внутри хоста).
Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines