Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.03.2014, 22:47   #1
Василий1985
Новичок
Джуниор
 
Регистрация: 19.03.2014
Сообщений: 3
По умолчанию Форма обратной связи

Ребята, у меня проблема, и черт знает как ее решить. Начну с того, что есть супер код и есть задача:

1. Сделать так, что бы при ошибке после проверки пользователю не надо было вводить все заново.
2. Что бы сообщение от пользователя, приходящее на мыло (сайт на петерхосте) было читабельным. Читаются латинские буквы, а если писать сообщение на русском, то тема отображается нормально, а в теле письма такая штука:
??????????????????: fds <br/>
??????: ???????? <br/>
????????????????: 73326 <br/>
При том что при отправке на почту яндекса все ок.
3. Поставить капчу, если это вообще надо. Меня лично всегда бесит что то там выглядывать из разноцветного набора кривых букв и цифр.

Заранее благодярю, если поможете!
PHP код:
[CODE]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>mail</title>
</head>

<body>
 <?php  
$xxx 
=$_POST["xxx"];  

$subject=$_POST["subject"];
$message=$_POST["message"]; 
$name=$_POST["name"]; 
$contact=$_POST["contact"];  
   
if (isset (
$message))  
{  
$message substr($message,0,1000); //Не может быть более 1000 символов  
if (empty($message))  
{  
echo 
"<center><b>Нет текста вопроса.<p>";  
echo 
"<a href=voprosi-i-otveti.php>Вернуться и правильно заполнить форму.</a>";  
exit;  
}  
}  
else   
{  
$message "не указано";  
}  
if (isset (
$contact))  
{  
$contact substr($contact,0,50); //Не может быть более 50 символов  
if (empty($contact))  
{  
echo 
"<center><b>Не указано, как с вами связаться.<p>";  
echo 
"<a href=form1.html>Вернуться и правильно заполнить форму.</a>";  
exit;  
}  
}  
else   
{  
$contact "не указано";  
}  
$i "не указано";  
if (
$message == $i AND $contact == $i)  
{  
echo 
"Ошибка ! Скрипту не были переданы параметры !";  
exit;  
}  
$to "ooosat2014@yandex.ru";  /*МЕНЯЕШЬ НА СВОЙ АДРЕСС!*/  
  
$br "<br/>\n"// символ \n - linux, символ \n\r windows
$message "Сообщение: $message $br Имя: $name $br Контакты: $contact $br";    
mail ($to,$subject,$message) or print "Не могу отправить письмо.";  
echo 
"<center><b>Спасибо за отправку вашего сообщения<br><a href=form1.html>Нажмите</a>, чтобы вернуться на Главную страницу сайта";  
exit;  
?> 
</body>
</html>[/CODE]
Код формы:
Код HTML:
[CODE]<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>form1</title>
</head>
<body>
<h2>Форма обратной связи.</h2>
   <div class="reducer">
   <form method="POST" action="mail.php">
    <dl class="row for_input type_text">
     <dt class="label"><label for="id11354764">Тема вашего вопроса</label></dt>
      <dd class="field"><input name="subject" id="id11354764" class="text zf" value=""> <ins class="example ">Заявка на подбор оборудования, проведение хим.анализа, выезд специалиста и пр.</ins></dd></dl>
     
   <dl class="row for_textarea type_text">
    <dt class="label"><label for="id11354752">Ваше сообщение</label></dt>
     <dd class="field"><textarea name="message" id="id11354752" class="text zf presized" cols="30" rows="10" style="height: 200px; min-width: 540px; max-width: 540px;"></textarea></dd></dl>
     
      <dl class="row for_input type_text">
       <dt class="label"><label for="id11354744">Как вас зовут</label></dt>
        <dd class="field"><input name="name" id="id11354744" class="text zf" value=""></dd></dl>
        
        <dl class="row for_input type_text">
         <dt class="label"><label for="id11354738">Как с вами связаться</label></dt>
          <dd class="field"><input name="contact" id="id11354738" class="text zf" value=""> <ins class="example ">Например, телефон или адрес эл. почты </ins></dd></dl>
          <p><input type="submit" value=" Отправить "></p>
</form>
        </div><!-- reducer -->
         
</body>
</html>[/CODE]
Василий1985 вне форума Ответить с цитированием
Старый 20.03.2014, 00:30   #2
ATL
Форумчанин
 
Аватар для ATL
 
Регистрация: 26.01.2007
Сообщений: 278
По умолчанию

Цитата:
1. Сделать так, что бы при ошибке после проверки пользователю не надо было вводить все заново.
Надо использовать JavaScript или для input="text" добавить аттрибут required="true"
Цитата:
2. Что бы сообщение от пользователя, приходящее на мыло (сайт на петерхосте) было читабельным.
PHP код:
mail($to$subject$message"Content-type: text/plain; charset=utf-8");
или
mail
($to$subjecticonv("windows-1251""utf-8" $message), "Content-type: text/plain; charset=utf-8"); 

Последний раз редактировалось ATL; 20.03.2014 в 00:37.
ATL вне форума Ответить с цитированием
Старый 20.03.2014, 10:51   #3
Василий1985
Новичок
Джуниор
 
Регистрация: 19.03.2014
Сообщений: 3
По умолчанию

Код:
mail($to, $subject, $message, "Content-type: text/plain; charset=utf-8");
Спасибо! Это в самом деле помогло!!!! Теперь приходит внятный текст!
Василий1985 вне форума Ответить с цитированием
Старый 20.03.2014, 11:03   #4
Василий1985
Новичок
Джуниор
 
Регистрация: 19.03.2014
Сообщений: 3
По умолчанию

Код:
Надо использовать JavaScript или для input="text" добавить аттрибут required="true"
Спасибо! Не знал о таком атрибуте!!!!!!!!!!!!! Поля подсвечиваются красным! А как можно поменять цвет подсветки?
Василий1985 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма обратной связи на сайте wellloy HTML и CSS 1 07.07.2013 17:31
форма обратной связи Ol'ga PHP 3 01.03.2013 12:40
Форма обратной связи Cone PHP 9 07.12.2011 07:47
Форма обратной связи margo_31 Помощь студентам 6 20.09.2009 20:38
Форма обратной связи belvision PHP 5 10.11.2008 16:57