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

Форум PHP

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

 

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

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

тема: Отправка сообщения с сайта - не работает инструкция if-else
 
 автор: Petter   (25.05.2009 в 21:20)   письмо автору
 
 

Самый простой вариант отправки.
Почему-то не работает инструкция if - else

  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
        <HTML>
        <HEAD>
           <!-- *********** -->
        </HEAD>
  <BODY><FORM action="the_letter_data.php" method="POST">
          <P>Укажите в письме, пожалуйста, Ваш e-mail:
          </P>
          <P>
    <TEXTAREA name="letter" COLS="36" ROWS="11">
    </TEXTAREA>
          </P>
          <P>
          <INPUT type="submit" name="submit" value="Отправить">
          </P></FORM>
  </BODY>
        </HTML>
  

И скрипт:

  <?php
  $letter 
$HTTP_POST_VARS['letter'];
          if (empty(
$letter)) { 
     echo 
'Вы ничего не написали';
     exit(); }
  
$toaddress "mail@mail.com";
  
$subject "";
  
$fromaddress "";
  
$body $letter;
  
$body htmlspecialchars(stripslashes($body));
    
mail($toaddress$subject$body$fromaddress);
     echo 
'
  письмо отправлено'

  
?>
  

Не понимаю, почему инструкция не работает, какая-то ошибка, которой я не вижу...
В результате работы скрипта появляется сообщение
"Письмо отправлено" даже при пустом незаполненном поле формы.

  Ответить  
 
 автор: Alba   (25.05.2009 в 21:30)   письмо автору
 
   для: Petter   (25.05.2009 в 21:20)
 


<TEXTAREA name="letter" COLS="36" ROWS="11">
    </TEXTAREA> 


я так думаю что letter никогда не будет пустой у тебя... попробуй так

<TEXTAREA name="letter" COLS="36" ROWS="11"></TEXTAREA> 


и при проверке пользуйся тримом:

 if (empty(trim($letter))) { 

  Ответить  
 
 автор: Petter   (25.05.2009 в 21:43)   письмо автору
 
   для: Alba   (25.05.2009 в 21:30)
 

Написал с тримом - пишет ошибку
Parse error: parse error, unexpected T_STRING, expecting T_VARIABLE or '$' in the_letter_data.php on line 3

  Ответить  
 
 автор: Alba   (25.05.2009 в 21:45)   письмо автору
 
   для: Petter   (25.05.2009 в 21:43)
 

дай строку с ошибкой?

  Ответить  
 
 автор: Petter   (25.05.2009 в 21:50)   письмо автору
 
   для: Alba   (25.05.2009 в 21:45)
 

Третья строка вот такая:
if (empty(trim($letter))) {

  Ответить  
 
 автор: AcidTrash   (25.05.2009 в 21:42)   письмо автору
 
   для: Petter   (25.05.2009 в 21:20)
 

$_POST['letter'];

  Ответить  
 
 автор: Petter   (25.05.2009 в 21:48)   письмо автору
 
   для: AcidTrash   (25.05.2009 в 21:42)
 

Писал и так и так - на сервере PHP4.3.9 - а результат один и тот же

  Ответить  
 
 автор: AcidTrash   (25.05.2009 в 21:56)   письмо автору
 
   для: Petter   (25.05.2009 в 21:48)
 

Сделайте так
<TEXTAREA name="letter" COLS="36" ROWS="11"></TEXTAREA>

У вас получается пробел, а он тоже символ.

  Ответить  
 
 автор: Petter   (25.05.2009 в 22:07)   письмо автору
 
   для: AcidTrash   (25.05.2009 в 21:56)
 

Yes, AcidTrash!!!
Действительно, error была именно здесь.
Пробел, конечно - тоже символ и переменная не была empty именно поэтому.
Спасибо, что реально помогли, AcidTrash!!!!

  Ответить  
 
 автор: AcidTrash   (25.05.2009 в 21:52)   письмо автору
 
   для: AcidTrash   (25.05.2009 в 21:42)
 

-

  Ответить  
 
 автор: Petter   (25.05.2009 в 22:21)   письмо автору
 
   для: Petter   (25.05.2009 в 21:20)
 

Огромное спасибо ВСЕМ, кто пытался мне сегодня помочь, независимо от результата.
Мне очень приятно и радостно, что вы не прошли мимо и уделили мне внимание!

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

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