PHP SQL
PHP SQL .ru
  Главная  Уроки  PHP  MySQL  jQuery  RegEx  CSS  Книги  Форум  
 Функции


  На главную

  Назад  Вперед

  Печать

Переменные формы в массив

При работе с формами вы будете часто сталкиваться с обработкой независимых переключателей (флажков). Например, вы хотите сделать опрос с целью понять, какие жанры фильмов больше всего нравятся вашим пользователям, и сразу же вставить полученные значения в базу данных customer_pref erences. Наиболее сложный путь - это назначить каждому переключателю свое имя, как показано ниже:

<p>What movies do you like?</p>
<input type="checkbox" name="action" value="yes"> Action <input type="checkbox" name="drama" value="yes"> Drama <input type="checkbox" name="comedy" value="yes"> Comedy <input type="checkbox" name="romance" value="yes"> Romance
К сожалению, когда вы начнете обрабатывать форму, вам понадобится серия условных операторов. Вам нужно будет проверить, включен ли переключатель $action, затем включен ли переключатель $drama и т.д. Добавление новых жанров в HTML породит новые условные операторы в коде сценария.

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

<form action="process.php" method="post"> 
<p>What is your name?</p>
<p><input type="text" name="customer_name"></p> 
<p>What movies do you like?</p>
<p><input type="checkbox" name="movie_type[]" value="action"> Action 
<input type="checkbox" name="movie_type[]" value="drama"> Drama 
<input type="checkbox" name="movie_type[]" value="comedy"> Comedy 
<input type="checkbox" name="movie_type[]" value="romance"> Romance</p> 
<input type="submit"> 
</form>
Когда РНР получит данные формы, все они будут помещены в один массив. Вы можете обработать этот массив так:
<?php
$movie_type - $_POST["movie_type"];
$customer_name = strval($_POST["customer_name"]);
if (is_array($movie_type))   {
foreach ($movie_type as $key => $value)   {
print "$customer_name likes $value movies.<br>";
}
}
?>
Данную технику можно использовать не только для работы с переключателями, но и для обработки многочисленных полей ввода. Например, представим, что мы разрабатываем меню интернет-магазина и нам нужно показать все товары в заданной категории. Мы не знаем, сколько элементов будет в категории, но напротив каждого элемента нужно отобразить текстовое поле для ввода количества товара.

 
Предыдущая   На главную   Следующая          

Ваш комментарий:

'

Реклама на сайте | Обмен ссылками | Ссылки | Контакты
Добавить статью | Добавить исходник
2010-2014 © phpsql.ru