Formularz do wysyłania wiadomości z walidacją danych
Skrypt tworzy standardowy formularz używany na stronach do kontaktu z właścicielem. Dodatkowo wyposażony jest w walidacje danych wprowadzonych przez użytkownika.
Listing
//Plik HTML ****************************************
<HTML>
<HEAD>
<TITLE>Wysyłanie poczty</TITLE>
</HEAD>
<BODY>
<FORM METHOD="post" ACTION="sendmail.php">
<TABLE border="1">
<TR>
<TD COLSPAN="2" ALIGN="center" BORDERCOLOR="#FFFFFF">
<H2>Wysyłanie poczty</H2>
</TD>
</TR>
<TR>
<TD BORDERCOLOR="#FFFFFF">Do</TD>
<TD BORDERCOLOR="#FFFFFF">
<INPUT TYPE="text" NAME="do" SIZE="20">
</TD>
</TR>
<TR>
<TD BORDERCOLOR="#FFFFFF">Temat</TD>
<TD BORDERCOLOR="#FFFFFF">
<INPUT TYPE="text" NAME="temat" SIZE="20">
</TD>
</TR>
<TR>
<TD BORDERCOLOR="#FFFFFF">Treść</TD>
<TD BORDERCOLOR="#FFFFFF">
<TEXTAREA NAME="contents" ROWS="5" COLS="40">
</TEXTAREA>
</TD>
</TR>
<TR>
<TD COLSPAN="2" ALIGN="CENTER" BORDERCOLOR="#FFFFFF">
<INPUT TYPE="submit" VALUE="Wyślij">
</TD>
</TR>
</TABLE>
</FORM>
</BODY>
</HTML>
//Plik PHP sendmail.php *************************
<?PHP
function check_email($email)
{
$wyr = "^[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)*";
$wyr .= "@([a-zA-Z0-9_-]+)(\.[a-zA-Z0-9_-]+)*(\.[a-zA-Z]{2,4})$";
if(ereg($wyr, $email)){
return true;
}
else{
return false;
}
}
function sendmail($do, $temat, $contents)
{
if($do == "" || $temat == "" || $contents == ""){
print("Proszę wypełnić wszystkie pola formularza");
}
else if (mail($do, $temat, $contents)){
print("List został wysłany na adres $do");
}
else{
print("Nie udało się wysłać listu na adres $do");
}
}
if(isSet($_POST['do']) && isSet($_POST['temat']) && isSet($_POST['contents'])){
if(!check_email($_POST["do"])){
echo("Niepoprawny adres w polu do!");
}
else{
sendmail($_POST["do"], $_POST["temat"], $_POST["contents"]);
}
}
else{
echo("Proszę wypełnić wszystkie pola formularza!");
}
?>
Dodano przez: igor
Ranga: Administrator serwisu Punktów: 0
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
Uwaga! Skrypt ten będzie działał poprawnie w tylko starszych wersjach PHP niż 5.3.0, gdyż użyto tutaj funkcji ereg, która jest wycofywana z użycia (właśnie dziś sam się na to naciąłem). W wersjach 5.3.x i wyższych - można ujrzeć komunikat ostrzegawczy po użyciu tej funkcji a od wersji 6.0 nie będzie dostępna. W zamian trzeba używać funkcji preg_match
autor: Azgheros | 4636 | 2009-12-30 17:58:13
:: Losowe artykuły
:: Wymiana linków
Modowe inspiracje |
Android Gry i Aplikacje |
ZaplanujTransport.pl: Przeprowadzki, transport, aukcje |
Logo dla firmy |
Change Tires - Car Weather Forecast Reminder |
Laminas: MVC Framework for PHP |
IT Books Reviews and Programming: JS, JAVA, PHP, ANDROID, CSS |
Katalog roślin |
Programming articles: JAVA, PHP, C++, Python, JavaScript |
Kancelaria Adwokacka Łukasz Huszno