 |
|
|
| Autor |
Mesaj |
Acoustic Senior Manager


Data inscrierii: 12/Oct/2007 Mesaje: 1141 Localitate: somewhere @ a PC
|
Trimis: 03/02/2008 22:04 Titlul subiectului: PHP]Formular contact |
|
|
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 asta 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
Si acuma un plus...
de exemplu daca ai sa faci u nformular de comanda la un shop sau ceva...e suficient de rudimentar 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
| Citat: | 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 |
|
|
| Sus |
|
 |
|
|
Nu puteti crea un subiect nou in acest forum Nu puteti raspunde in subiectele acestui forum Nu puteti modifica mesajele proprii din acest forum Nu puteti sterge mesajele proprii din acest forum Nu puteti vota in chestionarele din acest forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|
|
|