Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

HTML-формы (GET и POST)



Когда происходит отправка данных формы PHP-скрипту, информация из этой формы автоматически становится доступной ему. Существует много способов получения этой информации, например:

Пример #1 Простая HTML-форма

<form action="foo.php" method="post"> Имя: <input type="text" name="username" /><br /> Email: <input type="text" name="email" /><br /> <input type="submit" name="submit" value="Отправь меня!" /></form>

В зависимости от вашей индивидуальной установки и личных настроек существует много способов доступа к данным из ваших HTML-форм. Вот несколько примеров:

Пример #2 Доступ к данным из простой HTML POST-формы

<?php
// Доступно, начиная с PHP 4.1.0

echo $_POST['username'];
echo $_REQUEST['username'];

import_request_variables('p', 'p_');
echo $p_username;

// Начиная с PHP 5.0.0, эти длинные предопределенные
// переменные могут быть отключены директивой register_long_arrays.

echo $HTTP_POST_VARS['username'];

// Доступно, если директива PHP register_globals = on. Начиная
// с PHP 4.2.0, значение по умолчанию register_globals = off.
// Использование/доверие этому методу не рекомендуется.

echo $username;
?>

GET-форма используется аналогично, за исключением того, что вместо POST, вам нужно будет использовать соответствующую предопределенную переменную GET. GET относится также к QUERY_STRING (информация в URL после '?'). Так, например, http://www.example.com/test.php?id=3 содержит GET-данные, доступные как $_GET['id']. Смотрите также $_REQUEST и import_request_variables().

Замечание:

Суперглобальные массивы, такие как $_POST и $_GET, стали доступны в PHP 4.1.0

Замечание:

Точки и пробелы в именах переменных преобразуется в знаки подчеркивания. Например, <input name="a.b" /> станет $_REQUEST["a_b"].

Как уже говорилось, до PHP 4.2.0 значением register_globals по умолчанию было on (включено). Сообщество PHP рекомендует всем не полагаться на эту директиву, поскольку предпочтительно присвоить ей значение off и писать программы исходя из этого.

Замечание:

Конфигурационная директива magic_quotes_gpc влияет на значения Get, Post и Cookie. Если она включена, значение (It's "PHP!") автоматически станет (It\'s \"PHP!\"). Экранирование необходимо при добавлении в базу данных. Смотрите также addslashes(), stripslashes() и magic_quotes_sybase.

PHP также понимает массивы в контексте переменных формы (смотрите соответствующие ЧАВО). К примеру, вы можете сгруппировать связанные переменные вместе или использовать эту возможность для получения значений списка множественного выбора select. Например, давайте отправим форму самой себе, а после отправки отобразим данные:

Пример #3 Более сложные переменные формы

<?php
if ($_POST) {
echo '<pre>';
echo htmlspecialchars(print_r($_POST, true));
echo '</pre>';
}
?>
<form action="" method="post">
Имя: <input type="text" name="personal[name]" /><br />
Email: <input type="text" name="personal[email]" /><br />
Пиво: <br />
<select multiple name="beer[]">
<option value="warthog">Warthog</option>
<option value="guinness">Guinness</option>
<option value="stuttgarter">Stuttgarter Schwabenbrau</option>
</select><br />
<input type="submit" value="Отправь меня!" />
</form>





Дата публикования: 2015-07-22; Прочитано: 439 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...