Одесса: 5°С (вода 8°С)
Киев: 1°С
Львов: 2°С

Тема: Простая форма обратной связи (html+php). Как?

Ответить в теме
Показано с 1 по 4 из 4
  1. Вверх #1
    Живёт на форуме Аватар для Loud_Swir
    Пол
    Мужской
    Адрес
    г.Одесса
    Возраст
    31
    Сообщений
    4,834
    Репутация
    1333
    Записей в дневнике
    2

    По умолчанию Простая форма обратной связи (html+php). Как?

    Сразу говорю, я нуб, возникла потребность в простой форме обратной связи (заполнить контактные данные и отправить на мою почту), я нашёл готовый простой код и из него отредактировал html форму под себя, главная задача - как подправить send.php под новую форму?
    Исходная связка html+php
      Показать скрытый текст
    Исходный код


    Отредактированный html
      Показать скрытый текст
    forma.html
    — Верить в наше время нельзя никому. Порой даже самому себе. Мне можно! ©


  2. Вверх #2
    Посетитель
    Пол
    Мужской
    Возраст
    27
    Сообщений
    132
    Репутация
    16
    Цитата Сообщение от Loud_Swir Посмотреть сообщение
    Сразу говорю, я нуб, возникла потребность в простой форме обратной связи (заполнить контактные данные и отправить на мою почту), я нашёл готовый простой код и из него отредактировал html форму под себя, главная задача - как подправить send.php под новую форму?
    Исходная связка html+php
      Показать скрытый текст
    Исходный код


    Отредактированный html
      Показать скрытый текст
    forma.html
    лень много писать, два слова name="" для каждого уникальное и в get на post нужно учитывать какой method="" вы шлете формой и где ищите свои данные....
    Жизнь в стиле Debian уже отучила меня собирать что-либо самостоятельно

  3. Вверх #3
    Постоялец форума Аватар для K@R@NTiN
    Пол
    Мужской
    Адрес
    Одесса
    Возраст
    26
    Сообщений
    1,791
    Репутация
    986
    Записей в дневнике
    1
    Код HTML:
    <table width="310" border="0" align="center">
              <tr>
                <td>
                <!--Форма связи с администрацией сайта -->
                <style type="text/css">
            body
            {
                font-family: Arial, Sans-Serif;
                font-size: 13px;
            }
    	#inputArea
    	{
    	    font-family: Arial, Sans-Serif;
    	    font-size: 13px;
    	   padding: 10px;
    	    width:310px;
    	}
    	#inputArea input, #inputArea textarea
    	{
    	    font-family: Arial, Sans-Serif;
    	    font-size: 13px;
    	    margin-bottom: 5px;
    	    display: block;
    	    padding: 4px;
    	    width: 300px;
    	}
    
            .activeField
            {
                background-image: none;
                background-color: #ffffff;
                border: solid 1px #33677F;
            }
            .idle
            {
    	    border: solid 1px #85b1de;
    	    background-image: url( 'gray_bg.png' );
    	    background-repeat: repeat-x;
    	    background-position: top;
    		background-color:#FFFFFF;
            }
        </style>
    </head>
    <body>
        <div id="inputArea">
     <form action="sent.php" method="post" name="f1"> 
        
     <label>Ваше Имя:</label><input type="text"  name="name" class="idle" onblur="this.className='idle'" onfocus="this.className='activeField'" />   
         
     <label>E-mail:</label><input  type="text" name="email" class="idle" onblur="this.className='idle'" onfocus="this.className='activeField'" />
     
     <label>Тема сообщения:</label><input type="text" name="sub" class="idle" onblur="this.className='idle'" onfocus="this.className='activeField'" />
       
     <label>Текст сообщения:</label><textarea name="message" rows="4" cols="30" class="idle" onblur = "this.className='idle'" onfocus =    "this.className='activeField'"></textarea>
     
     <input type="submit" value="Отправить" class="idle" onblur="this.className='idle'" onfocus="this.className='activeField'"></form>
    
    </div> 
    </body>
    </html>
    
                <!--Форма связи с администрацией сайта -->
    как-то так )
    Не СпИ_зАмЕрЗнЕшЬ

  4. Вверх #4
    Цитата Сообщение от Loud_Swir Посмотреть сообщение
    главная задача - как подправить send.php под новую форму?
    Здравствуйте,
    можно переформулировать - как получить данные с формы в файл скрипта. Чтобы это сделать необходимо изначально модифицировать файл *.html просто как было сказано выше, каждый элемент формы должен иметь уникальное имя, обратите внимание на значение параметра name каждого элемента, передача аргументов происходит методом post.
    Код HTML:
    <body background="http://i018.radikal.ru/1003/50/cf889df3456c.jpg">
     <center>
      <form action="send.php" method="post">
       <big><font size="5" color="white" face="Arial"><b>Регистрационная форма:</b></font></big><br>
       <br>
       
       <em>Кому:</em> <b><small>ОАО</small><abbr title="Расшифровка аббревиатуры">"Фирма"</abbr></b><br>
       <br>
       
       <em>Фамилия:</em><br>
        <input name="Surname" type="text"><br>
        
       <em>Имя:</em><br>
        <input name="Name" type="text"><br>
        
       <em>Отчество:</em><br>
        <input name="Patronymic" type="text"><br>
        
       <em>Название предприятия:</em><br>
        <input name="Enterprise_Name" type="text"><br>
        
       <em>Фактический адрес/почтовый индекс:</em><br>
        <textarea name="Address" cols="25" rows="2"></textarea><br>
        <input name="Index" type="text"><br>
        
       <em>Юридический адрес:</em><br>
        <textarea name="Legal_Address" cols="25" rows="2"></textarea><br>
        
       <em>Номер свидетельства плательщика НДС ИНН:</em><br>
        <textarea name="Certificate_number" cols="38" rows="2"></textarea><br>
    
       <em>Банковские реквизиты:</em><br>
        <textarea name="Bank_Essential_Elements" cols="25" rows="2"></textarea><br>
       <br>
       <br>
       
       <big><em><b>Данные руководителя</b></em></big><br>
       <em>Фамилия:</em><br>
        <input name="Mng_Surname" type="text"><br>
        
       <em>Имя:</em><br>
        <input name="Mng_Name" type="text"><br>
        
       <em>Отчество:</em><br>
        <input name="Mng_Patronymic" type="text"><br>
        
       <em>Должность:</em><br>
        <input name="Position" type="text"><br>
       <br>
       <br>
       
       <big><em><b>Контактные данные</b></em></big><br>
       <!--unknown field
        <input name="from" type="text"><br>
       --> 
       <em>Телефон:</em><br>
        <input name="Phone" type="text"><br>
        
       <em>Факс:</em><br>
        <input name="Fax" type="text"><br>
        
       <em>e-mail:</em><br>
        <input name="E_mail" type="text"><br>
       <br>
       
        <input name="ss" type="submit" value="Отправить">
      </form>
     </center>
    </body>
    В скрипте send.php проверяем данные на заполненость, если везде все ввели, составляем сообщение на основании полученых данных с формы и отправляем его по e-mail.
    PHP код:
    <?php
        $can_Send_Mail 
    true;
        
        
    //проверка полей формы на заполнение
        
    if(!isset($_POST['Surname']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Name']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Patronymic']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Enterprise_Name']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Address']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Index']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Legal_Address']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Certificate_number']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Bank_Essential_Elements']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Mng_Surname']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Mng_Name']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Mng_Patronymic']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Position']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Phone']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['Fax']))
            
    $can_Send_Mail false;
        if(!isset(
    $_POST['E_mail']))
            
    $can_Send_Mail false;
            
        if(
    $can_Send_Mail == true){
            
    // составление самого письма на основании полученых данных из формы желательно вынести в отдельную функцию для красоты кода, тоже касается и проверок выше.
            
    $msg "Фамилия:".$_POST['Surname']."\nИмя:".$_POST['Name']."\nОтчество:".$_POST['Patronymic']."\nПредприятие:".$_POST['Enterprise_Name']."Адресс:\n".$_POST['Address']; //и так далее:  Индекс Юр.Адресс №Свидетельства Реквизиты Рук.Фамилия Рук.Имя Рук.Отчество Должность Тел. Факс e-mail"
            
    echo $msg;
            
            
    mail("[email protected]""[email protected]"$msg);
            echo 
    "Письмо отправлено!"
        } else { 
               echo 
    "Заполните все поля!<br><a href='$_SERVER[HTTP_REFERER]'>Вернуться назад</a>"
        }  
    ?>
    Это самый простой, а значить самый "кривой" и незащищенный способ получить данные, но принцип я думаю понятен.

    P.S. не хотелось бы пугать, но есть такие ньюансы:
    1. Если не все поля заполнены, то при возврате на страничку формы, форма будет чистая и придется вводить ВСЕ данные по-новой, это утомляет. Решение: посредством сессий. Потому не стал пихать все переменные в один if, со взглядом на будущее.
    2. формирование письма, на основании полученных данных, а также проверки вынести в отдельные функции(не создавал еще один файл, ато бы запутал еще больше).
    3. Проверка введенных данных как на хаки, так и на правильность введенных данных, посредством стандартных функций и регулярных выражений.
    4. У меня не настроен smtp потому по поводу отсылки на почту ничего сказать не могу(протестировать не могу). когдато давно mail() работал, но это было на работе и там писался отдельный файл конфигурации smtp, если не ошибаюсь.
    5. Судя по форме передаваться будут данные личного характера, посоветовал бы еще передавать данные по шифрованому каналу.

Ответить в теме

Похожие темы

  1. Видео уроки по HTML, CSS, PHP, Flash, JavaScript, jQuery, AJax
    от paulehan в разделе Интернет
    Ответов: 8
    Последнее сообщение: 07.07.2015, 18:13
  2. Услуги репетитора HTML, CSS, PHP
    от Lolis в разделе Компьютерные услуги и оргтехника
    Ответов: 0
    Последнее сообщение: 18.07.2012, 11:44
  3. HTML, CSS, PHP
    от Kostya Kikot в разделе Программирование
    Ответов: 4
    Последнее сообщение: 05.04.2011, 21:21
  4. Простая форма обратной связи (html+php). Как?
    от Loud_Swir в разделе Интернет
    Ответов: 0
    Последнее сообщение: 19.03.2010, 11:57

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения