--=REKLAMA=--
W Joomla 2.5 i nowszych klasa JRequest została zastąpiona przez JInput. Zobacz Pobieranie danych za pomocą JInput
Pobieranie danych z GET i POST.
Pisząc dowolny dodatek, nie sposób uniknąć przetwarzania zmiennych z zapytań. Wyróżniamy dwie podstawowe metody wysyłania zapytań do skryptu - mowa oczywiście o metodach GET i POST.
Najprostszym sposobem odebrania wartości zmiennej jest poniższa konstrukcja:
$zmienna=JRequest::getVar('nazwa');
za pomocą tego kodu wywołujemy metodę getVar z klasy JRequest, jeżeli zatem przesłaliśmy w zapytaniu do skryptu zmienną o nazwie nazwa, jej wartość zostanie przypisana do $zmienna, jednocześnie zostanie usunięty z zapytania cały kod HTML, a także końcowe spacje.
Kolejną możliwością metody getVar jest przypisanie wartości domyślnej np.:
$zmienna=JRequest::getVar('telefon','Telefon nie został podany');
W ten sposób stwarzamy sytuację w której do $zmienna zostanie przypisana wartość zmiennej telefon pochodzącej z zapytania. Jeżeli zmienna ta nie będzie ustawiona, zostanie przypisana domyślna wartość Telefon nie został podany.
Trzeci parametr znacznie zwiększy bezpieczeństwo naszych dodatków. Jeżeli w naszym skrypcie spodziewamy się zmiennych z zapytań, zapewne jesteśmy świadomi, jaką metodą zostaną one dostarczone (GET/POST), korzystając metody getVar możemy łatwo określić, które źródło nas interesuje np.:
$wartosc=JRequest::getVar('adres','domyslny adres','post');
Spowoduje to pobranie wartości zmiennej adres przesłanej metodą POST.
Kolejnym możliwym parametrem, jest parametr określający typ danych. Wyróżniamy następujące typy:
Konstrukcja kodu wykorzystującego ten parametr jest następująca:
$wartosc=JRequest::getVar('adres','domyslny adres','post','INT');
Ostatnim z możliwych parametrów dla metody getVar jest parametr określający rodzaj filtrowania, mamy dostęp do trzech rodzajów filtrowania:
np.:
$wartosc=JRequest::getVar('adres','domyslny adres','post','INT',JREQUEST_ALLOWHTML);