|
|
|
| допустим у меня есть форма аутентификации которая передает логин и пароль в переменных $login и $password
и форма передающая 10 переменных с уникальными именами.
все формы вызывают скрипт main_handler.php
данный скрипт вызывает сначала универсальный фильтр и после передает переменные аутентификатору или обработчику 10 переменных.
аутентификатор и другой обработчик "знает" о наличии переменных которые должны к ним прийти, а универсальный фильтр незнает имен переменных которые он должен обработать (это сделано в целях повторного использования при проверке любых данных полученных из любых форм).
вопрос: как универсальному фильтру узнать имена переменных чтобы проверить все данные поступившие из формы | |
|
|
|
|
|
|
|
для: kaoz
(12.05.2006 в 11:44)
| | Все данные, пришедшие из формы, будут размещены в $_POST[] - его содержимое и нужно будет проверять. | |
|
|
|
|
|
|
|
для: kaoz
(12.05.2006 в 11:44)
| | Перебирайте массив $_POST
<?php
foreach($_POST AS $name => $value)
{
}
?>
|
$name - будет содержать имя переменной. | |
|
|
|
|
|
|
|
для: cheops
(12.05.2006 в 11:56)
| | спасибо
а как определить какой суперглобальный массив передала форма? | |
|
|
|
|
|
|
|
для: kaoz
(12.05.2006 в 15:46)
| | посмотреть название метода в заголовке формы:) | |
|
|
|
|
|
|
|
для: kaoz
(12.05.2006 в 15:46)
| | Если в форме указано method=post, форма передаст $_POST[] , в противном случае $_GET[] .
Если в форме указано enctype=multipart/form-data и имеются файловые поля (<input type=file ... > ) , будет сформирован $_FILES.
Кроме того из данных GET, POST и COOKIE формируется объединенное зеркало $_REQUEST[]
А посмотреть на всё это проще всего, вызвав phpinfo(INFO_VARIABLES); | |
|
|
|
|
|
|
|
для: Trianon
(12.05.2006 в 16:01)
| | Пишу так:
if (!empty($_POST[]))
{
echo "$POST";
}
elseif (!empty($_GET[]))
{
echo "$GET";
}
else
{
echo "Nothing";
}
|
Выдает ошибку
Fatal error: Cannot use [] for reading in
|
В чем проблема, подскажите плз. | |
|
|
|
|
|
|
|
для: kaoz
(12.05.2006 в 16:38)
| |
<?
echo '<pre>';
if(!empty($_GET)) print_r($_GET);
if(!empty($_POST)) print_r($_POST);
echo '</pre>';
?>
|
| |
|
|
|
|
|
|
|
для: kaoz
(12.05.2006 в 16:38)
| |
if (!empty($_POST))
{
echo "$POST";
}
elseif (!empty($_GET))
{
echo "$GET";
}
else
{
echo "Nothing";
}
|
| |
|
|
|
|
|
|
|
для: Loki
(12.05.2006 в 17:00)
| | спасибо | |
|
|
|