Formular e-mail

Această pagină:

  • Îți va explica codul sursă PHP care se ocupă de prelucrarea formularului e-mail.
  • Îți va prezenta codul sursă al unei pagini PHP pentru test.

Uneori ai nevoie să dai posibilitatea utilizatorilor să îți scrie direct din website, iar alteori ai nevoie să trimiți mesaje e-mail folosind funcția PHP mail().

Această pagină îți dă un exemplu de cum funcția PHP mail() poate fi folosită și de cum poți crea în doar 5 minute un formular e-mail pentru utilizatorii websiteului tău.

Uite codul sursă PHP care se ocupă de formularul e-mail

Funcția test_form() îți permite să specifici ce câmpuri trebuiesc verificate și cum anume.

Ai la dispoziție trei opțiuni:

  • Câmp obligatoriu - required.
  • Câmpul trebuie să fie o adresă e-mail validă - email.
  • Câmpul trebuie să conțină doar litere și spații - str.

Aceste opțiuni pot fi extinse cu mare ușurință. Pentru detalii citește explicațiile în codul sursă.

function test_form($config) {

    $keys = array_keys($config);

    foreach($keys as $post) {
        $str = $_POST[$post];
        $rules = explode('|', $config[$post]);
        foreach($rules as $rule) {
            switch ($rule) {
                case 'required':
                    if(trim($str) == '') return FALSE;
                    break;
                case 'email':
                    if( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) return FALSE;
                    break;
                case 'str':
                    if( ! preg_match("/^([A-z ])+$/i", $str)) return FALSE;
                    break;
            }
        }
    }
}

Codul următor setează regulile de validare, validează formularul e-mail și trimite mesajul email la adresa specificată.

    /*
     * Explicație: 'name' => 'required|str' se traduce astfel:
     * 'name' este numele câmpului din formularul HTML care trebuie verificat
     * 'required|str' sunt regulile în funcție de care câmpul formularului va fi verificat
     *
     * Spre exemplu, dacă vrei să adaugi un câmp Telefon, îl poți denumi 'phone' fără a îl menționa în array-ul de configurare $config
     * Dacî însă, vrei să verifici că acest acest câmp este un număr de telefon valid, creezi o regulă 'phone' pe care o adaugi funcției test_form().
     * La final, completezi array-ul $config cu noul câmp și regula aferentă:
     *
     * $config['phone'] = 'phone' sau $config['phone'] = 'required|phone'.
     * 
     * În cel de-al doilea caz câmpul Phone devine obligatoriu.
    */
    $config = array(
            'name' => 'required|str',
            'email' => 'required|email',
            'msg' => 'required'
    );
    if(test_form($config) === FALSE) {
        print $error_msg;
    } else {
        $to      = 'nume@domeniu.extensie';
        $subject = 'Formular e-mail';
        $message = $_POST['msg'];
        $headers = 'From: ' . $_POST['name'] . ' <' . $_POST['email'] . '>' . "\r\n" .
                'MIME-Version: 1.0' . "\r\n" .
                'Content-type: text/html; charset=utf-8' . "\r\n" .
                'Reply-To: ' . $_POST['email'] . "\r\n" .
                'X-Mailer: PHP/' . phpversion();
        print (mail($to, $subject, $message, $headers) === TRUE) ? $success_msg : $error_msg;
    }

Uite codul sursă complet

Descarcă email.php, deschide-l cu Notepad++ pentru a studia codul sursă și folosește XAMPP pentru a testa cum funcționează direct pe calculatorul tău. Succes!

RECOMANDARE! Folosește și tu Kaspersky Internet Security antivirusul pe care eu îl folosesc cu succes de mai bine de 7 ani.

Avram Cosmin

Contactează-mă, află dacă pot lucra pentru tine!

my email address

Iată tehnologiile web pe care le folosesc

  • PHP
  • MySQL
  • jQuery (librărie JavaScript)
  • CodeIgniter (librărie PHP)
  • xHTML
  • CSS
  • JavaScript

Preludiu - Arta Seducției

Trebuie să ai această carte! Este modul cel mai simplu de a afla de ce și cum trebuie să construiești un caracter puternic cu ajutorul căruia să obții ceea ce-ți propui, să ai succes în viață și să ajungi Dragostea Adevărată. - Succes! -

Preludiu - Arta Seducției * Disponibilă doar pe www.Trim.ro Cumpără 36.90RON
 

Citește ultimul articol

Internet mobil pe calculatorul tău

Alege Cosmote, Vodafone sau Orange; principalii operatori de telefonie mobila care pun la dispoziție servicii de internet mobil pe calculatorul tău.

Vezi ultima înregistrare video

(Video) CodeIgniter - Instalare și configurare (ep1)

Acesta este primul din cele 10 episoade care îți vor arăta cum să folosești CodeIgniter, librăria PHP cu care poți realiza aplicații web inteligente.

Află noutățile! Trim.ro Un secret YouTube

«Cu cât clientul va fi mai mulțumit cu atât vei câștiga mai mult din colaborarea cu el.»

creare website, standarde și competitivitate