Prosty tutorial Chcielibyśmy przedstawić tu absolutne podstawy PHP w krótkim, prostym tutorialu. Ten tekst przedstawia jedynie tworzenie dynamicznej strony za pomocą PHP, jednakże PHP może tworzyć nie tylko strony internetowe. Zobacz rozdział zatytułowany Co potrafi PHP? aby dowiedzieć się więcej. Strony internetowe korzystające z PHP są traktowane dokładnie jak normalne strony HTML i możesz je tworzyć oraz edytować w taki sam sposób jak normalnie tworzysz zwyczajne strony HTML.
Czego potrzebuję? W tym tutorialu zakładamy że Twój serwer ma włączoną obsługę PHP i że wszystkie pliki z zakończeniem .php są parsowane przez PHP. Na większości serwerów jest to domyślne rozszerzenie dla plików PHP, ale zapytaj swojego administratora, aby się upewnić. Jeśli Twój serwer obsługuje PHP, nie musisz nic robić. Po prostu stwórz swoje pliki .php, umieść je w katalogu swojej strony a serwer automatycznie sparsuje je dla Ciebie. Nie musisz nic kompilować ani instalować dodatkowych narzędzi. Pomyśl o stronach korzystających z PHP jak o zwykłych plikach HTML z dodatkową grupą magicznych tagów, które pozwolą Ci na różne rzeczy. Powiedzmy że chcesz zaoszczędzić cenny transfer i tworzyć skrypty lokalnie. W tym wypadku musisz zainstalować serwer stron WWW, taki jak Apache i oczywiście PHP. Prawdopodobnie będziesz też chciał zainstalować serwer baz danych, na przykład MySQL. Możesz zainstalować je indywidualnie lub wybrać prostszy sposób. Nasz podręcznik ma instrukcje instalacji dla PHP (zakładając że masz już zainstalowany jakiś serwer). Jeśli masz problemy z samodzielnym zainstalowaniem PHP, sugerujemy żebyś zadał pytania na naszej licie mailingowej poświęconej instalacji. Jeśli wybierasz pójście prostszą drogą znajdź prekonfigurowaną paczkę dla Twojego systemu operacyjnego, która automatycznie zainstaluje wszystkie te rzeczy za pomocą paru kliknięć myszy. Instalacja serwera z obsługą PHP jest prosta na dowolnym systemie operacyjnym, wliczając MacOSX, Linux i Windows. Na Linuksie pomocne w znajdowaniu pakietów mogą okazać się rpmfind i PBone. Możesz też odwiedzić apt-get, aby znaleźć paczki dla Debiana.
Twoja pierwsza strona korzystająca z PHP Stwórz plik nazwany hello.php i umieść go w katalogu root swojego serwera (DOCUMENT_ROOT), wpisując następującą zawartość: Nasz pierwszy skrypt PHP: <filename>hello.php</filename> ]]> Użyj przeglądarki internetowej do otwarcia adresu URL Twojego serwera zakończonego odniesieniem do pliku /hello.php. Przy serwerze lokalnym adres będzie podobny do http://localhost/hello.php lub http://127.0.0.1/hello.php, zależnie od konfiguracji serwera. Jeśli wszystko zostało skonfigurowane poprawnie, ten plik zostanie sparsowany przez PHP i w swojej przeglądarce zobaczysz wyświetlone wyjście skryptu: "Witaj, świecie!". PHP może zostać osadzony wewnątrz normalnej strony napisanej w HTML. Oznacza to, że wewnątrz dokumentu HTML możesz umieścić wyrażenia PHP, jak pokazano w następującym przykładzie: Test PHP Witaj, świecie

'; ?> ]]>
Skutkiem tego będzie następujący kod wyjściowy: Test PHP

Witaj, świecie

]]>
To przykład ekstremalnie prostego programu i tak naprawdę nie potrzebujesz PHP, by stworzyć stronę jak tę. Wszystko, co robi to wyświetlenie tekstu Witaj, świecie używając wyrażenia echo z PHP. Zauważ, że plik nie musi być wykonywalny lub specjalny w żaden sposób. Serwer wie, że ten plik musi być przetworzony przez PHP, ponieważ użyłeś rozszerzenia ".php", a konfiguracja serwera przekazuje je do PHP. Pomyśl o tym, jak o normalnym pliku HTML, który ma dostępny zestaw specjalnych tagów, umożliwiających robienie wielu interesujących rzeczy. Jeśli po wypróbowaniu tego przykładu, nic nie zostało wyświetlone, przeglądarka próbowała pobrać plik lub widzisz cały plik jako tekst, istnieje szansa że nie masz włączonego PHP lub konfiguracja jest zła. Poproś administratora aby włączył go dla Ciebie używając rozdziału Instalacja. Jeśli programujesz lokalnie, także przeczytaj rozdział o instalacji, aby upewnić się że wszystko zostało skonfigurowane poprawnie. Upewnij się że otwierasz plik przez protokół http i poprzez serwer. Jeśli po prostu wywołasz plik ze swojego systemu plików, nie będzie on sparsowany przez PHP. Jeśli problem nadal występuje, nie bój się skorzystać z jednego z wielu kanałów wsparcia PHP. Sednem tego przykładu jest pokazanie specjalnego formatu tagu PHP. W tym przykładzie użyliśmy <?php by zaznaczyć początek tagu PHP. Później umieściliśmy wyrażenie PHP i opuściliśmy tryb PHP dodając końcowy tag ?>. Możesz w ten sposób wskakiwać i wyskakiwać z trybu PHP w pliku HTML, gdzie tylko chcesz. Aby dowiedzieć się więcej, przeczytaj sekcję manuala poświęconą podstawowej składni PHP. O przełamaniach linii Zakończenia linii mają niewielkie znaczenie w HTML, jednak wciąż jest dobrym pomysłem jest ich umieszczenie aby Twój HTML był czytelny. Przełamanie linii wstawione zaraz za zamykającym znacznikiem ?> zostanie usunięte przez PHP. Może to być niezwykle przydatne kiedy umieszczasz wiele bloków PHP lub dołączasz pliki zawierające PHP, które nie powinny nic wyświetlać. Jednocześnie, może to być także nieco mylące. Możesz umieścić spację za zamykającym ?> aby wymusić pojawienie się spacji i przełamania linii lub ręcznie umieścić przełamanie linii w ostatnim wyrażeniu echo/print wewnątrz bloku PHP. O edytorach tekstu Istnieje wiele edytorów tekstu i zintegrowanych środowisk deweloperskich (IDE), których możesz użyć do tworzenia, edycji i zarządzania plikami PHP. Częściowa lista takich narzędzi jest obecna w postaci Listy Edytorów PHP. Jeśli chcesz zarekomendować edytor, odwiedź powyższą stronę i poproś jej zarządcę o dodanie edytora do listy. Posiadanie edytora z podświetlaniem składni może być pomocne. O procesorach tekstu Procesory tekstu takie jak StarOffice Writer, Microsoft Word lub Abiword nie są dobrym rozwiązaniem do edycji plików PHP. Jeśli chcesz użyć jednego z nich do przetestowanias skryptu, musisz upewnić się że zapisujesz plik jako czysty tekst, w przeciwnym wypadku PHP nie będzie w stanie odczytać i wykonać skryptu. Teraz, kiedy stworzyłeś działający skrypt PHP, nadszedł czas aby utworzyć najbardziej popularny skrypt PHP. Wywołaj funkcję phpinfo a zobaczysz wiele użytecznych informacji o Twoim systemie i ustawieniach, takich jak dostępne predefiniowane zmienne, załadowane moduły PHP i konfigurację. Poświęć trochę czasu i przejrzyj te ważne informacje. Pobierz informacje o systemie od PHP ]]>
Coś użytecznego Zróbmy teraz coś bardziej przydatnego. Sprawdzimy jakiego rodzaju przeglądarki używa odwiedzający. W tym celu sprawdzimy łańcuch znaków nazywany user agentem, który przeglądarka wysyła jako część zapytania HTTP. Ta informacja jest trzymana w zmiennej. Zmienne w PHP zawsze zaczynają się od znaku dolara. Zmienna która interesuje nas w tej chwili to $_SERVER['HTTP_USER_AGENT']. $_SERVER to specjalna zastrzeżona zmienna PHP, która zawiera wszystkie informacje o serwerze WWW. Jest znana jako superglobalna. Zobacz powiązaną stronę manuala o superglobalnych, aby dowiedzieć się więcej. Aby wyświetlić tę zmienną możesz po prostu napisać: Wyświetlanie zmiennej (elementu tablicy) ]]> Przykładowym wynikiem działania tego skryptu może być: Istnieje wiele typów zmiennych dostępnych w PHP. W powyższym przykładzie wypisaliśmy element ze zmiennej będącej tablicą. Tablice mogą być bardzo przydatne. $_SERVER jest tylko jedną z tablic, które PHP udostępnia Ci automatycznie. Lista jest dostępna w rozdziale Zastrzeżone Zmienne, możesz też zobaczyć ich pełną listę patrząc na wynik działania funkcji phpinfo użytej w przykładzie w poprzedniej sekcji. Możesz umieszczać wiele wyrażeń PHP wewnątrz tagu PHP i stworzyć małe bloki kodu, które robią więcej niż pojedyncze wyświetlenie. Jeśli na przykład chcesz sprawdzić, czy przeglądarka to Firefox, możesz napisać: Przykład użycia <link linkend="language.control-structures">struktur kontrolnych</link> i <link linkend="language.functions">funkcji</link> ]]> Przykładowym wynikiem działania tego skryptu może być: Wprowadzamy tu kilka nowych zagadnień. Mamy wyrażenie if. Jeśli znasz podstawową składnię używaną w C, powinno być to dla Ciebie logiczne. W przeciwnym wypadku powinieneś prawdopodobnie znaleźć książkę wprowadzającą do PHP i przeczytać kilka pierwszych rozdziałów lub zapoznać się z częścią manuala poświęconą opisowi języka. Drugim zagadnieniem, które wprowadziliśmy jest wywołanie funkcji str_contains. str_contains jest funkcją wbudowaną w PHP, która określa czy podany ciąg znaków zawiera inny ciąg znaków. W tym wypadku szukamy 'Firefox' (tak zwanej igły) w łańcuchu $_SERVER['HTTP_USER_AGENT'] (tak zwanym stogu siana). Jeśli igła zostanie znaleziona w stogu siana, funkcja zwróci &true;, w przeciwnym wypadku zwróci &false;. Jeśli zwróci &true;, wyrażenie if otrzyma wartość &true; a kod w ramach jego {klamr} się wykona. W Przeciwnym wypadku kod nie będzie uruchomiony. Nie bój się tworzyć podobnych przykładów używając if, else i innych funkcji takich jak strtoupper lub strlen. Każda powiązana strona tego podręcznika również zawiera przykłady. Jeśli nie jesteś pewien jak używać funkcji, będziesz chciał przeczytać stronę podręcznika o czytaniu definicji funkcji i sekcję poświęconą funkcjom w PHP. Możemy pójść krok dalej i pokazać jak możesz wskoczyć i wyskoczyć z trybu PHP nawet w środku bloku PHP: Mieszanie trybów HTML i PHP

str_contains() zwróciło true

Używasz przeglądarki Firefox

str_contains() zwróciło false

Nie używasz przeglądarki Firefox

]]>
Przykładowym wynikiem działania tego skryptu może być: str_contains() zwróciło true

Używasz przeglądarki Firefox

]]>
Zamiast używać wyrażenia echo z PHP, aby coś wyświetlić, wyskoczyliśmy z trybu PHP i wprost wysłaliśmy kod HTML. Ważną i potężną rzeczą jest fakt, że przepływ logiczny skryptu zostaje nietknięty. Tylko jeden z bloków HTML zostanie wysłany do odwiedzającego, zależnie od wyniku działania str_contains. Innymi słowy, zależy od tego czy ciąg Firefox zostanie znaleziony czy nie.
Obsługa formularzy Jedną z najpotężniejszych możliwości PHP jest sposób, w jaki obsługuje formularze. Podstawową rzeczą, którą trzeba zrozumieć, jest fakt, że każdy element formularza będzie automatycznie dostępny dla Twoich skryptów PHP. Przeczytaj rozdział Zmienne z zewnętrznych źródeł zawierający więcej informacji i przykładów użycia formularzy z PHP. Mamy tutaj przykładowy formularz HTML: Prosty formularz PHP ]]> Nie ma w nim nic szczególnego. To zwyczajny formularz HTML bez żadnych specjalnych tagów. Kiedy użytkownik wypełni ten formularz i naciśnie przycisk wysyłający, zostanie wywołana strona action.php. W tym pliku będziesz musiał napisać coś w tym stylu:: Wyświetlanie danych z naszego formularza . Masz lat. ]]> Przykładowym wynikiem działania tego skryptu może być: Pomijając htmlspecialchars i (int), wszystko powinno być jasne. htmlspecialchars zapewnia, że wszystkie znaki, które mają specjalne znaczenie w HTML zostaną poprawnie zakodowane, więc użytkownicy nie będą mogli wstrzyknąć tagów HTML lub JavaScriptu na Twoją stronę. Pole wiek, ponieważ wiemy że jest to liczba, możemy przekonwertować je na typ int, co również zaowocuje pozbyciem się wszystkich niepotrzebnych znaków. Możesz też zadbać aby PHP robiło to automatycznie używając rozszerzenia filter. Zmienne $_POST['imie'] i $_POST['wiek'] są automatycznie tworzone przez PHP. Wcześniej używaliśmy superglobalnej $_SERVER; powyżej właśnie wprowadziliśmy $_POST, która zawiera wszystkie dane wysłane żądaniem POST. Zauważ że method naszego formularza została ustawiona na POST. Jeśli użylibysmy metody GET to informacje z formularza znalazłyby się w superglobalnej $_GET. Możesz też użyć superglobalnej $_REQUEST, jeśli nie zwracasz uwagi na źródło pochodzenia danych. Zawiera ona połączone informacje na temat danych GET, POST i COOKIE.
Co dalej? Z nowonabytą wiedzą powinieneś być w stanie zrozumieć większość podręcznika i różne przykładowe skrypty dostępne w archiwach przykładów. Aby zobaczyć różne prezentacje pokazujące więcej rzeczy, które potrafi PHP odwiedź stronę &url.php.talks;