[Tutorial PHP]Formular de contact

#1
Nume Tutorial:Formular de contact
Descriere:Formular de contact
Download:Nu necesita
Autor:Anonim
Sursa (Link-ul oficial):
tutorialeonline
Propria parere:Util.
Tutorialul:

Cod: Selectaţi tot

<?php 
 /* scriptul de mai jos afiseaza un formular de contact care contine urmatoarele campuri: 
 nume si prenume 
 adresa de e-mail 
 telefon 
 Mesajul introdus de vizitator 
 
 dupa ce vizitatorul a apasat pe butonul de trimitere se verifica datele introduse 
 si daca sunt corecte se trimit pe adresa specificata in variabila $adresa 
 ·atentie! nu uitati sa va introduceti adresa de e-mail unde doriti sa 
 primiti mesajele inainte de a rula acest script pe server. 
 Adresa se introduce in variabila $adresa. 
 
 Versiune script: 0.1 
 Data cand am scris acest script: 07-09-2007 
 Adresa unde puteti discuta depsre acest script sau unde puteti cauta o versiune mai noua 
 a acestui script este la www.tutoriale.far-php.ro in sectiunea PHP-Exemple 
 Autor script: Birkoff (www.farsoft.far-php.ro) 
 Termeni de copyright: Puteti face ce doriti cu acest script, conditia este sa nu stergeti 
 numele autorului din script. Il puteti modifica, vinde, distribui, etc. fara alte conditii. 
 (Oricum inainte sa il vindeti ar trebui sa mai lucrati la el  
 ca sa nu va treziti cu tone de spam pe adresa de e-mail :P) 
 */ 
 
 // se creaza o functie care afi&#351;eaza formularul 
 function afisare_formular($stare=1)  { 
    /* daca valoarea variabilei $stare este 1 atunci se afiseaza formularul normal 
    si se seteaza valorile din formular la 0 */ 
    if ($stare == 1) { 
       $nume = ''; 
       $email = ''; 
       $telefon = ''; 
       $mesaj = ''; 
    } 
    /* daca valoarea variabilei $stare este diferita de 1 atunci se preiau mai intai 
    datele trimise anterior prin POST din formular si se afiseaza formularul 
    din nou dar cu valorile primite. */ 
    else { 
       $nume = $_POST['nume']; 
       $email = $_POST['email']; 
       $telefon = $_POST['telefon']; 
       $mesaj = $_POST['mesaj']; 
    } 
    // se genereaza variabila cu tabelul care contine formularul 
    $formular = '<table width="100%" border="0" cellpadding="0" cellspacing="1" 
       bgcolor="#000099"> 
       <tr> 
       <td valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" 
       bgcolor="#FFFFFF"> 
       <tr> 
       <td align="center" valign="top">Formular de contact: </td> 
       </tr> 
       <tr> 
       <td valign="top"><form name="form1" method="post" action="'.$_SERVER['PHP_SELF'].'"> 
       <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
       <tr> 
       <td valign="top"><table width="100%" border="0" cellspacing="3" cellpadding="0"> 
       <tr> 
       <td width="50%" align="right" valign="top">Numele &#351;i prenumele: </td> 
       <td width="50%" align="left" valign="top"><input name="nume" type="text" id="nume" 
       value="'.$nume.'" maxlength="50"></td> 
       </tr> 
       <tr> 
       <td align="right" valign="top">Adresa de e-mail: </td> 
       <td align="left" valign="top"><input name="email" type="text" id="email" 
       value="'.$email.'" maxlength="50"></td> 
       </tr> 
       <tr> 
       <td align="right" valign="top">Telefon:</td> 
       <td align="left" valign="top"><input name="telefon" type="text" id="telefon" 
       value="'.$telefon.'" maxlength="15"></td> 
       </tr> 
       <tr> 
       <td align="right" valign="top">Mesaj:</td> 
       <td align="left" valign="top"><textarea name="mesaj" cols="35" rows="3" wrap="virtual" 
       id="mesaj">'.$mesaj.'</textarea></td> 
       </tr> 
       </table></td> 
       </tr> 
       <tr> 
       <td align="center" valign="top"><input type="submit" name="Submit" value="Trimite"></td> 
       </tr> 
       </table> 
       </form></td> 
       </tr> 
       </table></td> 
       </tr> 
       </table>'; 
    // se returneaza codul html pentru formularul care trebuie afisat 
    return $formular; 
 } 
 
 /* daca a fost incarcata prima data aceasta pagina de catre vizitator se 
 afiseaza formularul normal */ 
 if (!isset($_POST['nume'])) { 
    echo afisare_formular(1); 
 } 
 /* daca a fost deja apasat butonul te trimitere din formular se preiau datele 
 trimise si se verifica daca sunt corecte */ 
 else { 
    // se preiau datele trimise 
    $nume = $_POST['nume']; 
    $email = $_POST['email']; 
    $telefon = $_POST['telefon']; 
    $mesaj = $_POST['mesaj']; 
    // se verifica daca sunt corecte 
    $verificare = 0; 
    if (empty($nume)) { 
       $verificare = 1; 
       echo '<br>Nu a fost specificat Numele si prenumele.'; 
    } 
    if (strlen($nume) < 3) { 
       $verificare = 1; 
       echo '<br>Numele trebuie sa contina minim 3 caractere.'; 
    } 
    elseif (!eregi('[a-zA-Z ]', $nume)) {
       $verificare = 1; 
       echo '<br>Numele trebuie sa contina minim 3 caractere.'; 
    }         
    if (empty($email)) { 
       $verificare = 1; 
       echo '<br>Nu a fost introdusa adresa de e-mail'; 
    } 
    if (!eregi("^[a-z0-9\._-]+@+[a-z0-9\._-]+\.+[a-z]{2,4}$", $email)) { 
       $verificare = 1; 
       echo '<br>Adresa de e-mail este incorecta.'; 
    } 
    if (empty($telefon)) { 
       $verificare = 1; 
       echo '<br>Nu a fost specificat un numar de telefon. Scrieti (-) daca nu aveti telefon.'; 
    } 
    if (empty($mesaj)) { 
       $verificare = 1; 
       echo '<br>Nu a fost specificat mesajul pe care doriti sa il trimiteti.'; 
    } 
    /* daca in urma verificarilor de mai sus a aparut o eroare atunci 
    variabila de verificare ar trebui sa aiba valoarea 1 
    si in acest caz se afiseaza din nou formularul cu campurile deja completate 
    pentru corectare */ 
    if ($verificare == 1) { 
       echo afisare_formular(0); 
    } 
    /* daca in urma verificarilor de mai sus totul este ok 
    se trimite mesajul pe e-mail */ 
    else { 
       // se stabilesc variabilele care se vor trimite prin mail 
       $subiect = 'Mesaj de la '.$_SERVER['SERVER_NAME']; 
       // aici scrieti adresa de e-mail unde doriti sa primiti mesajele 
       $adresa = 'adresa_ta@pagina_ta.ro'; 
       $continut = '<br>Nume si prenume: '.$nume.' 
          <br>Adresa de e-mail: '.$email.' 
          <br>Telefon: '.$telefon.' 
          <br>Mesaj:<br><br>'.$mesaj.' 
          <br>Mesajul a fost trimis la data de '.date('d-m-Y H:i', time()); 
       $headere = "From: $nume <$email>\r\n". 
          "Reply-To: $email\r\n". 
          "MIME-Version: 1.0\r\nContent-type: text/html; charset=iso-8859-2\r\n"; 
       // aici se incearca trimiterea mesajului pe mail 
       if (@mail($adresa, $subiect, $continut, $headere)) { 
          echo '<META HTTP-EQUIV = "Refresh" Content = "10; URL =index.php"> 
          Mesajul a fost trimis cu succes. Asteptati pentru redirectare.'; 
       } 
       else { 
          echo '<META HTTP-EQUIV = "Refresh" Content = "10; URL ='.$_SERVER['PHP_SELF'].'"> 
          A aparut o eroare la serverul de mail, va rugam sa incercati din nou.<br> 
          Asteptati pentru redirectare.'; 
       } 
    } 
 } 
 ?> 
N-am cerut la nimeni niciodata,
Chiar de-a fost sa rabd, in viata mea.
Am dat totul fara nici o plata,
Nevoind nimic sa mi se dea.

@Virgil Carianopol
Vezi-ti de treaba si retine:
"E treaba ta sa spui ce vrei si sa nu conteze pentru nimeni".

@Kazi Ploae

Înapoi la “Tutoriale PHP”

Cine este conectat

Utilizatori răsfoind acest forum: Niciun utilizator înregistrat și 1 vizitator