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:
| | <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",
"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:
| | <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.
|