AcasaAcasa  FAQFAQ  CautareCautare  MembriMembri  GrupuriGrupuri  InregistrareInregistrare  ConectareConectare  

Distribuiți | 
 

 [PHP]Formular contact

In jos 
AutorMesaj
Kenny
Sponsor
Sponsor
avatar

Mesaje : 1077
Data de inscriere : 07/05/2008
Varsta : 28
Localizare : Liberty City

MesajSubiect: [PHP]Formular contact   Dum Oct 19, 2008 8:00 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:

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'];

codul 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);
   }
   }

si cam cu asta am terminat partea php acuma urmeaza contact.html


contact.php


Si acesta e html
Cod:

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

if (!$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

sper sa va ajut...cum m-au ajutat si pe mine alti la randul lor..

_________________
Respecta si vei fi respectat!!!
I love Firefox
Sus In jos
Vezi profilul utilizatorului http://muchisinau.sytes.net/
 
[PHP]Formular contact
Sus 
Pagina 1 din 1

Permisiunile acestui forum:Nu puteti raspunde la subiectele acestui forum
Tutoriale :: Tutoriale Diverse :: HTML, PHP, MySQL, MsSQL-
Mergi direct la: