Jak stworzyć formularz do przesyłania informacji na podany email, PHP Skrypty


[PHP] Jak stworzyć formularz do przesyłania informacji na podany e-mail?

0x01 graphic

Chcesz umieścić na stronie formularz kontaktowy, aby odwiedzający serwis mogli wpisać wiadomość i wysłać ją do Ciebie.

0x01 graphic

Formularz kontaktowy to bardzo proste i niesamowicie przydatne narzędzie do utrzymywania kontaktów z osobami odwiedzającymi serwis. Użytkownik nie musi korzystać z programu pocztowego - po prostu wpisuje treść, którą chce przekazać autorom strony WWW i jednym kliknięciem ją wysyła.

Pomimo tego, że formularz jest prosty, zaprojektowanie go w sposób uniwersalny jest praktycznie niemożliwe. Jeden webmaster chce, żeby wszystkie pola były wypełnione, innemu będzie zależeć tylko na tym, aby treść została wpisana. Po wysłaniu tekstu może pojawić się ponownie formularz i podziękowania lub tylko podziękowania bez ponownej możliwości wysłania tekstu, itd. Poniżej jedno z typowych, w miarę uniwersalnych rozwiązań tego problemu.

Skrypt umieść w pliku index.php lub innym (ale wtedy zmień adres skryptu w elemencie FORM):

<?

$imie=stripslashes(trim($_POST["imie"]));

$adres=stripslashes(trim($_POST["adres"]));

$tresc=stripslashes(trim($_POST["tresc"]));

if (strlen($tresc)>2) {

$list = "$tresc\n\nNadawca: $imie - $adres";

mail("odbiorca@domena.pl","List ze strony", $list, "From: $imie <$adres>");

echo "List został wysłany, dziekujemy...";

}

?>

<form action="index.php" method="post">

<table><tr>

<td valign=top>Twoje imię:</td>

<td><input type="text" name="imie" style="width:200px;"></td>

</tr><tr>

<td valign=top>Twój e-mail:</td>

<td><input type="text" name="adres" style="width:200px;"></td>

</tr><tr>

<td valign=top>Treść listu:</td>

<td><textarea name="tresc" rows="5" cols="12"

style="width:200px;"></textarea></td>

</tr><tr>

<td>&nbsp;</td>

<td><input type="submit" value=" wyślij nam list "></td>

</tr></table>

</form>

Konstrukcja formularza przewiduje trzy pola - imię, e-mail nadawcy i treść listu. Z imienia można zrezygnować, ale e-mail zwrotny musi wystąpić, jeżeli chcesz odpowiedzieć nadawcy na list. Nie będziemy sprawdzać czy imię i adres e-mail są wpisane poprawnie.

Ponieważ pola formularza mogą mieć dowolną długość (gdy ktoś zapragnie napisać nam wylewny list), formularz musi je przesłać za pomocą metody POST. W taki sam sposób zostaną też odbierane przez skrypt.

Każde pole za pomocą funkcji trim() zostaje pozbawione zbędnych spacji występujących na początku i na końcu tych pól. Funkcja stripslashes() wycina dodatkowe slashe (ukośniki) znajdujące się przed znakami specjalnymi, jak np. cudzysłowy.

Tak oczyszczone pola trafiają do zmiennych $imie, $adres i $tresc, którymi posługujemy się dalej. Aby stwierdzić czy w ogóle formularz został wypełniony używam prostego zabiegu - sprawdzam za pomocą funkcji strlen() czy zmienna $tresc jest dłuższa niż dwa znaki.

Jeżeli są tam co najmniej trzy znaki, to zakładam, że ktoś napisał je świadomie i zechce to do mnie przesłać. Do nowej zmiennej $list, która będzie stanowić treść maila, przypisuję poszczególne pola oddzielając je za pomocą znaku \n, który symbolizuje przejście do nowej linii.

Następnie funkcją mail() wysyłam list na podany adres. Zamiast odbiorca@domena.pl wpisz swój e-mail. Po adresie podany jest tytuł, treść listu i na końcu nadawca. Jeżeli nadawca podał swoje dane poprawnie będzie można od razu odpisać na jego list w programie pocztowym.

Na końcu pojawia się podziękowanie za przesłanie listu. Po wysłaniu listu można wypełnić kolejny formularz, jeżeli ktoś zechce wysłać następny list.

Odbieranie danych zostało wykonane za pomocą tablicy $_POST["zmienna"] i taki sposób jest zalecany, ale można wykorzystać też $HTTP_POST_VARS["zmienna"]. Drugi sposób zadziała w starszej wersji PHP. Gdy potrzebna będzie zmiana, wtedy pierwsze linijki skryptu wymień na poniższe:

$imie=stripslashes(trim($HTTP_POST_VARS["imie"]));

$adres=stripslashes(trim($HTTP_POST_VARS["adres"]));

$tresc=stripslashes(trim($HTTP_POST_VARS["tresc"]));



Wyszukiwarka

Podobne podstrony:
Jak stworzyć losowe porady wyświetlające się na stronie WWW, PHP Skrypty
Jak pokazać i skąd wziąć imieniny przypadające na aktualny dzień, PHP Skrypty
Jak stworzyć indeks pierwszych liter dla wybranej kolumny z tabeli, PHP Skrypty
Jak stworzyć formularz, który zapisze?ne do pliku tekstowego,?y potem jego zawartość dołączyć
Jak stworzyć ikonki lub napisy informujące o nowościach na stronie, które same znikną po okreś
Jak przesłać mapę do urządzenia lub na kartę pamięci, Garmin nuvi
jak stworzyc bramke do wysyłania maili, PHP Skrypty
Jak znaleźć materiały do pracy domowej na stronie GUS
Jak stworzyc skrut do programu
Jak stworzyć formularz z okienkiem kontaktowym, z którego można wysłać e mail?z przeładowania strony
Stworzono metodę bezprzewodowego przesyłania energii na tysiące kilometrów
Jak stworzyć dodatek do FireFoxa
Jak zamienić numer IP na domenę lub domenę na numer IP, PHP Skrypty
Jak wypisać w tabeli zawartość pliku tekstowego z polami oddzielonymi separatorem, PHP Skrypty
Jak wysłać mailem w formacie HTML zawartość tabeli z bazy danych, PHP Skrypty
Jak uzyskać IP lub domenę z jakiej łączy się użytkownik, PHP Skrypty

więcej podobnych podstron