Регистрация Главная Сообщество
Сообщения за день Справка Регистрация
Навигация
Zhyk.org LIVE! Реклама на Zhyk.org Правила Форума Награды и достижения Доска "почета"

Ответ
 
Опции темы
Старый 16.08.2012, 13:22   #1
Заблокирован
 Разведчик
Аватар для Metro Berlin
 
Metro Berlin никому не известный тип
Регистрация: 11.08.2012
Сообщений: 14
Популярность: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
 
По умолчанию Передача параметров с помощью HTML-форм

Сначала напишем HTML-документ, который будет содержать практически все элементы HTML-формю Параметры формы мы будем передавать скрипту для последующией обработки. Итак, листинг HTML-документа send.html:

Код:
<html>
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
 <title>Test Form</title>
 </head>
 <body>
 <h3>Тестовая форма</h3>
 <form name="form1" method="post" action="script.php">
 <p><span>Текстовое поле: </span>
 <input type="text" name="textfield">
 </p>
 <p>Поле ввода пароля: 
 <input type="password" name="pswfield">
 </p>
 <p>Скрытое поле hidden 
 <input name="hidden" type="hidden" id="hidden" value="Скрытое_значение">
 </p>
 <hr size="1">
 <p>Независимые переключатели (checkbox):</p>
 <p>
 <input type="checkbox" name="checkbox1" value="1">
 Вариант первый
 <input type="checkbox" name="checkbox2" value="1">
 Вариант второй
 <input type="checkbox" name="checkbox3" value="1" checked>
 Вариант третий (по умолчанию)</p>
 <hr size="1">
 <p>Зависимые переключатели (radio):</p>
 <p>
 <input name="radiobutton" type="radio" value="yes"> 
 Да 
 <input name="radiobutton" type="radio" value="no"> 
 Нет</p>
 <hr size="1">
 <p>Многострочное текстовое поле (textarea):</p>
 <p>
 <textarea name="textarea" cols="40" rows="10">Текст по умолчанию</textarea> 
 </p>
 <hr size="1">
 <p>Список с единственным выбором:</p>
 <p>
 <select name=day_s size=1>
 <option value=1>Понедельник</option>
 <option value=2>Вторник</option>
 <option value=3 selected>Среда</option>
 <option value=4>Четверг</option>
 <option value=5>Пятница</option>
 <option value=6>Суббота</option>
 <option value=7>Воскресенье</option>
 </select>
 </p>
 <p>Список с множественным выбором (multiple):</p>
 <p>
 <select name=day_m[] size=7 multiple>
 <option value=1 selected>Понедельник</option>
 <option value=2>Вторник</option>
 <option value=3>Среда</option>
 <option value=4>Четверг</option>
 <option value=5>Пятница</option>
 <option value=6>Суббота</option>
 <option value=7>Воскресенье</option>
 </select> 
 </p>
 <hr size="1">
 <p>
 <input type="submit" value="Отослать форму">
 &nbsp;&nbsp;&nbsp;&nbsp;<input type="reset" value="Очистить форму">
 </p>
 <p>&copy;&nbsp;2005 <a href="http://php.su">PHP.SU</a></p>
 </form>
 </body>
 </html>

В окне браузера данная форма будет выглядеть так:

[Ссылки могут видеть только зарегистрированные пользователи. ]

Когда пользователь нажимает кнопку "Отослать форму", браузер передаст скрипту следующие параметры:
textfield - значение текстового поля;
pswfield - значение поля ввода пароля;
hidden - значение скрытого поля;
параметры checkbox: checkbox1, checkbox2 и checkbox3 будут переданы только в том случае, если соответствующие им независимые переключатели активны;
radiobutton - значение группы radio (будет передано одно из значений: Yes или No);
textarea - содержимое многострочной текстовой области;
day_s - значение списка с единственным выбором;
day_m - значения списка с множественным выбором.

Теперь перед нами стоит задача обработки всех параметров переданной формы с помощью PHP скрипта.

Параметры textfield, pswfield и textarea обрабатываются достаточно просто. Например, для отображения значения параметра textfield достаточно написать в обрабатывающем скрипте:

Код:
echo $_POST['textfield'];
С параметрами checkbox1, checkbox2, checkbox3, и radiobutton дело обстоит несколько сложнее. Если переключатель не активен, то перечисленные параметры вообще не будут переданы на сервер, как будто их вообще не было. Следовательно, при попытке обратиться в скрипте к этим параметрам, мы получим сообщение, что переменная не существует. Поэтому просто написать

Код:
echo $_POST['checkbox1'];
мы не можем, нам необходимо сначала проверить существование этих параметров в запросе. Проверка существования параметра осуществляется с помощью функции isset(), которая служит для проверки существования переменных.

Код:
if (isset($_POST['checkbox1'])) echo $_POST['checkbox1'];
 if (isset($_POST['radiobutton'])) echo $_POST['radiobutton'];
Только после проверки существования перечисленных параметров формы можно начинать работу с переменными.

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

Код:
day_m=01&day_m=03&day_m=07...
Действительно, мы оказались в ситуации, когда один параметр имеет несколько значений. Это напоминает нам массив данных. Действительно, множественный список можно представить в виде массива, а обработать его элементы с помощью цикла foreach. Нам даже не обязательно знать колличество элементов множественного списка. Нам нужно лишь предварительно дать понять PHP, что мы будем передавать массив:

Код:
<select name="day_m[]" size=7 mutiple>
Квадратные скобки []- это признак массива. Циклическая обработка массива осуществляется так:

Код:
foreach ($_POST['day_m'] as $key=>$value) echo "$key = $value <br>";
А теперь приведем окончательный листинг PHP скрипта, обрабатывающего нашу тестовую форму:

PHP код:
<?php 
// Выводим HTML-заголовки: 
echo '<html>'
echo 
'<head>'
echo 
'<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">'
echo 
'<title>Test Form</title>'
echo 
'</head>'
echo 
'<body>'
echo 
'<h3>Тестовая форма</h3>'
echo 
"<p>Переданное значение текстового поля: <b>".$_POST['textfield']."</b></p>"
echo 
"<p>Переданное значение поля пароля: <b>".$_POST['pswfield']."</b></p>"
echo 
"<p>Переданное значение скрытого поля hidden: <b>".$_POST['hidden']."</b></p>"
echo 
'<hr size="1">'
echo 
'<p>Были включены следующие независимые переключатели: </p>'
if (isset(
$_POST['checkbox1'])) echo "<p><b>Первый</b></p>"
if (isset(
$_POST['checkbox2'])) echo "<p><b>Второй</b></p>"
if (isset(
$_POST['checkbox3'])) echo "<p><b>Третий</b></p>"
echo 
'<hr size="1">'

if (isset(
$_POST['radiobutton'])) 

echo 
'<p>Был выбран независимый переключатель со следующим значением: '
if (
$_POST['radiobutton']==="yes") echo "<b>Yes</b>"
if (
$_POST['radiobutton']==="no") echo "<b>No</b>"
echo 
'</p>'

else echo 
'<p>Ни один из независимых переключателей не был выбран</p>'
echo 
'<hr size="1">'
echo 
'<p>Значение многострочного текстового поля :</p>'
echo 
"<p><b>".$_POST['textarea']."</b></p>"
echo 
'<hr size="1">'
echo 
"<p>Значение списка с единственным выбором: <b>".$_POST['day_s']."</b></p>"
echo 
'<hr size="1">'
echo 
'<p>Значения списка с множественным выбором: </p>'
foreach (
$_POST['day_m'] as $keys=>$values) echo "<b>$values</b><br>"
echo 
'<hr size="1">'
echo 
'</body>'
echo 
'</html>'
?>
Спасибо за внимание, с Вами был Metro Berlin

[Ссылки могут видеть только зарегистрированные пользователи. ]

Последний раз редактировалось Metro Berlin; 17.08.2012 в 13:25.
  Ответить с цитированием
Ответ


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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[HTML] HTML шаблон RIP промо страницы сервера Lineage - BladeRush ~Nero~ Web для Lineage 2 0 02.11.2011 15:18
Упрощаем обработку форм Я убью:Frost:DD Web-программирование и технологии 0 11.06.2011 21:40
[Баг] Скилы и бафы других форм в станд.форм у друида maxxx Читы, баги и статьи по WoW 2 23.04.2010 15:55

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 16:53.

Пишите нам: [email protected]
Copyright © 2024 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net