Najbardziej atrakcyjne dla odwiedzających witrynę, a zatem najważniejsze dla ich twórców, są ich możliwości interaktywne. Oznacza to możliwość wysłania przez odwiedzającego pewnych informacji (lub prośby o informacje) na serwer i otrzymywania od niego odpowiedzi. Organizacja tego procesu wymaga przeniesienia zmiennych ze stron w przeglądarce użytkownika do skryptów serwera. Najczęściej spotykane dzisiaj to: z języków opisu strony – HTML (HyperText Markup Language – „hypertext Markup Language”), a z języków skryptowych po stronie serwera – PHP (Hypertext Preprocessor – „hypertext preprocessor”). Rozważymy najprostsze opcje przekazywania zmiennych ze stron HTML do skryptów PHP.
Czy to jest to konieczne
Podstawowa znajomość języków PHP i HTML
Instrukcje
Krok 1
Pierwsza część problemu (przekazywanie zmiennych ze stron HTML) jest rozwiązywana przez umieszczenie w kodzie strony tych elementów formularza, które są bardziej odpowiednie do wprowadzania i przesyłania przez użytkownika wymaganego typu danych. Mogą to być pola tekstowe „text”, „textarea” lub „password”, przyciski radiowe „checkbox” lub „radio”, listy „select”, pole wyboru pliku „file”, przyciski „input” lub „ukryte” pola. Kod HTML każdego z tych elementów musi zawierać znacznik "name" - zawiera on nazwę przekazywanej zmiennej. Na przykład kod HTML wielowierszowego obszaru tekstowego może wyglądać tak:
tutaj jest domyślny tekst
A kod dla ukrytego pola wygląda tak:
Każdy z elementów formularza musi być umieszczony wewnątrz znaczników formularza. Otwierający tag wygląda tak:
W tym miejscu tag „action” określa nazwę skryptu serwera, do którego mają zostać przekazane wysyłane zmienne, a tag „method” określa sposób przesyłania danych. Mogą być tylko dwa sposoby - POST lub GET. Główna różnica między nimi polega na tym, że przy metodzie GET zmienne są przekazywane wraz z adresem strony (URL), a przy metodzie POST w specjalnym obszarze pakietów sieciowych (nagłówek).
Tag zamykający formularz jest prosty:
I oczywiście do formularza należy dodać przycisk, aby użytkownik mógł wydać polecenie wysłania zmiennych na serwer. W efekcie kod HTML formularza z elementami służącymi do wysyłania zmiennych do skryptu serwera może wyglądać tak:
tutaj jest domyślny tekst
Krok 2
Przyjrzyjmy się teraz, jak uzyskać dostęp do zmiennych przesłanych do niego ze skryptu php serwera. Tutaj wszystko jest bardzo proste - zmienne wysyłane metodą GET umieszczane są w tablicy superglobalnej $_GET, a te wysyłane metodą POST - w podobnej tablicy $_POST. Jest jeszcze jedna tablica superglobalna - $ _REQUEST. Wpadają w nią wszystkie zmienne, niezależnie od tego, jak zostały przekazane. Najprostszy kod php wyświetlający informacje o zmiennych otrzymanych z formularza o nazwach hideMe i ciągach może wyglądać tak:
<?
jeśli ($ _ POST) {
echo ('Zmienna hideMe zawiera wartość "'. $ _ POST ['hideMe']. '"
');
echo ('Zmienna strings zawiera wartość "'. $ _ POST ['strings']);
}
?>
Tutaj operator porównania "if" jest używany do sprawdzenia, czy jakieś zmienne w ogóle były POST. Jeśli połączysz kod formularza HTML i skrypt PHP w jednym pliku PHP, to po kliknięciu przycisku „Prześlij” otrzymamy następujący wynik:
Krok 3
Widzimy, że rozwiązaliśmy problem wysyłania parametrów z formularza HTML i odbierania ich za pomocą skryptu PHP.