Форма не показывает результат

-Ронин-

Новичок
Форма не показывает результат

Хостинг РБК.
Есть форма которая должна выдавать отчет о том, что письмо отправлено или не отправлено. Но этого не происходит.
Подскажите что можно сделать с этим кодом, чтобы все было ок. На другом хостине этот скрипт работает.

PHP:
<?php 

$msg_send_error='Ошибка. Заявка не отправлена. Верниться обратно и попробуйте снова. Спасибо.';

$msg_send_ok='Ваша заявка принята на рассмотрние. В ближайшее время мы с Вами свяжемся. Спасибо';


$users['email']='[email protected]';
$thm = 'ЗАКАЗ С САЙТА';

$html  = 'ЗАКАЗ<br><br>';
$html .= 'Дата и время: ';
$html .= date("F j, Y, g:i a");
$html .= '<br><br>';
$html .= 'Телефон: +7 - ';
$html .= $_POST['code']; 
$html .= ' - ';
$html .= $_POST['tel'];
$html .= '<br><br>';
$html .= 'Контактное лицо: ';
$html .= $_POST['fio'];
$html .= '<br><br>';
$html .= 'Откуда был сделан заказ: ';
$html .= $_POST['like'];


// Отправляем почтовое сообщение 
  send_mail($users['email'], $thm, $html); 

//  if(empty($picture)) send_mail($users['email'], $thm, $msg); 
//  else send_mail($users['email'], $thm, $msg, $picture); 

  // Вспомогательная функция для отправки почтового сообщения с вложением 
  function send_mail($to, $thm, $html) 
  { 
    $boundary = "--".md5(uniqid(time())); // генерируем разделитель 
    $headers .= "MIME-Version: 1.0\n"; 
    $headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n"; 
    $multipart .= "--$boundary\n"; 
    $kod = 'windows-1251'; // или $kod = 'koi8-r' 
    $multipart .= "Content-Type: text/html; charset=$kod\n"; 
    $multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n"; 
    $multipart .= "$html\n\n";
    $message_part = ""; 
    $multipart .= "--$boundary\n".$message_part."--$boundary--\n"; 

    if(!mail($to, $thm, $multipart, $headers)) 
    { echo $msg_send_error; exit(); 
    } else { echo $msg_send_error; }
//    } else { echo $msg_send_ok; }
  } 


?>
 

zerkms

TDD infected
Команда форума
1. даже подсветка указывает что в твоём коде синтаксическая ошибка
2. phpfaq.ru/debug
 

-Ронин-

Новичок
Romantik
да понимаю о чем речь...
пробовал...
если бы получилось самому сделать сюда бы не писал
 

Romantik

TeaM PHPClub
PHP:
if(!mail($to, $thm, $multipart, $headers))  { 
 echo $msg_send_error; exit();  
} else { 
 echo $msg_send_error; 
}
Это первое что бросилось в глаза, а вообще отлаживать скрипты нужно уметь- телепаты на отдыхе!
 

-Ронин-

Новичок
Romantik
и что тут не так?

-~{}~ 06.07.06 17:08:

в любом случае... какую переменную не вставляй... сообщение на экран не выводится.
 

bgm

&nbsp;
Мда... неужели глаза у всех замылены? :)
Кто будет объявлять переменные $msg_send_error и $msg_send_ok в функции send_mail глобальными? :)

-~{}~ 06.07.06 17:53:

-Ронин-
На другом хостине этот скрипт работает.
Не может этого быть :)
 

-Ронин-

Новичок
bgm
спасибо, милый человек =)
а там и другой скрипт немного был =)
там было без переменных.... которые нужно было объявлять глобально.
 

-Ронин-

Новичок
=)
не знал, что с переменными будет столько хлопот...
думал несущественно...
как видно не внимательный я пхпер =)
теперь буду обращать внимание на переменные... =)
спасибо =)
 

bgm

&nbsp;
Совет: пусть у тебя функция send_mail возвращает результат своей работы. А вывод отчёта осуществляй вне её - так будет правильнее.
 

-Ронин-

Новичок
Спасибо. так и сделаю.
к тому же другая ошибка обнаружилась: письмо отправляет, а сообщение выводится о том, что письмо не отправилось через сендмейл.
 

Denix

Новичок
Автор оригинала: -Ронин-
Спасибо. так и сделаю.
к тому же другая ошибка обнаружилась: письмо отправляет, а сообщение выводится о том, что письмо не отправилось через сендмейл.
Может потому, что сообщение $msg_send_error; у тебя выводится всегда?
 

-Ронин-

Новичок
Denix
Нет. То я исправил сразу. Там ниже второго еррора висит нормальное сообщени, но оно закоментировано. Раскоментирвоал его.
 
Сверху