Jeżeli chcesz dodać do swojej strony nowe wspaniałe funkcje, skorzystaj z PHP. W tym przewodniku opiszemy podstawy tego języka na przykładzie formularza kontaktowego.
W kilku ostatnich prezentacjach koncentrowaliśmy się na instalacji gotowych skryptów PHP. Tym razem zbudujemy od podstaw własny skrypt. Będzie to prosty formularz kontaktowy, bazujący na open-source’owym projekcie z serwisu AirAbove (http://www.airabove). Poprawiliśmy go nieco, aby bardziej odpowiadał standardom, a teraz odtworzymy go w zwykłym edytorze tekstowym.
PHP to skryptowy język programowania. Jego wykonywanie ma miejsce po stronie serwera, zamiast w oknie przeglądarki internetowej. Dla przykładu, HTML i JavaScript to języki wykonywane po stronie klienta. W dużym uproszczeniu skrypty działające na serwerze są bardziej funkcjonalne niż kod wykonywany na komputerze użytkownika. PHP oferuje całą masę wbudowanych funkcji, które pozwalają na robienie takich rzeczy, jak np. wysyłanie e-maili z serwera lub nawiązywanie połączenia z bazami danych.
Niczym JavaScript, kod PHP może zostać zagnieżdżony w dowolnym miejscu na stronie internetowej. Pliki PHP nie muszą w 100% składać się z PHP – mogą być mieszanką dodatków i skryptu. Pozwala to na dodanie nowych funkcji wszędzie tam, gdzie jest to potrzebne: w sekcji, która pobiera dane z bazy danych lub w formularzu działającym na stronie np. takim, jaki opiszemy w tym artykule.
Do ukończenia przewodnika będziesz potrzebował kilku narzędzi. Najpierw upewnij się, że konto internetowe, którego używasz, obsługuje PHP. Następnie dowiedz się, czy twój dostawca usług internetowych włączył funkcję Sendmail. Do sprawdzenia tych danych wykorzystaj prosty skrypt własnego autorstwa. Otwórz tekstowy edytor HTML i napisz:
Zapisz dokument jako phpinfo.php, wgraj na swój serwer i wczytaj jego adres w przeglądarce (np. http://www.twojastrona.pl/phpinfo.php). Otrzymasz w ten sposób pełną listę ustawień instalacji PHP, włączając w to informacje na temat zainstalowanych modułów. Zjedź na dół strony i odszukaj pole „sendmail_patch”. Jeżeli ścieżka została ustanowiona, oznacza to, że funkcja Sendmail jest aktywna.
Skrypt, który opracujesz, pozwoli internautom odwiedzającym twój serwis na wysyłanie e-maili za pośrednictwem formularza kontaktowego na stronie, bez konieczności używania programu pocztowego. To tylko kilka linijek kodu, ale nawet najbardziej zatwardziali programiści potrzebują czasem skorzystać z pomocnych wskazówek. Jeżeli nie masz edytora HTML, ściągnij program HTML-Kit (http://www.htmlkit.com). Większa część skryptów, które napiszesz, będzie obudowana HTML-em, więc zastosowanie dedykowanego edytora powinno znacznie przyśpieszyć pracę.
Przydatna będzie również wtyczka do programu HTML-Kit, która rozszerzy jego obsługę PHP – co okaże się szczególnie przydatne, jeżeli postanowisz zgłębić swoją wiedzę na temat tego języka programowania. Co prawda HTML-Kit nie napisze za ciebie całego kodu, ale na pewno sprawi, że zadanie to stanie się łatwiejsze.
Bierzmy się zatem do pracy i przygotujmy prostą aplikację w PHP.
Pomocne adresy
PHP Freaks
Gdy złapiesz już bakcyla na punkcie PHP, twój głód skryptów i przykładów powinien zostać zaspokojony przez ekipę tego serwisu. http://www.phpfreaks.com.
HTML-Kit Support
HTML-Kit to coś więcej niż zwykły edytor tekstowy. To program, który możesz skonfigurować w dowolny sposób. Dowiedz się więcej ze strony producenta. http://www.chami.com/html-kit/support.
PHP Designer
Jeżeli zależy ci na najbardziej precyzyjnym
narzędziu, PHP Designer 2007 – bezpłatny dedykowany edytor PHP – może być odpowiednim
wyborem. http://www.mpsoftware.dk/phpdesigner.php
Krok 1. Rozszerz funkcjonalność programu HTML-Kit
Domyślna instalacja edytora HTML-Kit jest całkiem wygodna, ale możesz poszerzyć jego funkcjonalność za pomocą dodatkowych wtyczek. My dodamy nowe funkcje PHP do interfejsu programu, czyniąc proces pisania skryptów prostszym. Uruchom HTML-Kit i stwórz nowy dokument. Następnie kliknij na zakładce „Updates”.
Krok 2. Sprawdź uaktualnienia
Zakładka „Updates” łączy się bezpośrednio z internetowym archiwum wtyczek HTML-Kit. W polu wyszukiwania wpisz „hkPHP” i wciśnij przycisk „Search for Updates”. Kiedy zostanie wyświetlone zapytanie „Would you like to search for matching updates on the following page?”, kliknij „Yes”.
Krok 3. Zainstaluj dokumentację kodu
System powiadomi cię o dwóch uaktualnieniach. Kliknij na odnośniku „Install” obok pozycji „hkPHPCodeRef”. Zostaniesz przeniesiony do strony z opisem wtyczki. Jest to wewnętrzna dokumentacja języka PHP, przydatna w sytuacji, gdy szukasz konkretnych obiektów lub funkcji. Kliknij na przycisku „Install hkPHPCodeRef” w celu dodania go do programu HTML-Kit. Po zakończonej instalacji zrestartuj edytor.
Krok 4. Skonfiguruj pomoc
Po ponownym uruchomieniu edytora zauważysz, że w jego oknie pojawiła się nowa zakładka „Help”, zawierająca dokumentację PHP. Uruchom wtyczkę i kliknij na opcji „Preferences”. Wpisz adres http://uk2.php.net w sekcji „Remote help site address” i zaznacz pole „Auto load remote site”.
Krok 5. Dodaj szablon
Jeszcze tylko jedna szybka poprawka. HTML-Kit tworzy strony w HTML 4.01. Nam odpowiadałoby coś bardziej pasującego do obecnych standardów, dlatego dodamy do programu szablon XHTML. W plikach, dołączonych do tego przewodnika na płycie CD, znajdziesz plik blankxhtml.html, który powinieneś skopiować na swój komputer.
Krok 6. Wybierz nowy szablon
W edytorze HTML-Kit wybierz opcję Tools > Install, a następnie „Install Template”. Wskaż plik blankxhtml.html, który przed chwilą skopiowałeś z CD i kliknij „OK”. Następnie wybierz opcję File > New. W nowym oknie przejdź do zakładki „User”, wskaż z listy plik blankxhtml.html i kliknij „OK”.
Krok 1. Rozpocznij kod
Fundamenty naszego formularza zostaną stworzone w HTML-u. Użyjemy do tego generatora wbudowanego w HTML-kit, który przygotuje pusty formularz. Następnie sprawdzimy jego kształt i dodamy elementy PHP. Kliknij na zakładce „Forms” na górnym pasku programu. Następnie umieść kursor pomiędzy tagami.
Krok 2. Stwórz element blokowy
Wpisz i naciśnij Enter. Następnie kliknij na strzałce obok ikony „Format selected text as form”. Wybierz opcję „Form action method post”. HTML-Kit wstawi kod formularza korzystającego z metody post. Ustaw kursor pomiędzy cudzysłowami dla atrybutu „action” i wpisz wartość…
Krok 3. PHP_SELF
Wartość, którą powinieneś dodać, to snippet PHP, wykorzystujący predefiniowaną zmienną PHP_SELF. Ta globalna zmienna zawiera URL aktualnego dokumentu, co oznacza, że formularz zostanie zwrócony z powrotem do pliku PHP. Pełna treść snippetu brzmi: \”. Naciśnij Enter, aby przejść do następnej linii.
Krok 4. Dodaj pierwszy element wejściowy
W nowej linii wpisz „Name”, zaznacz ten tekst, wybierz górną zakładkę „Text” i kliknij na ikonie „Format selected text as paragraph”. W zakładce „Forms” kliknij na strzałce obok ikony „Format selected text as input”. Z rozwijanego
menu wybierz pozycję „input type name”. W efekcie tych działań do dokumentu zostanie wstawiony kod „„.
Krok 5. Dodaj więcej pól
Wyedytuj wstawiony kod do postaci: „„. Czeka nas teraz dodanie w podobny sposób kilku kolejnych elementów formularza: powinieneś użyć kodu pokazanego powyżej jako wytycznej. Możesz również otworzyć gotowy plik dummyform.html.
Krok 6. Stwórz pole wiadomości
W kolejce czekają kolejne elementy formularza. Umieść kursor poniżej linii
Message:
Znajdź ikonę „Format selected text as text area” i wybierz z menu pozycję „textarea rows cols name”. Usuń atrybut „cols=\” \” \”. Zmień nazwę całego elementu na „message” i ustaw wartość dla „rows” na 6.
Krok 7. Przygotuj przycisk
Dodamy teraz przycisk wysyłania wiadomości. Umieść kursor za zamykającym tagiem . Wstaw znak końca linii , a następnie wybierz ikonę „Format selected text as input”, a z menu pozycję „input type=submit”. Dodaj atrybuty „name=”submit” i „value=”send”.
Krok 8. Dodaj ukryte zmienne
To już dwa ostatnie elementy formularza. Są one ukryte, ale ich dodawanie przebiega w ten sposób, jak poprzednio (spójrz na kod pokazany na ilustracji). Na samym końcu, po kończącym formularz tagu dodaj tag. Formularz został właśnie ukończony, możesz zatem kliknąć na zakładce „Preview”, aby ocenić jego wygląd.
Krok 1. Programowanie w PHP
Mamy już formularz w HTML, odwołujący się do kodu PHP, który powinniśmy teraz stworzyć. Kod PHP może zostać wstawiony w dowolnym miejscu dokumentu. Aby dać znać analizatorowi składni PHP, że właśnie rozpoczął się blok kodu, umieścimy tag otwierający. Do zamknięcia bloku służy tag ?>.
Krok 2. Stwórz zmienne
W miejscu przed zamknięciem taga powinniśmy dodać nieco kodu. Stworzymy standardową zmienną o nazwie „$do”, która będzie zawierać rezultat zapytania do specjalnej tablicy $_POST. Tablica to rodzaj zmiennej zawierającej uporządkowany zbiór danych – w naszym przypadku będzie to zawartość formularza. Kod, którego użyjemy, brzmi: „$do = ($_POST[‘do’]);”.
Krok 3. Instrukcja warunkowa
Element „do” odwołuje się do wcześniejszego fragmentu kodu, będącego w tym przypadku nazwą ukrytego elementu formularza. Sprawdzimy teraz, czy zmienna „{stala}$do{/stala}” przesłała łańcuch „send”, który był wartością ukrytego elementu formularza. Wpisz kod: if($do == „send”). Jak widzisz, PHP używa podwójnych znaków równania.
Krok 4. Dodaj swój adres e-mail
W dużym uproszczeniu, linia pokazana na ilustracji oznacza „jeżeli tablica $do zawiera tekst „send”, przejdź do następnej partii kodu”. A następna linia to „{$recipient = „name@yourdomain.com”;”. Zmień w swoim skrypcie przykładowy adres e-mail na właściwy. W przeciwnym wypadku formularz nie zadziała.
Krok 5. Tworzenie zmiennych
Cztery następne linie kodu (pokazane na ilustracji) pobierają dane z tablicy $_POST i przenoszą je do różnych zmiennych. Każda ze zmiennych czerpie informacje z innej części tablicy, identyfikującą ją po nazwie wartości. Spójrz ponownie na swój formularz i zwróć uwagę na to, że w rzeczywistości ustawiłeś wcześniej te nazwy dla każdego z elementów formularza. Wartość to z kolei treść, którą użytkownik wpisał w formularzu.
Krok 6. Użycie funkcji echo()
Kod jest już prawie skończony. Należy jeszcze tylko dodać linię, która sformatuje dane formularza na potrzeby mailingu i wyśle je do ciebie, wykorzystując w tym celu wbudowaną w PHP funkcję „mail()”. Kompletny fragment kodu został pokazany na ilustracji. Jak widzisz, korzysta on ze zmiennych stworzonych w poprzednich czterech liniach w celu przeniesienia danych formularza do e-maila.
Krok 7. Funkcja echo() w praktyce
Aby dać znać użytkownikom, że formularz został pomyślnie wysłany, wykorzystaj funkcję „echo()”. Dodaj kod: „echo(”
Your message was successfully sent!
„);” oraz zamykający nawias „}” i tag PHP „?>”. Zapisz plik jako pwdformsend.php i wgraj go na swój serwer.
Krok 8. Przetestuj formularz
Wczytaj plik w przeglądarce internetowej, wypełnij formularz i kliknij na przycisku, aby go wysłać. Powinieneś otrzymać wpisane informacje w postaci e-maila na adres, który określiłeś w kodzie. Możesz dodać do formularza różne elementy HTML, bez wpływania na działanie kodu PHP lub zmienić jego wygląd za pomocą CSS.
Konstrukcja include umożliwia wielokrotne wstawianie fragmentów kodu, bez konieczności jego ponownego wpisywania
Krok 1. Skopiuj i wklej
Otwórz ponownie plik pwdformsend.php, który stworzyłeś w programie HTML-Kit i zaznacz wszystko od pierwszego taga aż do zamykającego kod PHP „?>”. Skopiuj tekst do schowka (skrót Ctrl+C).
Krok 2. Zapisz snippet
Stwórz nowy pusty dokument w HTML-Kit i wklej skopiowany fragment kodu (skrót Ctrl+V). Zapisz nowy plik jako formsend.inc i wgraj go na serwer.
Krok 3. Użyj konstrukcji include
Możesz teraz dodać nowy fragment kodu w dowolnym miejscu na każdej swojej stronie, wpisując kod: „ inc”); ?>” i zastępując „patchto” aktualną ścieżką do pliku na twoim serwerze.
Wskazówki
Korzystaj z dokumentacji
Aby dowiedzieć się więcej o funkcjach PHP, przejdź do zakładki „Help” i kliknij na ikonie „PHP Code Reference”. Jako przykład wpisz nazwę funkcji „mail()”. W efekcie otrzymasz krótki jej opis. Użyj opcji „Reference”, aby uzyskać więcej przykładów oraz informacji.
Wstawianie kodu
Możesz użyć wtyczki PHP Code Reference w programie HTML-Kit do wstawiania kodu PHP bezpośrednio do projektowanego dokumentu. Umieść kursor w miejscu, gdzie powinien rozpoczynać się kod, odnajdź funkcję w dokumentacji i kliknij „OK”. Zobaczysz, że funkcja została właśnie dodana do twojej strony.
php.pl
Jeżeli szukasz obszernych przewodników na temat PHP, odwiedź wortal php.pl (http://www.php.pl). Z kolei w serwisie php.net (http://www.php.net) znajdziesz dokumentację zawartą we wtyczce hkPHPCodeRef dla edytora HTML-Kit.