In acest tutorial vei invata cum sa:
-trimiti un formular pe o adresa de mail
-verificarea campurilor unui forumular
Acest formular va avea 4 campuri simple nume, email, subiect, mesaj. Vom acoperii si partea html ulterior in tutorial
Incepem cu inceputul
trimite.php
O sa impart scriptul in mai multe parti-sectiuni ca sa va explic pas cu pas ..
definim mailu:
- Cod:
-
define("catre","mailu_tau@adresa_ta.domeniu");
definim mesajul de eroare care va aparea daca campurile sunt goale..
- Cod:
-
$mesaj_eroare = 'Urmatoarele campuri sunt goale:<ul>';
$eroare = false;
acuma vom face functia care preia informatiile din campurile din formular
- Cod:
-
$submit = $_POST['submit'];
if(empty($submit))
$formular_trimis = false;
else
$forumular_trimis = true;
acuma sa traducem ce am scris mai sus ...daca formularul este gol nu trimite mail, daca nu trimite..pentru cei care ati facut limbaje de programare false/true sunt booleanuri....continuam...
- Cod:
-
if($formular_trimis) {
$nume = $_POST['nume'];
$email = $_POST['email'];
$subiect = $_POST['subiect'];
$mesaj = $_POST['mesaj'];
odul de mai sus preia informatiile din campurile: nume, email, subiect, mesaj.
Acuma vom verifica daca campurile sunt goale...
- Cod:
-
if(!$nume) { $msg_eroare .= "<li>Nume</li>"; $eroare = true; }
if(!$email ) { $msg_eroare .= "<li>Adresa email</li>"; $eroare = true; }
if(!$subiect ) { $msg_eroare .= "<li>Subiect</li>"; $eroare = true; }
if(!$mesaj ) { $msg_eroare .= "<li>Mesaj</li>"; $eroare = true; }
in traducere: daca campul x este gol va aparea mesajul de eroare
Acuma vom verifica daca mailul este corect:
- Cod:
-
if($email) { if(!eregi("^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$", $email)){ $msg_eroare .= "<li>Adresa email</li>"; $eroare = true; }}
$msg_eroare .= "</ul>";
In traducere daca emailul nu este gen
nume@adresa.ceva va aparea mesaj de eroare
Acuma trebuie sa aratam unde a gresit in completarea formularului ..
- Cod:
-
if (!$eroare) {
$msg = "Nume: \t $nume \n";
$msg .= "Adresa email: \t $email \n";
$msg .= "Subiect: \t $subiect\n";
$msg .= "Mesaj: \n---\n $mesaj \n---\n";
Acuma va trebuie sa facem headerul mesajului
- Cod:
-
$heder_mail = "NUMELE SITEULUI TAU AICI: 1.0\r\n";
$heder_mail .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$heder_mail .= "De la: $nume <email>\r\n";
$heder_mail .= "Raspunde catre: $nume <email>\r\n";
Si ultimu pas trimitrea propriuzisa a mailului
- Cod:
-
mail(catre, ,stripslashes($msg), $heder_mail);
}
}
contact.php
Si acesta e html
- Cod:
-
?php include"trimite.php"; ?>
<html>
<head>
<meta>
</head>
<body>
<div>
<Daca>
<php>
Mesaj aici daca mailul a fost trimis cu succes, <php>.
Acestea sunt informatiile care ni le-ati trimis: <br>
<php>
</font>
<Aici>
Va rugam sa completati toate campurile de pe aceast formular. Atentie!Campruile marcate cu(*) sunt obilgatorii.
<Acuma>
<br><form>
<table>
<tr>
<td>
Nume (<font>*</font>)<br>
<input> </td>
</tr>
</table>
<table>
<tr>
<td>
Adresa E-mail (<font>*</font>)<br>
<input> </td>
</tr>
</table>
<table>
<tr>
<td>
Subiect (<font>*</font>)<br>
<input> </td>
</tr>
</table>
<table>
<tr>
<td>
Mesaj (<font>*</font>)<br>
<textarea><php></textarea> </td>
</tr>
</table>
<table>
<tr>
<td>
<input> </td>
</tr>
</table>
</form><php> </div>
Si inca odata
trimite.php
- Cod:
-
</li>
Si acuma un plus...
de exemplu daca ai sa faci u nformular de comanda la un shop sau ceva...e destul de simplu doar adaugi mai multe campuri si mai multe linii la ..defapt uite exemplu
- Cod:
-
if($formular_trimis) {
$nume = $_POST['nume'];//preluam datele din campul nume
$email = $_POST['email'];//preluam datele din campul email
$subiect = $_POST['subiect'];//preluam datele din campul subiect
$mesaj = $_POST['mesaj'];//preluam datele din campul mesaj
$firma = $_POST['firma'];//preluam datele din campul firma
$produs_dorit = $_POST['firma'];//preluam datele din campul produs_dorit
dupa la verificare campurilor
- Cod:
-
if(!$nume) { $msg_eroare .= "<li>Nume</li>"; $eroare = true; }//Daca campul nume este necompletat arata eroare
if(!$email ) { $msg_eroare .= "<li>Adresa email</li>"; $eroare = true; }//Daca campul email este necompletat arata eroare
if(!$subiect ) { $msg_eroare .= "<li>Subiect</li>"; $eroare = true; }//Daca campul subiect este necompletat arata eroare
if(!$mesaj ) { $msg_eroare .= "<li>Mesaj</li>"; $eroare = true; }//Daca campul mesaj este necompletat arata eroare
if(!$firma) { $msg_eroare .= "<li>Firma</li>"; $eroare = true; }//Daca campul mesaj este necompletat arata eroare
if(!$produs_dorit) { $msg_eroare .= "<li>Produsul dorit</li>"; $eroare = true; }//Daca campul mesaj este necompletat arata eroare
dupa pregatim datele adica continutul mailului
- Cod:
-
f (!$eroare) {
$msg = "Nume: \t $nume \n"; //pregatim datele
$msg .= "Adresa email: \t $email \n";//pregatim datele
$msg .= "Subiect: \t $subiect\n";//pregatim datele
$msg .= "Mesaj: \n---\n $mesaj \n---\n";//pregatim datele
$msg .= "Firma: \n---\n $firma\n---\n";//pregatim datele
$msg .= "Produs dorit: \n---\n $produs_dorit\n---\n";//pregatim datele