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.SU

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


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

> Описание: Не могу найти ошибку
s3ga
Отправлено: 25 Июля, 2013 - 10:40:18
Post Id


Частый гость


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


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




Здраствуйте уважаемые форумчане, прошу помочь найти ошибку в скрипте обратной связи
Форма обратной связи
CODE (html):
скопировать код в буфер обмена
  1.         <form class="form" action="send.php" method="post">
  2.     <p class="name">
  3.         <input  type="text" name="name" placeholder="Ваше имя,фамилия" required/>
  4.     </p>
  5.     <p class="email">
  6.         <input  type="text" name="email" placeholder="Ваша электронная почта" required/>
  7.     </p>
  8.     <p class="text">
  9.         <textarea name="body" placeholder="Текст сообщения" required></textarea>
  10.     </p>
  11.     <p class="submit">
  12.         <input type="submit" id="submit" value="Отправить" />
  13.     </p>
  14. </form>

СКрипт
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2.   if (isset($_POST['name'])) {$name = $_POST['name'];}
  3.   if (isset($_POST['email'])) {$email = $_POST['email'];}
  4.   if (isset($_POST['body'])) {$body = $_POST['body'];}
  5.   $address = "wtf.S3Ga@gmail.com";
  6.   $sub="Письмо с сайта";
  7.   $mes = "Имя: $name \nE-mail: $email \nТема: $sub \nТекст: $body";
  8.   $send = mail ($address,,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$email");
  9.   if ($send == 'true')
  10.   {
  11.   echo "Сообщение отправлено";
  12.   }
  13.   else
  14.   {
  15.   echo "Сообщение не отправлено";
  16.   }
  17. ?>
 
 Top
Ch_chov
Отправлено: 25 Июля, 2013 - 10:52:23
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2121
Дата рег-ции: Июль 2008  
Откуда: из города


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




s3ga пишет:
  if ($send == 'true')

Возьмите какой нибудь готовый скрипт. Их в сети полно. Хотя бы для примера.
 
 Top
soffrick
Отправлено: 25 Июля, 2013 - 10:56:46
Post Id



Посетитель


Покинул форум
Сообщений всего: 379
Дата рег-ции: Май 2012  
Откуда: Россия, Москва


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




s3ga пишет:
прошу помочь найти ошибку в скрипте

ты забыл unset сделать
PHP:
скопировать код в буфер обмена
  1.  if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') unset($name)}
  2.   if (isset($_POST['email'])) {$email = $_POST['email']; if ($email == '') unset($email)}
  3.   if (isset($_POST['body'])) {$body = $_POST['body']; if ($body == '') unset($body)}

(Отредактировано автором: 25 Июля, 2013 - 10:57:28)



-----
Правильный вопрос - уже половина правильного ответа!

p.s. индусы повсюду, будьте осторожны!
 
 Top
LIME
Отправлено: 25 Июля, 2013 - 11:04:42
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




soffrick пишет:
ты забыл unset сделать
это шутка?Ch_chov
s3ga пишет:
if ($send == 'true')
как ни прискорбно такие условия работают)))

(Добавление)
из-за приведения строкового типа к булевому

(Отредактировано автором: 25 Июля, 2013 - 11:15:34)

 
 Top
teddy
Отправлено: 25 Июля, 2013 - 11:10:59
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




PHP
Спойлер (Отобразить)

HTML
Спойлер (Отобразить)

(Отредактировано автором: 25 Июля, 2013 - 11:40:36)

 
 Top
LIME
Отправлено: 25 Июля, 2013 - 11:16:23
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




teddy потести свой скрипт...посмотри что пришло
отправь пустые поля...
 
 Top
teddy
Отправлено: 25 Июля, 2013 - 11:19:25
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




LIME пишет:
отправь пустые поля...

Не отправляются ) я же проверил через if и сделал trim, тоесть пробельные символы в начале(даже если только они и их много) и в конце обрежутся, следовательно если одно из полей пустое, то в условии будет false и сообщение не отправится и пользователь получит сообщение об ошибке Улыбка

(Отредактировано автором: 25 Июля, 2013 - 11:20:13)

 
 Top
LIME
Отправлено: 25 Июля, 2013 - 11:22:27
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




teddy пишет:
"$body"
teddy пишет:
$mes = "Имя: $name \nE-mail: $email \nТема: $sub \nТекст: $body";
 
 Top
teddy
Отправлено: 25 Июля, 2013 - 11:24:55
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




LIME
Я понял о чем ты ) Но они как бы лежат в одной переменной, поэтому будет проверяться именно то, что пришло $_POST-ом... Запусти скрипт, сам убедишься Улыбка
 
 Top
LIME
Отправлено: 25 Июля, 2013 - 11:33:25
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


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




что-то ты не понял о чем я
отправь в теле среднюю статью из нета
 
 Top
teddy
Отправлено: 25 Июля, 2013 - 11:42:51
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




LIME пишет:
teddy потести свой скрипт...посмотри что пришло
отправь пустые поля...

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

А по поводу средней статьи, не очень понял честно говоря как статья связана с пустыми полями. Статья успешно отправилось(при условии что все поля были заполнены)

P.S: в пример добавил ту кодировку, которую использует ТС

(Отредактировано автором: 25 Июля, 2013 - 11:51:34)

 
 Top
s3ga
Отправлено: 25 Июля, 2013 - 12:38:18
Post Id


Частый гость


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


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




У меня скрипт по прежнему отказывается работать, жму сабмит, появляется пустое окно send.php
 
 Top
teddy
Отправлено: 25 Июля, 2013 - 12:41:36
Post Id


Участник


Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013  


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




s3ga пишет:
У меня скрипт по прежнему отказывается работать, жму сабмит, появляется пустое окно send.php


Скопируйте себе то что я написал выше(см.Спойлер). Код работает, если денвер, то см. папку Z:\tmp\!sendmail

Если снова не работает, то значит вы неверно копируете. Сначала скопируйте и вставьте в редактор то, что находится в спойлере PHP, а после него то, что в спойлере HTML
(Добавление)
А лучше покажите, как выглядит ваш код в редакторе дабы ускорить процесс

(Отредактировано автором: 25 Июля, 2013 - 12:45:28)

 
 Top
s3ga
Отправлено: 25 Июля, 2013 - 12:58:26
Post Id


Частый гость


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


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




Так,уже что-то, сейчас по нажатии сабмит появляется "сообщение успешно отправлено".Вот только письма не вижу
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. if(isset($_POST['submit']))
  3. {
  4.      $name = trim($_POST['name']);
  5.      $email = trim($_POST['email']);
  6.      $body = trim($_POST['body']);  
  7.      $address = "RN4HBM@mail.ru";
  8.      $sub = "Письмо с сайта";
  9.      $mes = "Имя: $name \nE-mail: $email \nТема: $sub \nТекст: $body";
  10.      $header = "Content-type:text/plain; charset = windows-1251\r\n";
  11.          if($name and $email and $body)
  12.             {
  13.                mail ($address,$mes,"$body", $header);
  14.                echo "Сообщение успешно отправлено";
  15.             }
  16.         else
  17.         {
  18.              echo "Заполните все поля";
  19.         }
  20. }
  21. ?>

CODE (html):
скопировать код в буфер обмена
  1. <form class="form" action="" method="post">
  2.  
  3.     <p class="name">
  4.  
  5.         <input  type="text" name="name" placeholder="Ваше имя,фамилия" required/>
  6.  
  7.     </p>
  8.  
  9.     <p class="email">
  10.  
  11.         <input  type="text" name="email" placeholder="Ваша электронная почта" required/>
  12.  
  13.     </p>
  14.  
  15.     <p class="text">
  16.  
  17.         <textarea name="body" placeholder="Текст сообщения" required></textarea>
  18.  
  19.     </p>
  20.  
  21.     <p class="submit">
  22.  
  23.         <input type="submit" id="submit" name="submit" value="Отправить" />    </p>
  24.  
  25. </form>
 
 Top
esterio
Отправлено: 25 Июля, 2013 - 12:58:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 5025
Дата рег-ции: Нояб. 2012  
Откуда: Украина, Львов


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





LIME пишет:
это шутка?

Да ето же от Попова. Только надо было оформить как оффтоп, а то ТС подумает что так и надо делать

(Добавление)
s3ga
Где тестируем? на денвере? на денвере письма не отправляються! там стоит заглушка и все письма сохраняються в папке tmp
 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB