Obsługa formularzy

Skryptu PHP można użyć do obsługi formularza. Aby tego dokonać, należy najpierw odpowiednio przygotować formularz. W znaczniku FORM w parametrze ACTION należy podać adres dokumentu PHP mającego obsłużyć ten formularz. Parametr METHOD może mieć wartość POST lub GET - obie metody są obsługiwane przez PHP. Jednak należy pamiętać, że formularze wysyłane przez GET mają dość ograniczoną długość. Ich zaletą jest za to, że użytkownik może zrobić sobie zakładkę do wyników formularza, co nie jest możliwe w przypadku formularzy POST. Należy pamiętać o zdefiowaniu nazw wszystkich pól formularza z których skrypt ma skorzystać. Przykład:

<FORM ACTION=skrypt.php3 METHOD=POST>
   <INPUT TYPE=TEXT NAME=tekst>
</FORM>

Napisanie skryptu obsługującego formularz jest bardzo proste. Właściwie większość pracy wykonuje za nas PHP - po prostu w skrypcie od razu będą dostępne zmienne o nazwach takich jak nazwy pól formularza, zawierające ich wartości:

echo($tekst); /* ta linia wyświetli zawartość pola tekst z formularza */

W przypadku pola tekstowego będzie to po prostu wpisany przez użytkownika tekst. Jeżeli pole jest typu CHECKBOX wartością będzie "on" jeżeli pole jest zaznaczone, lub zmienna będzie pusta jeżeli pole nie zostało zaznaczone. Jeżeli w polu typu CHECKBOX podamy parametr VALUE, będzie on użyty zamiast "on". Tak samo wygląda obsługa pola typu RADIO. Wartością pola SELECT będzie wartość parametru VALUE zdefiniowanego w znaczniku OPTION.

Wysyłanie poczty

Ze skryptu PHP można bardzo łatwo wysłać e-maila. Służy do tego funkcja mail. Pobiera ona 4 parametry. Pierwszy z nich to lista adresatów oddzielonych spacjami. Następny to temat wiadomości. Trzeci parametr to treść wiadomości, a czwarty może zawierać dodatkowe pola nagówka wiadomości (jest dopisywany na końcu nagłówka). Przykład:

mail("ty@twoj.serwer", "Wiadomość testowa", "Tutaj można wpisać treść wiadomości.");

   Ten przykład wyśle wiadomość na adres ty@twoj.serwer.

Wysyłanie formularza pocztą

Mając powyższe wiadomości wysłanie formularza pocztą nie powinno stanowić problemu. Najpierw trzeba zdefiniować formularz:

<FORM ACTION=skrypt.php3 METHOD=POST>
   <INPUT TYPE=TEXT NAME=email><BR>
   <TEXTAREA NAME=tresc></TEXTAREA><BR>
   <INPUT TYPE=SUBMIT>
</FORM>

   Teraz skrypt który wyśle dane pocztą:

mail("ty@twoj.serwer", "Formularz", $tresc, "Reply-To: $email" );

Jedna linijka i gotowe. Widać tutaj jedno z ważniejszych zastosowań 4 parametru funkcji mail: można podać adres zwrotny listu. Jeżeli teraz użytkownik wpisze do formularza swój e-mail, będzie można odpowiedzieć używając funkcji reply programu pocztowego. Uwaga: nie każdy serwer pozwoli na wysłanie wiadomości z polem Reply-To zawierającej adres na innym serwerze.