[Image] Пятница, 19.04.2024, 14:51 [Image]
SEO, технологии, игры, IT новости
[Image] Главная Регистрация Вход [Image]
[Image] Приветствую Вас, Гость · RSS [Image]
Меню сайта

Форма входа
Логин:
Пароль:
 Блог
Главная » 2011 » Январь » 2 » Отправка форм РНР-сценариям
18:44
Отправка форм РНР-сценариям
После того как форма отправлена Web-серверу, если ее атрибут ACTION представляет собой PHP-сценарий, этот сценарий запускается и принимает данные, которыебыли отправлены. Но как эти данные становятся доступными в PHP-коде? К счастью, существует множество очень удобных методов извлечения данных. В зависимости от того, какой метод используется для отправки данных формы и передачи их РНР-сценарию (GET или POST), в РНР определены два суперглобальных массива, называемые, соответственно, $_GET и $_POST, которые могут использоваться для сохранения данных. Это ассоциативные массивы, содержащие список ключей (представляющих имена элементов формы, указанные в атрибутах NAME) и ассоциированных с ними значений. Таким образом, значение переменной $_GET [' mytext' ] будет содержать значение элемента HTML-формы, атрибут NAME которого равен mytext:
Элемент HTML-формы:
<INPUT TYPE="text" NAME="mytext" VALUE="3TO текст!">
Код РНР:

При отправке формы получается вывод:
Это текст!
НА ЗАМЕТКУ
Термин суперглобальный введен в главе 1 и обозначает, что независимо от текущего контекста (например, внутри функции), переменные $_GET и $_POST будут всегда доступны без необходимости использования оператора global для включения их в текущий контекст. За дополнительной информацией обращайтесь в главу 1.
При использовании массива $_GET предполагается, что форма отправляется методом GET. Если же это делается методом POST, данные будут сохранены в массиве $_POST. Для тех случаев, когда ни один из этих двух методов не подходит (или может быть любым), предусмотрен третий суперглобальный массив $_REQUEST, который комбинирует $_GET, $_POST, $_COOKIE (суперглобальный массив, содержащий так называемые cookie-переменные — см. главу 5) и $_FILES (описанный далее в настоящей главе).
Для тех из вас, кто в прошлом имел дело с РНР (версий, предшествовавших 4.1.0), по умолчанию РНР создает стандартные имена переменных, такие как $myvalue для представления значения, содержащегося в суперглобальной переменной $__GET [ 'myvalue' ].
Хотя по-прежнему можно включить это поведение по умолчанию (установив значение директивы register_globals равной on), поступать так весьма не рекомендуется из соображений безопасности.
Более правильный подход (обеспечивающий тот же конечный результат) предполагает использование функции import_request_variables (). Эта функция создает глобальные переменные наподобие $myvalue для хранения значений из суперглобальных массивов. Синтаксис функции выглядит следующим образом: import_request variables($types [, $prefix])
использовании этой функции $ types представляет строку, которая указывает тип переменных для импорта и должна содержать любую комбинацию (не зависящую от регистра) букв Р, G и С. Эти буквы соответствуют $_POST, $_GET и $_СООК1Е. Второй необязательный параметр, $prefix, если он указан, представляет префикс к имени
каждой создаваемой переменной.
В листинге 4.11 (предполагается, что $_GET[ 'myvalue'] существует) используется функция import_request_variables () для создания локальной копии $_GET [ 'myvalue' ].
Листинг 4.11. Использование функции import_request_variables ()
<?php
/* Предполагается, что $_GET['myvalue'] существует */
import_request_variables("G", "myget_");
echo "Значение поля 'myvalue1 равно: $myget_myvalue"; ,
НА ЗАМЕТКУ
Использование функции import_request_variables () рекомендуется вместо конфигурационной директивы register_globals, однако следует отметить, что она не защитит вас от риска, связанного с обработкой пользовательских данных. Всегда рекомендуется, чтобы данные, переданные от пользователя, были обработаны перед использованием.
Важно также отметить, что эта функция импортирует переменные только в область глобального контекста. То есть она никогда не должна вызываться внутри тела функции.

Категория: Все о PHP | Просмотров: 1158 | Добавил: witkom8382 | Рейтинг: 0.0/0
Всего комментариев: 1
1 witkom8382  
0
Вам тоже хочу пожелать успехов и огромное спасибо!

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024
Категории
Оптимизация сайта [589]
Создание сайтов [355]
Заработать в интернете [505]
Технологии [44]
Полезное [367]
Услуги и сервисы [308]
Автоблог [100]
Скрипты для Ucoz [39]
Движок на сайт [10]
Все о Joomla и Drupal [20]
Все о PHP [91]
Поиск
Пользовательский поиск
Статистика


Онлайн всего: 2
Гостей: 2
Пользователей: 0
Seo сайт, технологии продвижения, мета теги, оптимизация сайтов, новости сео, Скрипты, Ucoz

Рейтинг@Mail.ru