PHP.SU

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


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

> Описание: как сделать Форма обратной связи
vizir
Отправлено: 20 Апреля, 2017 - 08:02:15
Post Id


Новичок


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


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




Форма обратной связи предоставляет возможность пользователям сайта отправлять сообщения владельцам сайта. Все данные введенные пользователем сохраняются в БД MySQL, также в базе данных сохраняются данные о IP пользователя и его браузере.
Текст сообщения отправляется администратору сайта на email указанный в конфигурационном файле.
Форма отправки сообщения должна иметь следующие поля:
• User Name (цифры и буквы латинского алфавита) - обязательное поле
• E-mail (формат email) - обязательное поле
• Homepage (формат url) - необязательное поле
• CAPTCHA (цифры и буквы латинского алфавита) - изображение и обязательное поле (http://ru.wikipedia.org/wiki/CAPTCHA)
• Text (непосредственно сам текст сообщения, HTML теги не допустимы) - обязательное поле
Сообщения должны выводится на отдельной странице в виде таблицы, с возможностью сортировки по следующим полям: User Name, e-mail, и дата добавления (как в порядке убывания, так и в обратном). Сообщения должны разбиваться на страницы по 25 сообщений на каждой. Сортировка по умолчанию - LIFO.
При написании проекта следует обратить внимание на защиту от XSS атак и SQL -инъекций. (http://ru[dot]wikipedia[dot]ora/wiki/Межсайтовый скриптинг и http://m[dot]wikІpedia[dot]oro/wiki/Инъеmия SQL)
 
 Top
timo
Отправлено: 20 Апреля, 2017 - 21:09:32
Post Id


Новичок


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


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

[+]


PHP:
скопировать код в буфер обмена
  1.     <!DOCTYPE html>
  2.     <html lang="ru">
  3.     <head>
  4.       <meta charset="utf-8">
  5.       <title>Bootstrap - AJAX форма обратной связи</title>
  6.       <link rel="stylesheet" href="/feedback/css/bootstrap.min.css">
  7.     </head>
  8.     <body>
  9.      
  10.       <h1 class="h2 page-header text-center">Bootstrap - AJAX форма обратной связи</h1>
  11.      
  12.       <div class="container">
  13.         <div class="row">
  14.           <div class="col-sm-6 col-sm-offset-3">
  15.             <!-- Контейнер, содержащий форму обратной связи -->
  16.             <div class="panel panel-info">
  17.               <!-- Заголовок контейнера -->
  18.               <div class="panel-heading">
  19.                 <h3 class="panel-title">Форма обратной связи</h3>
  20.               </div>
  21.               <!-- Содержимое контейнера -->
  22.               <div class="panel-body">
  23.      
  24.                 <!-- Сообщение, отображаемое в случае успешной отправки данных -->
  25.                 <div class="alert alert-success hidden" role="alert" id="successMessage">
  26.                   <strong>Внимание!</strong> Ваше сообщение успешно отправлено.
  27.                 </div>
  28.      
  29.                 <!-- Форма обратной связи -->
  30.                 <form id="contactForm">
  31.                   <div class="row">
  32.      
  33.                    
  34.                     <div id="error" class="col-sm-12" style="color: #ff0000; margin-top: 5px; margin-bottom: 5px;"></div>
  35.                    
  36.                     <!-- Имя и email пользователя -->                
  37.                     <div class="col-sm-6">
  38.                       <!-- Имя пользователя -->
  39.                       <div class="form-group has-feedback">
  40.                         <label for="name" class="control-label">Введите ваше имя:</label>
  41.                         <input type="text" id="name" name="name" class="form-control" required="required" value="" placeholder="Например, Иван Иванович" minlength="2" maxlength="30">
  42.                         <span class="glyphicon form-control-feedback"></span>
  43.                       </div>
  44.                     </div>
  45.                     <div class="col-sm-6">
  46.                       <!-- Email пользователя -->
  47.                       <div class="form-group has-feedback">
  48.                         <label for="email" class="control-label">Введите адрес email:</label>
  49.                         <input type="email" id="email" name="email" class="form-control" required="required"  value="" placeholder="Например, ivan@mail.ru" maxlength="30">
  50.                         <span class="glyphicon form-control-feedback"></span>
  51.                       </div>
  52.                     </div>
  53.                   </div>
  54.      
  55.                   <!-- Сообщение пользователя -->
  56.                   <div class="form-group has-feedback">
  57.                     <label for="message" class="control-label">Введите сообщение:</label>
  58.                     <textarea id="message" class="form-control" rows="3" placeholder="Введите сообщение от 20 до 500 символов" minlength="20" maxlength="500" required="required"></textarea>
  59.                   </div>
  60.      
  61.                   <hr>
  62.                   <!-- Изображение, содержащее код капчи -->             
  63.                     <img id="img-captcha" src="/feedback/captcha.php">
  64.                   <!-- Элемент, обновляющий код капчи -->
  65.                     <div id="reload-captcha" class="btn btn-default"><i class="glyphicon glyphicon-refresh"></i> Обновить</div>
  66.                     <!-- Блок для ввода кода капчи -->
  67.                     <div class="form-group has-feedback">
  68.                     <label id="label-captcha" for="captcha" class="control-label">Пожалуйста, введите указанный на изображении код:</label>
  69.                       <input id="text-captcha" name="captcha" type="text" class="form-control" required="required" value="" autocomplete="off" minlength="6" maxlength="6">
  70.                       <span class="glyphicon form-control-feedback"></span>
  71.                   </div>
  72.      
  73.                   <!-- Кнопка, отправляющая форму -->  
  74.                   <button type="submit" class="btn btn-primary pull-right">Отправить сообщение</button>
  75.                 </form><!-- Конец формы -->
  76.      
  77.               </div>
  78.             </div><!-- Конец контейнера -->
  79.      
  80.           </div>
  81.         </div>
  82.       </div>
  83.      
  84.       <script src="/feedback/js/jquery-3.1.0.min.js"></script>
  85.       <script src="/feedback/js/bootstrap.min.js"></script>
  86.       <script src="/feedback/script.js"></script>
  87.     </body>
  88.     </html>

вставляй на сайт и заработает
 
 Top
vizir
Отправлено: 21 Апреля, 2017 - 13:55:55
Post Id


Новичок


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


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




он рабочий?
 
 Top
teleoperator27
Отправлено: 21 Апреля, 2017 - 16:31:41
Post Id



Частый гость


Покинул форум
Сообщений всего: 157
Дата рег-ции: Янв. 2017  


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




vizir пишет:
он рабочий?
нет конечно. Вы смотрите, кто вам пишет. Просто этот человек до сих пор не понял разницы между php и html. Это всего-лишь HTML. К рабочему коду и отправке писем на php это не имеет отношения.
 
My status
 Top
timo
Отправлено: 23 Апреля, 2017 - 17:38:24
Post Id


Новичок


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


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

[+]


PHP:
скопировать код в буфер обмена
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Создание формы обратной связи</title>
  6. <meta http-equiv="Refresh" content="4; URL=http://index.html/">
  7. </head>
  8. <body>
  9.  
  10. <?PHP
  11.  
  12. $sendto   = "smart-landing@yandex.ru"; // почта, на которую будет приходить письмо
  13. $username = $_POST['name'];   // сохраняем в переменную данные полученные из поля c именем
  14. $usertel = $_POST['telephone']; // сохраняем в переменную данные полученные из поля c телефонным номером
  15. $usermail = $_POST['email']; // сохраняем в переменную данные полученные из поля c адресом электронной почты
  16.  
  17. // Формирование заголовка письма
  18. $subject  = "Новое сообщение";
  19. $headers  = "From: " . strip_tags($usermail) . "\r\n";
  20. $headers .= "Reply-To: ". strip_tags($usermail) . "\r\n";
  21. $headers .= "MIME-Version: 1.0\r\n";
  22. $headers .= "Content-Type: text/html;charset=utf-8 \r\n";
  23.  
  24. // Формирование тела письма
  25. $msg  = "<html><body style='font-family:Arial,sans-serif;'>";
  26. $msg .= "<h2 style='font-weight:bold;border-bottom:1px dotted #ccc;'>Cообщение с сайта</h2>\r\n";
  27. $msg .= "<p><strong>От кого:</strong> ".$username."</p>\r\n";
  28. $msg .= "<p><strong>Почта:</strong> ".$usermail."</p>\r\n";
  29. $msg .= "<p><strong>Телефон:</strong> ".$usertel."</p>\r\n";
  30. $msg .= "</body></html>";
  31.  
  32. // отправка сообщения
  33. if(@mail($sendto, $subject, $msg, $headers)) {
  34.         echo "<center><img src='images/spasibo.png'></center>";
  35. } else {
  36.         echo "<center><img src='images/ne-otpravleno.png'></center>";
  37. }
  38.  
  39. ?>
  40.  
  41. </body>
  42. </html>
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB