Перейти к содержимому



Форма обратной связи в модальном окне

#

Поделиться сообщением #



Гость_Дмитрий_*

Гость_Дмитрий_*
  • Гости

Отправлено 04 Март 2014 - 18:46

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

Видел такие варианты ответа - 1) не прописывай в action=" " ничего и форма будет отправлять данные сюда же, при этом всем форма и обработчик должны быть в одном файле, как это сделать и чтоб это работало я не понял.

  2)Способо по умолчанию - когда обработчик создает еще 1 страницу и на нее выкидывает фразы, да можно задать точ такой же внешний вид, но вот фон уже не будет полупрозрачным. Сейчас пока так сделал.

  3)Где-то читал, что можно через exit или как-то еще выйти на нужную страницу, а над ней уже запустить код с формой. Но сколько я не пытался, все время либо исчезала вся форма, или форма была на непрозрачном фоне.

Если кто может подсказать или посоветовать что-то, буду рад. Если понадобится могу код кинуть)


  • 0

#11

Поделиться сообщением #11



Symphony

Symphony
  • Пользователь
  • 636 сообщений
  • Репутация: 54
0

Отправлено 07 Март 2014 - 14:58

а зачем делать 18 страниц, делайте одну и в зависимости от урл выдаете нужную информацию.


  • 0


#12

Поделиться сообщением #12



Drevko

Drevko
  • Неактивные
  • 8 сообщений
  • Репутация: 0

Отправлено 08 Март 2014 - 19:09

про 18 страниц это я имел ввиду весь сайт) он же изначально .html был, а одна длинная это мне не подходит


  • 0

#13

Поделиться сообщением #13



Drevko

Drevko
  • Неактивные
  • 8 сообщений
  • Репутация: 0

Отправлено 09 Март 2014 - 11:02

<center>
         <div id="fonvneshni" <?php if($_POST){echo 'style="display:block"';} ?>>
         <div id="fonsviazi">
         <div id="close" style="cursor: pointer;" onclick="document.getElementById('fonvneshni').style.display='none';"></div>
         <p style='text-align: center;' class='contact-title'>СВЯЗЬ c АДМИНИСТРАТОРОМ</p>
         
<?php
         
if (isset($_POST['name'])) {$name = $_POST['name'];
if ($name == '') {unset($name);}}
if (isset($_POST['email'])) {$email = $_POST['email'];
if ($email == '') {unset($email);}}
if (isset($_POST['text_message'])) {$text_message = $_POST['text_message'];
if ($text_message == '') {unset($text_message);}}

if (isset($name) && isset($email) && isset($text_message))
 {
     $name = htmlspecialchars(trim($name));
     $email = htmlspecialchars(trim($email));
     $text_message = htmlspecialchars(trim($text_message));
     $name = htmlentities(trim($name));
     $email = htmlentities(trim($email));
     $text_message = htmlentities(trim($text_message));
     
if(!preg_match("/[A-Za-zА-Яа-яЁё]/i", $name)){{
 {
     echo "
     <form action='' method='post'>
       <table align='center' border='0'>
       <tbody>
       <tr>
       <td class='lable'><b>*Ваше имя:</b><br>
       <input name='name' style='width:320px; height:15px; margin-top:5px;' class='input' type='text'></td></tr>
       <tr>
       <td></td></tr>
       <tr>
       <td class='lable'><b>*Ваш e-mail:</b><br>
       <input name='email' style='width:320px; height:15px; margin-top:5px;' class='input' type='text'></td></tr>
       <tr>
       <td></td></tr>
       <tr><td class='lable'><b>*Сообщение:</b><br>
       <textarea name='text_message' style='width:320px; height:180px; margin-top:5px;' cols='40' rows='10' class='input'></textarea></td></tr>
       <tr>
       <td class='error'>Не правильный формат E-mail!</td>
       </tr>
       <tr>
       <td align='center' style='padding-top:10px;'>
       <input name='mail_submit' type='submit' value='Отправить сообщение'>
       </td></tr>
       </tbody>
       </table>
       </form>
       " ;} return false;} return true;}
   
if(!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $email)){{
 {
     echo "
     <form action='' method='post'>
       <table align='center' border='0'>
       <tbody>
       <tr>
       <td class='lable'><b>*Ваше имя:</b><br>
       <input name='name' style='width:320px; height:15px; margin-top:5px;' class='input' type='text'></td></tr>
       <tr>
       <td></td></tr>
       <tr>
       <td class='lable'><b>*Ваш e-mail:</b><br>
       <input name='email' style='width:320px; height:15px; margin-top:5px;' class='input' type='text'></td></tr>
       <tr>
       <td></td></tr>
       <tr><td class='lable'><b>*Сообщение:</b><br>
       <textarea name='text_message' style='width:320px; height:180px; margin-top:5px;' cols='40' rows='10' class='input'></textarea></td></tr>
       <tr>
       <td class='error'>Имя должно состоять только из букв!</td>
       </tr>
       <tr>
       <td align='center' style='padding-top:10px;'>
       <input name='mail_submit' type='submit' value='Отправить сообщение'>
       </td></tr>
       </tbody>
       </table>
       </form>
       " ; } return false;} return true; }
    
       $address = "mail.cnoco6-3apa6omamb.ru";
       $sub = "Вам пришло письмо с сайта Способы Заработка";
       $mes = "Автор: $name \nE-mail: $email \n\nТекст сообщения:\n$text_message";
       $verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = Windows-1251\r\nFrom:$email");
        
if ($verify == 'true')
 {

     echo "
     <form action='' method='post'>
       <table align='center' border='0'>
       <tbody>
       <tr>
       <td class='lable'><b>*Ваше имя:</b><br>
       <input name='name' style='width:320px; height:15px; margin-top:5px;' class='input' type='text'></td></tr>
       <tr>
       <td></td></tr>
       <tr>
       <td class='lable'><b>*Ваш e-mail:</b><br>
       <input name='email' style='width:320px; height:15px; margin-top:5px;' class='input' type='text'></td></tr>
       <tr>
       <td></td></tr>
       <tr><td class='lable'><b>*Сообщение:</b><br>
       <textarea name='text_message' style='width:320px; height:180px; margin-top:5px;' cols='40' rows='10' class='input'></textarea></td></tr>
       <tr>
       <td class='message'>Ваше сообщение отправлено</td>
       </tr>
       <tr>
       <td align='center' style='padding-top:10px;'>
       <input name='mail_submit' type='submit' value='Отправить сообщение'>
       </td></tr>
       </tbody>
       </table>
       </form>
       " ;}
    
   else
 {
     echo "
     <form action='' method='post'>
       <table align='center' border='0'>
       <tbody>
       <tr>
       <td class='lable'><b>*Ваше имя:</b><br>
       <input name='name' style='width:320px; height:15px; margin-top:5px;' class='input' type='text'></td></tr>
       <tr>
       <td></td></tr>
       <tr>
       <td class='lable'><b>*Ваш e-mail:</b><br>
       <input name='email' style='width:320px; height:15px; margin-top:5px;' class='input' type='text'></td></tr>
       <tr>
       <td></td></tr>
       <tr><td class='lable'><b>*Сообщение:</b><br>
       <textarea name='text_message' style='width:320px; height:180px; margin-top:5px;' cols='40' rows='10' class='input'></textarea></td></tr>
       <tr>
       <td class='error'>Ошибка!!!</td>
       </tr>
       <tr>
       <td align='center' style='padding-top:10px;'>
       <input name='mail_submit' type='submit' value='Отправить сообщение'>
       </td></tr>
       </tbody>
       </table>
       </form>" ; } }
    
   else
     
 {
     
     echo "
     <form action='' method='post'>
       <table align='center' border='0'>
       <tbody>
       <tr>
       <td class='lable'><b>*Ваше имя:</b><br>
       <input name='name' style='width:320px; height:15px; margin-top:5px;' class='input' type='text'></td></tr>
       <tr>
       <td></td></tr>
       <tr>
       <td class='lable'><b>*Ваш e-mail:</b><br>
       <input name='email' style='width:320px; height:15px; margin-top:5px;' class='input' type='text'></td></tr>
       <tr>
       <td></td></tr>
       <tr><td class='lable'><b>*Сообщение:</b><br>
       <textarea name='text_message' style='width:320px; height:180px; margin-top:5px;' cols='40' rows='10' class='input'></textarea></td></tr>
       <tr>
       <td class='error'>Вы заполнили не все поля!</td>
       </tr>
       <tr>
       <td align='center' style='padding-top:10px;'>
       <input name='mail_submit' type='submit' value='Отправить сообщение'>
       </td></tr>
       </tbody>
       </table>
       </form>
       " ; }  ?>

</div></div>
       <a href="#" class="images" title="Связь с администратором" onclick="document.getElementById('fonvneshni').style.display='block';"></a></center>

Вот что у меня вышло. При неполных полях и верном вводе она работает нормально.

Но когда дело касается имени или почты, если задаешь не верные данные, то дойдя до return, он просто выворачивает страницу на изнанку, срезая подчистую всю середину и низ сайта. С чем это может быть связано?

Ну и еще он открывается сразу с фразы "Вы заполнили не все поля!", т.е. изначальное пустое поле не появляется, а срразу идет проверка


  • 0

#14

Поделиться сообщением #14



Drevko

Drevko
  • Неактивные
  • 8 сообщений
  • Репутация: 0

Отправлено 16 Март 2014 - 17:50

Все Симфони ушел, вопрос встал. Не поверите я уже на 4х форумах эту тему открыл и нет гуру который бы помог=) Ну ничего, буду искать дальше


  • 0


Оформление форума – IPBSkins.ru