Php две формы на странице: php — Разместить 2 формы на одной странице

Содержание

Несколько форм на одной странице с отправкой без перезагрузки

Заказать звонок ×

  • Старт

     5 000 Р

    • Состоит из 1 страницы
    • Основная информация
    • Схема проезда
    • Форма обратной связи
    • Бесплатные начальные консультации

    ПОДРОБНЕЕ

  • Визитка

     10 000 Р

    • Состоит из 1-3 страниц
    • Новостная лента
    • Схема проезда
    • Форма обратной связи
    • Бесплатные начальные консультации

    ПОДРОБНЕЕ

  • Малый
    бизнес

     25 000 Р

    • Новости компании
    • Каталог продукции
    • Контакты и схема проезда
    • Форма обратной связи
    • Слайд-шоу

    ПОДРОБНЕЕ

  • Интернет
    магазин

     25 000 Р

    • Каталог товаров
    • Вывод новинок
    • Сопутствующие товары
    • Загрузка товаров из файла
    • Модуль доставки

    ПОДРОБНЕЕ

  • Landing
    Page

     15 000 Р

    • Продающие тексты
    • Продающие триггеры
    • Инфографика
    • Форма обратной связи
    • Блок отзывов клиентов

    ПОДРОБНЕЕ

  • Старт

     5 000 Р

    • Состоит из 1 страницы
    • Основная информация
    • Схема проезда
    • Форма обратной связи
    • Бесплатные начальные консультации

    ПОДРОБНЕЕ

  • Визитка

     10 000 Р

    • Состоит из 1-3 страниц
    • Новостная лента
    • Схема проезда
    • Форма обратной связи
    • Бесплатные начальные консультации

    ПОДРОБНЕЕ

  • Малый
    бизнес

     25 000 Р

    • Новости компании
    • Каталог продукции
    • Контакты и схема проезда
    • Форма обратной связи
    • Слайд-шоу

    ПОДРОБНЕЕ

  • Интернет
    магазин

     25 000 Р

    • Каталог товаров
    • Вывод новинок
    • Сопутствующие товары
    • Загрузка товаров из файла
    • Модуль доставки

    ПОДРОБНЕЕ

  • Landing
    Page

     15 000 Р

    • Продающие тексты
    • Продающие триггеры
    • Инфографика
    • Форма обратной связи
    • Блок отзывов клиентов

    ПОДРОБНЕЕ

  • Старт

     5 000 Р

    • Состоит из 1 страницы
    • Основная информация
    • Схема проезда
    • Форма обратной связи
    • Бесплатные начальные консультации

    ПОДРОБНЕЕ

  • Визитка

     10 000 Р

    • Состоит из 1-3 страниц
    • Новостная лента
    • Схема проезда
    • Форма обратной связи
    • Бесплатные начальные консультации

    ПОДРОБНЕЕ

  • Малый
    бизнес

     25 000 Р

    • Новости компании
    • Каталог продукции
    • Контакты и схема проезда
    • Форма обратной связи
    • Слайд-шоу

    ПОДРОБНЕЕ

  • Интернет
    магазин

     25 000 Р

    • Каталог товаров
    • Вывод новинок
    • Сопутствующие товары
    • Загрузка товаров из файла
    • Модуль доставки

    ПОДРОБНЕЕ

  • Landing
    Page

     15 000 Р

    • Продающие тексты
    • Продающие триггеры
    • Инфографика
    • Форма обратной связи
    • Блок отзывов клиентов

    ПОДРОБНЕЕ

5 000 Р

  • Состоит из 1 страницы
  • Основная информация
  • Схема проезда
  • Форма обратной связи
  • Бесплатные начальные консультации

ПОДРОБНЕЕ

Визитка

10 000 Р

  • Состоит из 1-3 страниц
  • Новостная лента
  • Схема проезда
  • Форма обратной связи
  • Бесплатные начальные консультации

ПОДРОБНЕЕ

Малый
бизнес

25 000 Р

  • Новости компании
  • Каталог продукции
  • Контакты и схема проезда
  • Форма обратной связи
  • Слайд-шоу

ПОДРОБНЕЕ

Интернет
магазин

25 000 Р

  • Каталог товаров
  • Вывод новинок
  • Сопутствующие товары
  • Загрузка товаров из файла
  • Модуль доставки

ПОДРОБНЕЕ

Landing
Page

15 000 Р

  • Продающие тексты
  • Продающие триггеры
  • Инфографика
  • Форма обратной связи
  • Блок отзывов клиентов

ПОДРОБНЕЕ

  • Madcatzz
  • Несколько форм на одной странице с отправкой без перезагрузки

  • 29. 06.2015
  • 61866

Вы можете скачать готовые файлы, в которые дополнительно включена проверка введенных данных в форму (валидация), поделившись статьей в Twitter.

Представьте, что у вас на странице сайта есть несколько форм связи с различным предназначением. Лучший способ объяснить эту потребность, это создание сайта, в котором необходимо разместить форму заказа звонка, форму запроса цены, форму запроса каталога и еще какие-либо необходимые вам формы.

За пересылку письма с введенными в форму данными отвечает PHP обработчик. Для передачи данных в обработчик используется кнопка с типом submit. В случае использования нескольких форм связи с одним php обработчиком Вы должны передать в него данные именно той формы, в которой была нажата кнопка «Отправить». Это можно сделать через if/else, с учетом разных имен атрибутов, наплодив одинаковых кусков кода, можно создать кучу обработчиков с разными именами, но одинаковым кодом, а можно использовать скрипт jQuery с помощью которого данные в обработчик будут отправляться из той формы где было произведено нажатие на кнопку «Отправить».

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

Несколько форм связи с одним обработчиком

К примеру, возьмем три формы.

Присвойте каждой форме свой уникальный id. У нас это form1, form2 и form3. Кроме того, для стилизации формы примените классы css, для отображения подсказки включите атрибуты placeholder, а для формирования темы письма добавьте скрытый input.

Таким образом, теперь формы имеют различные идентификаторы id и мы можем написать скрипт, который будет отправлять данные в обработчик ориентируясь на id формы.

Отправка формы без перезагрузки страницы

Обычно при отправке данных из формы происходит перенаправление на страницу подтверждения. В случае использования нескольких форм на странице, это будет мешать и отвлекать клиента от вашего предложения и заполнения какого-либо другого запроса.

Используя AJAX, отправку формы без перезагрузки страницы сделать очень легко.

Форма связи в процессе заполнения

После нажатия кнопки «Отправить» вместо полей ввода формы у вас появится сообщение об отправке.

Форма связи после нажатия кнопки «Отправить»

update: При необходимости восстановления формы после отправки данных, вы можете использовать следующее решение (вставьте выделенный код в указанное место и оберните все input в форме в div с id, например inputs):

Метод .load() загружает данные и вставляет в указанный элемент.

«#parent»id формы, в которую необходимо вставить удаленные данные.
В приведенном примере скрипта с отправкой данных форм без перезагрузки страницы, оберните в div все input. Назначьте ему id, например inputs. Этот div с вложенными полями input удаляется скриптом, на его месте появляется сообщение об отправке. Получается, что в коде остается тег form с id, этот id необходимо указать в #parent, это станет контейнером для загрузки скриптом данных формы (удаленные input).

«http://site.ru» — адрес вашей страницы с формой, откуда скрипт загрузит удаленные input. Например, если ваша форма будет находиться по адресу

http://site.ru/contacts.html, вставляете этот адрес.

«#child»id блока, который содержит input. В данном случае div #inputs.

3000 — время в мс через которое восстановится код формы.

Демо

PHP обработчик

Большинство форм для передачи данных используют метод POST, это позволяет «спрятать» данные формы и не загромождать URL в адресной строке.

Данный обработчик содержит проверку метода передачи данных.

Создавая формы на страницах своего сайта, не забывайте о внедрении проверки введенных данных и методах защиты от спама.

Возникли вопросы? Давайте обсудим их в комментариях.

Демо

Для просмотра комментариев включите JavaScript

Блог

Создание сайта компании
Madcatzz

Блог

Создание сайта компании
Madcatzz

Формы в PHP. — it-black.ru

Формы в PHP. — it-black.ru

HTML-формы позволяют передавать введенные пользователем данные на сервер, где их можно дополнительно обработать. Обслуживание форм выполняется в два этапа. Сначала форма должна быть представлена пользователю, который заполнит ее своими данными и затем отправит на сервер.

У каждой формы есть целевая веб-страница, которая должна быть загружена для обработки данных, отправленных пользователем. PHP-код просто проверяет наличие данных в форме, чтобы определить, вызывать ли ему вновь сценарий для создания формы или начать обработку полученных данных. Я расскажу все известные формы применяемые в php для создания сайтов.

Создание формы

Одна страница может содержать несколько форм, поэтому необходимы средства, которые позволяли бы отличить одну форму от другой. Более того, мы должны как-то сообщить форме, куда следует перейти, когда пользователь выполняет действие с формой. Обе задачи решаются заключением форм в следующие теги HTML:


<form action = действие method = "метод" - элементы формы -</form>

В тегах форм указываются два важных элемента: действие и метод. Действие указывает, какой сценарий должен обрабатывать форму, а метод определяет способ передачи данных этому сценарию. Существует два метода:

Метод GET

Этот метод предусматривает передачу параметров с предыдущей страницы на следующую в составе строки запроса, которая представлена в формате универсального идентификатора ресурса URL.

При использовании метода GET для обработки формы к URL, обозначенному с помощью атрибута action формы, после разделителя добавляется в виде вопросительного знака указанное имя (имена) и значение (значения) переменной, после чего вся эта строка передается обрабатывающему веб-серверу.

Метод POST

Предпочтительным методом отправки данных формы является POST. Набор данных формы включается в тело формы при перенаправлении формы к интерпретатору PHP.

Метод POST более безопасен, чем GET. Посетитель может столь же успешно просматривать переменные и данные, отправляемые с помощью метода POST, как и с помощью метода GET.

Единственное различие состоит в том, что в первом случае передаваемые данные не обнаруживаются в адресной строке. Но это не означает, что они скрыты. Данные, отправленные с помощью метода POST, могут просматриваться и модифицироваться пользователем веб-сайта.

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

C помощью протокола SSL осуществляется просто шифрование данных, передаваемых по сети, что не позволяет рассматривать данные в открытом виде на этапе их прохождения от отправителя к получателю.

Флажок (checkbox)

Флажки checkbox предлагают пользователю ряд вариантов, и разрешает выбор нескольких из них. Группа флажков состоит из элементов <input>, имеющих одинаковые атрибуты name и type (checkbox).

Если элемент выбран, то сценарию поступит строка имя=значение, в противном случае в обработчик формы не передаст ничего, т.е. не выбранные флажки вообще никак не проявляют себя в переданном наборе данных.


<input name="Имя переключателя" type="Тип" value="Значение">

Пример:


<input name="mycolor" type="checkbox" value="red" checked> Красный(выбран по умолчанию) 
<input name="mycolor" type="checkbox" value="blue"> Синий 
<input name="mycolor" type="checkbox" value="black"> Черный 
<input name="mycolor" type="checkbox" value="white"> Белый
Переключатель (radio)

Переключатели radio предлагают пользователю ряд вариантов, но разрешает выбрать только один из них. Переключатель (radio) имеет атрибуты name, type и value. Атрибут name задает имя переключателя, type задает тип radio, а атрибут value задает значение.

Если пользователь выберет переключатель, то сценарию будет передана строка имя=значение. При необходимости можно указать параметр checked, который указывает на то, что переключатель будет иметь фокус (т.е. будет отмечен по умолчанию) при загрузке страницы. Переключатели также можно объединять в группы, для этого они должны иметь одно и тоже имя.


<input name="Имя переключателя" type="Тип" value="Значение">

Пример:


 <input name="mycolor" type="radio" value="white"> Белый 
  <input name="mycolor " type="radio" value="green" checked> Зеленый (выбран по умолчанию) 
  <input name="mycolor " type="radio" value="blue"> Синий 
  <input name="mycolor " type="radio" value="red"> Красный 
  <input name="mycolor " type="radio" value="black"> Черный
Текстовое поле (text)

Текстовое поле позволяет пользователям вводить различную информацию. При создании обычного текстового поля размером size и максимальной допустимой длины maxlength символов, атрибут type принимает значение text.

Если указан параметр value, то поле будет содержать отображать value-текст. При создании поля нельзя забывать указывать имя поля, т.к. этот атрибут является обязательным. Пример:


<input type="text" name="txtName" size="10" maxlength="5" value="Текст по умолчанию">
Поле для ввода пароля (password)

Полностью аналогичен текстовому полю, за исключением того что символы, набираемые пользователем, не будут отображаться на экране. Пример:


<input type="password" name="txtName" size="10" maxlength="5">
Многострочное поле ввода текста (textarea)

Многострочное поле ввода текста позволяет отправлять не одну строку, а сразу несколько. По умолчанию тег создает пустое поле шириной в 20 символов и состоящее из двух строк. Многострочное поле ввода текста начинается с парных тегов <textarea></textarea>. Тэг name задает имя многострочного поля.

Также можно указать ширину поля(cols) и число строк(rows). При необходимости можно указать атрибут readonly, который запрещает редактировать, удалять и изменять текст, т.е. текст будет предназначен только для чтения.


<textarea name="Имя поля" cols="Ширина поля " rows="Число строк">Текст</textarea>
Скрытое текстовое поле

Позволяет передавать сценарию какую то служебную информацию, не отображая её на странице. Скрытое поле начинается с тега <input>, атрибуты которого являются name, type и value. Атрибут name задает имя поля, type определяет тип поля, а атрибут value задает значение поля. Пример:


<input name="email" type="hidden" value="[email protected]">
Кнопка отправки формы (submit)

Служит для отправки формы сценарию. При создании кнопки для отправки формы необходимо указать 2 атрибута: type=”submit” и value=”Текст кнопки”. Атрибут name необходим если кнопка не одна, а несколько и все они созданы для разных операций, например кнопки “Сохранить”, “Удалить”, “Редактировать” и т.д. После нажатия на кнопку сценарию передается строка имя=текст кнопки.


<input type="Тип" name="Имя кнопки" value="Текст кнопки">
Кнопка для загрузки файлов (browse)

Кнопка служит для реализации загрузки файлов на сервер. Объект browse начитается с парных тегов <form></form>. Начинающий тэг <form> содержит необходимый атрибут encrypt. Атрибут encrypt принимает значение multipart/form-data, который извещает сервер о том, что вместе с обычной информацией посылается и файл. При создании текстового поля также необходимо указать тип файла – “file”. Пример:


<form enctype="multipart/form-data" action="file.php" method="post"> 
Загрузить: <input name="my_file" type="file"> 
  <input type="submit" value="Отправить"> 
</form>
Рамка (fieldset)

Объект fieldset позволяет нарисовать рамку вокруг объектов. Имеет закрывающий тэг </fieldset>. Заголовок указывается в тэгах <legend></legend>. Основное назначение объекта – задание различных стилей оформления. Пример:


<fieldset> 
<legend>Наш новый урок по языку php.</legend> 
Текст, который будет помещен внутри рамки.
</fieldset>
Обработка формы

Для начала создадим форму на HTML:


<html>
<head>
  <title>Форма</title>
</head>
<body>
  <form name = 'myform' action = 'req.php' method = 'post'>
    Ваш логин: <input type = 'text' name = 'login' />
    <br />
    Ваш пароль: <input type = 'password' name = 'pass' />
    <br />
    <input type = 'submit' value = 'Войти' />
  </form>
</body>
</html>

Это пример классической формы авторизации пользователя. Мы уже рассмотрели два метода это GET и POST. Соответственно, в PHP существуют два массива: $_GET и $_POST, которые содержат данные, полученные каждым из этих методов. Также есть массив $_REQUEST, который содержит данные $_GET и $_POST одновременно. Теперь обработаем данные. Реализуем простой скрипт (в файле “req.php”):


<?php
  $login = $_POST['login'];
  $pass = $_POST['pass'];
  if (($login == "Admin") && ($pass == "AdminPass"))
    echo "Привет, Admin!";
  else echo "Доступ закрыт";
?>

В данном скрипте мы получаем данные, полученные из формы методом POST (из массива $_POST). Дальше проверяем логин и пароль и выводим: “Привет, Admin!” или “Доступ закрыт”. Аналогично, считываются и обрабатываются абсолютно любые данные из форм. Нужно только знать имя переменной и дальше использовать массивы $_POST, $_GET и $_REQUEST.