Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Подправить PHP код [2]

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): « 1 [2]   

> Описание: кодировка плюс сообщение об успешной отправке
burndalen
Отправлено: 03 Мая, 2011 - 10:35:16
Post Id


Новичок


Покинул форум
Сообщений всего: 14
Дата рег-ции: Май 2011  


Помог: 0 раз(а)




Не много подправив синтаксические ошибки код сейчас выглядит вот так:
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <?php
  3. if(isset($_GET["mail"]))
  4.     echo 'Ваше письмо отправлено...';
  5. session_start();
  6. $admin = 'admin email';
  7. if ( isset( $_POST['sendMail'] ) ) {
  8.     $name  = substr( $_POST['name'], 0, 64 );
  9.     $email   = substr( $_POST['email'], 0, 64 );
  10.     $subject = substr( $_POST['subject'], 0, 64 );
  11.     $message = substr( $_POST['message'], 0, 250 );
  12.         }
  13.  
  14.     // обработка ошибок
  15.     $error = '';
  16.     if ( empty( $name ) ) $error = $error.'<li>Не заполнено поле "Имя"</li>';
  17.     if ( empty( $email ) ) $error = $error.'<li>Не заполнено поле "E-mail"</li>';
  18.     if ( empty( $subject ) ) $error = $error.'<li>Не заполнено поле "Тема"</li>';
  19.     if ( empty( $message ) ) $error = $error.'<li>Не заполнено поле "Сообщение"</li>';
  20.     if ( !empty( $email ) and !preg_match( "#^[0-9a-z_\-\.]+@[0-9a-z\-\.]+\.[a-z]{2,6}$#i", $email ) )
  21.         $error = $error.'<li>поле "E-mail" должно соответствовать формату somebody@somewhere.ru</li>';
  22.     if ( !empty( $error ) ) {
  23.         $_SESSION['sendMailForm']['error']   = '<p>При заполнении формы были допущены ошибки:
  24.         </p><ul>'.$error.'</ul>';
  25.         $_SESSION['sendMailForm']['name']    = $name;
  26.         $_SESSION['sendMailForm']['email']   = $email;
  27.         $_SESSION['sendMailForm']['subject'] = $subject;
  28.         $_SESSION['sendMailForm']['message'] = $message;
  29.         header( 'Location: '.$_SERVER['PHP_SELF'] );
  30.         // перенаправление в корневую страницу если есть ошибки
  31.         die();
  32.     }
  33.  
  34.     $body = "АВТОР:".$name." E-MAIL".$email." ТЕМА:".$subject." СООБЩЕНИЕ:".$message;
  35.     if ( mail($admin, "Заполнена форма на сайте", $body) ){
  36.         $_SESSION['success'] = true;
  37.         header( 'Location: '.$_SERVER['PHP_SELF'].'?mail=1');
  38.     }
  39.     else
  40.         {
  41.         $_SESSION['success'] = false;
  42.     header( 'Location: '.$_SERVER['PHP_SELF'] );
  43.     die();
  44.     }
  45. ?>
  46.  


Соответственно проблемы сохранились те же, а именно:

1) проблема с кодировкой в приходящих с заполненной формы писем;
2) пользователь получает белый экран вместо сообщения ваше письмо успешно отправлено.

нужен help ;)
 
 Top
Страниц (2): « 1 [2]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Кодировки и все смежное »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB