[PHP]Formular contact.

Vezi subiectul anterior Vezi subiectul urmator In jos

Frumos [PHP]Formular contact.

Mesaj Scris de s!mpLE la data de Joi Oct 30, 2008 9:21 am

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:

Code: Select all
define("catre","mailu_tau@adresa_ta.domeniu");


definim mesajul de eroare care va aparea daca campurile sunt goale..

Code: Select all
$mesaj_eroare = 'Urmatoarele campuri sunt goale:
    ';
    $eroare = false;



    acuma vom face functia care preia informatiile din campurile din formular

    Code: Select all
    $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...

    Code: Select all
    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...

    Code: Select all
    if(!$nume) { $msg_eroare .= "
  • Nume
  • "; $eroare = true; }
    if(!$email ) { $msg_eroare .= "
  • Adresa email
  • "; $eroare = true; }
    if(!$subiect ) { $msg_eroare .= "
  • Subiect
  • "; $eroare = true; }
    if(!$mesaj ) { $msg_eroare .= "
  • Mesaj
  • "; $eroare = true; }



    in traducere: daca campul x este gol va aparea mesajul de eroare

    Acuma vom verifica daca mailul este corect:

    Code: Select all
    if($email) { if(!eregi("^[a-z0-9_]+@[a-z0-9\-]+\.[a-z0-9\-\.]+$", $email)){ $msg_eroare .= "
  • Adresa email
  • "; $eroare = true; }}
    $msg_eroare .= "
";



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 ..

Code: Select all
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

Code: Select all
$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 \r\n";
$heder_mail .= "Raspunde catre: $nume \r\n";



Si ultimu pas trimitrea propriuzisa a mailului

Code: Select all
mail(catre, ,stripslashes($msg), $heder_mail);
}
}



contact.php


Si acesta e html

Code: Select all
?php include"trimite.php"; ?>









Mesaj aici daca mailul a fost trimis cu succes, .
Acestea sunt informatiile care ni le-ati trimis:




Va rugam sa completati toate campurile de pe aceast formular. Atentie!Campruile marcate cu(*) sunt obilgatorii.











Nume (*)






Adresa E-mail (*)






Subiect (*)






Mesaj (*)











Si inca odata
trimite.php

Code: Select all





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



Code: Select all
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


Code: Select all
if(!$nume) { $msg_eroare .= "
  • Nume
  • "; $eroare = true; }//Daca campul nume este necompletat arata eroare
    if(!$email ) { $msg_eroare .= "
  • Adresa email
  • "; $eroare = true; }//Daca campul email este necompletat arata eroare
    if(!$subiect ) { $msg_eroare .= "
  • Subiect
  • "; $eroare = true; }//Daca campul subiect este necompletat arata eroare
    if(!$mesaj ) { $msg_eroare .= "
  • Mesaj
  • "; $eroare = true; }//Daca campul mesaj este necompletat arata eroare
    if(!$firma) { $msg_eroare .= "
  • Firma
  • "; $eroare = true; }//Daca campul mesaj este necompletat arata eroare
    if(!$produs_dorit) { $msg_eroare .= "
  • Produsul dorit
  • "; $eroare = true; }//Daca campul mesaj este necompletat arata eroare



    dupa pregatim datele adica continutul mailului

    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

    s!mpLE
    Fondator
    Fondator

    Numarul mesajelor : 204
    Varsta : 22
    Data de inscriere : 26/10/2008

    Vezi profilul utilizatorului http://warsn.forumd.biz

    Sus In jos

    Vezi subiectul anterior Vezi subiectul urmator Sus

    - Subiecte similare

     
    Permisiunile acestui forum:
    Nu puteti raspunde la subiectele acestui forum