Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: <<<EOD
 
 автор: hatsker   (25.01.2009 в 10:36)   письмо автору
 
 

Всем доброго дня. Не правильно работает скрипт, точнее email отправляеться, но $mail_body не обрабатываеться правильно. В email поля <br> остаються. Объясните пожалуйста причину сего поведения. В идеале требуется вид как html.


<?
      $first_name 
htmlspecialchars(stripslashes(trim(mysql_escape_string($_POST['f_name']))));
      
$second_name htmlspecialchars(stripslashes(trim(mysql_escape_string($_POST['l_name']))));
      
$company_name htmlspecialchars(stripslashes(trim(mysql_escape_string($_POST['cname']))));
      
$industry htmlspecialchars(stripslashes(trim(mysql_escape_string($_POST['industry']))));
      
$addr htmlspecialchars(stripslashes(trim(mysql_escape_string($_POST['address']))));
      
$www htmlspecialchars(stripslashes(trim(mysql_escape_string($_POST['website']))));
      
$cell htmlspecialchars(stripslashes(trim(mysql_escape_string($_POST['phone']))));
      
$milo htmlspecialchars(stripslashes(trim(mysql_escape_string($_POST['email']))));
      
$soobshenie htmlspecialchars(stripslashes(trim(mysql_escape_string($_POST['msg']))));
      
$pcaddress htmlspecialchars(stripslashes(trim(mysql_escape_string($_POST['ip_address']))));
      
$vremye htmlspecialchars(stripslashes(trim(mysql_escape_string($_POST['time']))));
?>
<?     
$mail_body 
= <<<EOD
<br><br><br>
Full name: 
$first_name $second_name <br>
Company name: 
$company_name <br>
Industry: 
$industry <br>
Address: 
$addr <br>
Web Site: 
$www <br>
Phone: 
$cell <br>
Email: 
$milo <br>
IP: 
$pcaddress <br>
Time: 
$vremye <br><br><br>
Note: 
$soobshenie <br>
EOD;
?>
<?
         
        $subject 
"Contact Us. Question from $first_name $second_name";
        
$header "From: ".$first_name" <" $milo ">\r\n";
        
mail('exp@exp.ru'$subject$mail_body$header);        
        
?>


Спасибо за помощь

  Ответить  
 
 автор: sim5   (25.01.2009 в 10:57)   письмо автору
 
   для: hatsker   (25.01.2009 в 10:36)
 

А потому, что письмо в текстовом формате, а <br> это HTML-тег. Вместо него нужно \r\n или \n, в зависимости от системы. Да и вообще, так почту не оформляют.

  Ответить  
 
 автор: hatsker   (25.01.2009 в 11:07)   письмо автору
 
   для: sim5   (25.01.2009 в 10:57)
 

это не конечный вариант скрипта. я понимаю про что вы говорите, я просто пробую новшество. такая функция есть с php4/ Хотел разобраться как она работает. По ней очень мало данных. Я про EOD. Вот и решил тут спросить!

  Ответить  
 
 автор: sim5   (25.01.2009 в 11:10)   письмо автору
 
   для: hatsker   (25.01.2009 в 11:07)
 

Нафик он вообще тут нужен этот EOD? И в чем тут у вас новшество - в том, что аляписто офрмляется почтовое сообщение?

  Ответить  
 
 автор: hatsker   (25.01.2009 в 11:16)   письмо автору
 
   для: sim5   (25.01.2009 в 11:10)
 

не аляписто, а просто знать что такой метод тоже есть и знать как он работает. вот и все. И так же, если пользовать EOD, то можно облечить читабелность кода при вставках HTML в PHP, а не ставить экраны и echo.

  Ответить  
 
 автор: Trianon   (25.01.2009 в 11:24)   письмо автору
 
   для: hatsker   (25.01.2009 в 11:16)
 

<br> остаются потому, что Вы сами их туда понапихали.
Уберете <br> - не будут оставаться.
Странно, что у Вас текст $сообщения в одну строчку не вытягивается....

  Ответить  
 
 автор: sim5   (25.01.2009 в 11:34)   письмо автору
 
   для: hatsker   (25.01.2009 в 11:16)
 

При чем тут экраны и эхо, если вы просто формируете тело сообщения?

  Ответить  
 
 автор: hatsker   (25.01.2009 в 20:25)   письмо автору
 
   для: sim5   (25.01.2009 в 11:34)
 


<div class="block block-<?php print $block->module?>" id="block-<?php print $block->module?>-<?php print $block->delta?>">
    <h2 class="title"><?php print $block->subject?></h2>
    <div class="content"><?php print $block->content?></div>
</div>
 



то же самое но с EOD


<?php
$output 
= <<<EOD

  <div class="block block-
{$block->module}" id="block-{$block->module}-{$block->delta}">
    <h2 class="title">
$block->subject</h2>
    <div class="content">
$block->content</div>
  </div>

EOD;
print 
$output;
?>


это я про читабельность кода и его редактирование.

  Ответить  
 
 автор: AcidTrash   (25.01.2009 в 20:46)   письмо автору
 
   для: hatsker   (25.01.2009 в 20:25)
 

<<<EOD
Это просто аналогичная конструкция присвоения переменной значения и не отличается ничем от "", кроме экранирования кавычки в значении. Заместо EOD можно поставить любой текст, например TEXT.

  Ответить  
 
 автор: sim5   (26.01.2009 в 01:41)   письмо автору
 
   для: hatsker   (25.01.2009 в 20:25)
 

Это, если для вывода на экран, а вы формируете почтовое сообщение. Это, если письмо будет в HTML-формате, а вы жалуетесь на лишнее <BR>. И что же вы хотите показать/рассказать? Обрамили все двойные кавычки парой одинарных, для текста почты более и не надо.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования