Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych Autor artykułu: mgr Jerzy Wałaszek |
©2015 mgr
Jerzy Wałaszek
|
Tablice w PHPZ nauki o języku C++ w klasie II pamiętasz zapewne, że zmienna
jest obiektem przechowującym informację określonego typu. Dlatego każdą
zmienną należało zdefiniować przed pierwszym użyciem. W języku PHP definicja
jest nieco prostsza. Zmienna jest obiektem przechowującym dane. Typ danych
jest tutaj dynamiczny i zostaje określony w czasie wpisywania tych danych do
zmiennej. Uruchom poniższy skrypt (wpisz go do sekcji body
w kodzie strony, którą zapiszesz w katalogu c:\wamp\www pod nazwą index.php):
W programie zmienna $x rozpoczyna życie jako zmienna liczbowa. Następnie zostaje przemianowana na zmienną tekstową. W tym trybie nie reaguje na operacje arytmetyczne. Natomiast można do niej stosować operacje łańcuchowe, np. operator kropka służy w PHP do łączenia ze sobą dwóch łańcuchów tekstowych. Tablica jest zmienną złożoną, która może przechowywać dane w swoich komórkach. Rodzaj przechowywanych danych jest dynamiczny i zostaje określony w czasie przypisania. Do tworzenia tablic wykorzystujemy wbudowana funkcję array(), jeśli chcemy zdefiniować zawartość komórek. Uruchom poniższy skrypt: W tablicy przechowujemy jednocześnie teksty i liczby. Skrypt objęliśmy znacznikiem <FONT>, aby na stronie WWW pojawiła się czcionka o stałej szerokości znaków. Tablicę możemy również utworzyć za pomocą ciągu instrukcji przypisania: Jeśli dane chcemy dopisać na końcu tablicy, to nie podajemy indeksu: Co ciekawe, indeksy tablicy nie muszą tworzyć spójnego ciągu liczb i nie muszą być dodatnie. Jeśli w numeracji indeksów są przerwy, to w tablicy brak komórek o niezdefiniowanych indeksach. Obrazowo można powiedzieć, że tablica jest dziurawa. Dostęp do elementów takiej tablicy wymaga sprawdzenia, czy dany element w niej występuje. Używamy do tego celu funkcji isset(zmienna), która zwraca true, jeśli zmienna została ustawiona w programie (przypisano jej jakąś wartość). Inaczej zwraca false: Indeksy elementów tablicy mogą również być tekstami. W takim przypadku dostęp do poszczególnych komórek uzyskamy za pomocą nowej pętli foreach, która ma dwie postacie:
foreach($tablica as $w) ... // Przy każdym obiegu w zmiennej $w otrzymujemy zawartość komórki tablicy foreach($tablica as $i => $w)... // Przy każdym obiegu w $i otrzymujemy indeks, a w $w zawartość komórki
Prześledźmy to na prostym przykładzie:
|
||||||
Przesyłanie danych metodą GETW języku JavaScript mogliśmy współpracować z
użytkownikiem za pomocą obsługi zdarzeń. Było to możliwe, ponieważ
kod JavaScript był wykonywany przez przeglądarkę na komputerze
użytkownika. W przypadku PHP nie jest to bezpośrednio możliwe,
ponieważ kod wykonuje się na innym komputerze (na
serwerze) niż pracuje użytkownik (można
stosować techniki mieszane, tzn. skrypt PHP tworzy dynamicznie
odpowiedni skrypt JavaScript, który jest następnie przesyłany na
komputer użytkownika. Nie jest to jednak takie proste i nie będziemy
się tym zajmować na lekcjach. Chętnych zapraszam na koło
informatyczne w środy od 14:25 w sali K). Jak zatem wygląda
komunikacja pomiędzy użytkownikiem a skryptem PHP? Stosuje się tutaj
dwie techniki: GET i POST. Technika GET polega na tym,
iż dane dla skryptu PHP przesyłamy w adresie strony z tym skryptem.
Utwórzmy stronę index.php, na której będą znajdowały się trzy linki do pliku user.php (plik ten utworzymy za chwilę). W każdym linku prześlemy inną nazwę użytkownika: W Expression Web 4 utwórz nowy plik i zapisz go w katalogu C:\wamp\www pod nazwą user.php. Kod pliku jest następujący: Jest to przykład współdziałania ze skryptem PHP. W adresie url pliku PHP w linkach umieszczamy za nazwą pliku dodatkową informację o postaci:
plik.php?zmienna=wartość
Skrypt umieszcza zmienne przesłane w adresie url w tablicy systemowej $_GET. Dostęp do poszczególnych zmiennych odbywa się poprzez indeksy będące nazwą zmiennej. W naszym przypadku przesłaliśmy zmienną user. Zmiennych można przesłać więcej, rozdzielając je znakiem & (jest to znak &, lecz w kodzie musimy go wpisywać jako &). Zmodyfikuj plik index.php: W pliku user.php wprowadź poniższe zmiany: Teraz przesyłamy do skryptu PHP dwie zmienne w adresie url: user i konto. PHP umieszcza je w tablicy $_GET pod indeksami odpowiednio user i konto, skąd mogą być łatwo odczytane i przetworzone przez skrypt. Dane do skryptu PHP możemy wysłać ze strony WWW za pomocą formularza. Zmodyfikuj plik index.php:
|
||||||
Przesyłanie danych metodą POST
Metoda GET posiada kilka istotnych wad:
Zaletą jest to, że można tę metodę stosować w zwykłych łączach. Istnieje druga metoda przesyłania danych do serwera, która nosi nazwę POST. W metodzie tej dane są przesyłane w sposób niewidoczny dla użytkownika. Metoda ta wymaga również zmiany w skrypcie PHP: dane odczytujemy z tablicy $_POST. W pliku index.php zmień w znaczniku form metodę get na post: W pliku user.php zmień tablicę $_GET na $_POST: Zwróć uwagę, że teraz dane nie pojawią się w adresie url po kliknięciu przycisku Wyślij na formularzu. Jeśli dane są lub mogą być przesyłane do skryptu w sposób mieszany (raz za pomocą GET, a innym razem za pomocą POST), to możemy wykorzystać tablicę $_REQUEST, w której znajdą się wszystkie zmienne z tablic $_GET i $_POST. Zmień skrypt PHP w pliku user.php: Po tej modyfikacji skrypt PHP zadziała poprawnie zarówno dla formularza z metodą GET jak i POST.
|
I Liceum Ogólnokształcące |
Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl
W artykułach serwisu są używane cookies. Jeśli nie chcesz ich otrzymywać,
zablokuj je w swojej przeglądarce.
Informacje dodatkowe