Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Исследование данных полученных из формы (Универсальный фильтр)
 
 автор: kaoz   (12.05.2006 в 11:44)   письмо автору
 
 

допустим у меня есть форма аутентификации которая передает логин и пароль в переменных $login и $password

и форма передающая 10 переменных с уникальными именами.

все формы вызывают скрипт main_handler.php

данный скрипт вызывает сначала универсальный фильтр и после передает переменные аутентификатору или обработчику 10 переменных.

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

вопрос: как универсальному фильтру узнать имена переменных чтобы проверить все данные поступившие из формы

   
 
 автор: Trianon   (12.05.2006 в 11:55)   письмо автору
 
   для: kaoz   (12.05.2006 в 11:44)
 

Все данные, пришедшие из формы, будут размещены в $_POST[] - его содержимое и нужно будет проверять.

   
 
 автор: cheops   (12.05.2006 в 11:56)   письмо автору
 
   для: kaoz   (12.05.2006 в 11:44)
 

Перебирайте массив $_POST
<?php
  
foreach($_POST AS $name => $value)
  {
  }
?>

$name - будет содержать имя переменной.

   
 
 автор: kaoz   (12.05.2006 в 15:46)   письмо автору
 
   для: cheops   (12.05.2006 в 11:56)
 

спасибо

а как определить какой суперглобальный массив передала форма?

   
 
 автор: Loki   (12.05.2006 в 15:58)   письмо автору
 
   для: kaoz   (12.05.2006 в 15:46)
 

посмотреть название метода в заголовке формы:)

   
 
 автор: Trianon   (12.05.2006 в 16:01)   письмо автору
 
   для: 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);

   
 
 автор: kaoz   (12.05.2006 в 16:38)   письмо автору
 
   для: 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


В чем проблема, подскажите плз.

   
 
 автор: Trianon   (12.05.2006 в 16:44)   письмо автору
 
   для: kaoz   (12.05.2006 в 16:38)
 

<?
echo '<pre>';
if(!empty(
$_GET))  print_r($_GET);
if(!empty(
$_POST))  print_r($_POST);
echo 
'</pre>';
?>

   
 
 автор: Loki   (12.05.2006 в 17:00)   письмо автору
 
   для: kaoz   (12.05.2006 в 16:38)
 


if (!empty($_POST)) 
  { 
    echo "$POST"; 
  } 
    elseif (!empty($_GET)) 
  { 
    echo "$GET"; 
  } 
    else 
  { 
    echo "Nothing"; 
  } 

   
 
 автор: kaoz   (12.05.2006 в 17:42)   письмо автору
 
   для: Loki   (12.05.2006 в 17:00)
 

спасибо

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования