статус блогера: init просмотры: off профиль все блоги

JRequest

Для получения данных как из формы, так и не из формы, то есть, всего, что есть в $_REQUEST используется класс JRequest, который ныне уже заменяется классом JIput. Тем не менее, никто не мешает использовать JRequest и ныне

 

$a = JRequest(“a”);

 

Только и всего, не важно, get или post.

 

А вот более полное использование:

 

$name = JRequest::getVar(‘a’,’Значение по умолчанию’);

 

Значение по умолчанию нам нужно, если, например, к нам пришла пустая строка. Важно заметить, что при такой вызове все html тэги обрезаются.

 

А теперь, еще лучше:

   $name = JRequest::getVar('fio', ‘значение’, 'get');

 

Но в качестве последнего параметра может быть вовсе и не get или Post, все гораздо лучше:

 

GET

POST

FILES

COOKIE

ENV

SERVER

REQUEST

 

 

$id= JRequest::getVar('id', 'Неизвестный пользователь', 'get', 'int');

Как видим, мы сразу же приводим переменную к int, и нам уже не нужно делать $id = (int)$id – например, для фильтрации sql-инъекций.

Используются следящие типы:


           int — Целочисленые значения

float — Число с плавающей точкой

bool — Булево значение

word — слово

cmd — команда

string — строка

 

Помимо getVar используются следующие методы:


           getInt

getFloat

getBool

getWord

getCmd

getString

get

 

Наконец, последний параметр:
 1 — JREQUEST_NOTRIM — не отрезаются проблемы

 

 

2 — JREQUEST_ALLOWRAW — фильтрация выключена

 

 

4 — JREQUEST_ALLOWHTML — разрешает Html.

 

Пример полного вызова:

 

$name = JRequest::getVar('fio', 'Неизвестный пользователь', 'get', 'string', JREQUEST_NOTRIM + JREQUEST_ALLOWHTML);

 

 

Получение массива из формы

Например, в форме есть элементы input type=checkbox name=name[]

То есть, из формы будет передаваться массив. Принимается массив следующим образом:

             $elements = JRequest::getVar('elements', array(), 'post');

X

Регистрация

Email

Логин

Имя

Пароль

Повтор пароля