YGREG.COM - Kurs PHP - Część 3 http://www.ygreg.com/druk.php?php3 Kurs PHP - Część 3 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:
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", 1 z 2 2010-02-14 21:03 YGREG.COM - Kurs PHP - Część 3 http://www.ygreg.com/druk.php?php3 "Wiadmość testowa", "Tutaj mo\na wpisać tresć 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:
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. Grzegorz 'Ygreg' Plebański ygreg@ygreg.com http://www.ygreg.com http://www.ygreg.com 2 z 2 2010-02-14 21:03