Poradniki

PHP w praktyce: Formularz kontaktowy

  
Jako, że to jest pierwszy tego typu poradnik, chciałbym oficjalnie rozpocząć kurs "PHP w praktyce". :)

Na pierwszy ogień idzie rzecz niezmiernie prosta: formularz kontaktowy. W jaki sposób skrypt będzie działał? Otóż będą dwa pliki: kontakt.php i wyslij.php . Ten pierwszy będzie formularzem, a ten drugi skryptem wysyłającym e-maila.

kontakt.php

<html>
<head>
<title>Formularz kontaktowy></title>
</head>
<body>

Możesz się ze mną skontaktować za pomocą poniższego formularza
<br><br>

<form action="wyslij.php" method="post">
Twój e-mail: <input type="text" name="email" /><br>
Temat: <input type="text" name="temat" /><br>
Wiadomość:<br>
<textarea name="wiadomosc" cols="40" rows="8"</textarea>
<br>
<input type="submit" value="Wyślij" />

</form>
</body>
</html>


wyslij.php
<?php

$do = 'twoj@email.com'; //tutaj wpisujesz swój adres e-mail
$email = $_POST['email']; //pobieranie danych o e-mailu nadawcy
$wiadomosc = $_POST['wiadomosc']; //pobieranie wiadomości
$temat = $_POST['temat']; //pobieranie tematu
//w $header tworzymy nagłówek e-mail (dane o kodowaniu, gdzie ma być e-mail wysłany itp.
$header = "From: $email \nContent-Type:".
			' text/plain;charset="UTF-8"'.
			"\nContent-Transfer-Encoding: 8bit";
	if (mail($do, $temat, $wiadomosc, $header))
		{
		echo ('E-mail został wyslany!'); //jeżeli e-mail się wyśle, pokazywanie tego komunikatu
		}
	else
	{
		echo ('Blad podczas wysylania e-maila!');
		}

?>


Tyle? Tak, to tylko, albo aż tyle! Zapraszam do testowania tego skryptu i wprowadzania w nim zmian, bo tylko tak można się czegoś nauczyć. :)

UWAGA (22.09.2017): Podany powyżej przykład jest najprostszym tego typu rozwiązaniem niegwarantującym bezpieczeństwo kodu.

Podobał się artykuł? Myślę, że tak. :) Czekam na Twój komentarz poniżej. Bądź ze mną na bieżąco na Facebooku i obserwuj mnie na X.
8
KOMENTARZY

BĄDŹ ZE MNĄ NA BIEŻĄCO
NA FACEBOOKU ORAZ X  

8
KOMENTARZY



WYŚLIJ
E-MAILEM

WERSJA
DO DRUKU

SUBSKRYBUJ
KANAŁ RSS


BĄDŹ ZE MNĄ NA BIEŻĄCO
NA FACEBOOKU ORAZ X

Komentarze 

OD NAJSTARSZYCH  •  OD NAJNOWSZYCH
17.09.2009, 21:27 #1
$_POST['email'] przydało by się przepuścić przez filter_var z flagą FILTER_VALIDATE_EMAIL, działa tylko w PHP>=5. Do tego treść i tytuł przez strip_tags i htmlspecialentities.
ODPOWIEDZ    NAPISZ NOWY
17.09.2009, 21:30 #2
No dobrze, ale mi chodzi o taki najprostszy ;)
ODPOWIEDZ    NAPISZ NOWY
17.09.2009, 21:33 #3
Prostota prostotą, ale o bezpieczeństwo trzeba zadbać.
ODPOWIEDZ    NAPISZ NOWY
Oczywiście, że można przepuścić przez filtry, ale można też po stronie użytkownika, javascriptem wyświetlać alerty, że zły mail ;)
ODPOWIEDZ    NAPISZ NOWY
03.10.2009, 20:59 #5
Tutorial napisany bardzo dobrze. Ja mam tylko "zapytanie" dotyczące strony technicznej serwisu. Jak zrobić ten koloryzator składni. To gotowiec, czy sam napisałeś?
ODPOWIEDZ    NAPISZ NOWY
03.10.2009, 21:20 #6
Koloryzator składni to SyntaxHighlighter :)
ODPOWIEDZ    NAPISZ NOWY
Lukas
22.09.2017, 10:15 #7
@Jan Pogocki: Taki najprostszy, którym można np.: skasować całą bazę danych?
Uważam, że powinieneś poprawić ten poradnik lub chociaż napisać , że to tylko niezabezpieczony przykład
ODPOWIEDZ    NAPISZ NOWY
22.09.2017, 10:35 #8
@Lukas: Oczywiście masz rację. Kiedy pisałem ten artykuł nie miałem jeszcze takiej świadomości bezpieczeństwa kodu. Dzięki za zwrócenie uwagi, odpowiednia adnotacja znalazła się w treści.
ODPOWIEDZ    NAPISZ NOWY
Pasja. Każdy ma swoją