Visualizzazione dei risultati da 1 a 3 su 3

Discussione: check su form php

  1. #1

    check su form php

    Salve,
    ho questo file php per invio form mail da sito. Funziona corretamente, soltanto che se vi sono campi vuoti manda ugualmente la mail. Come posso cambiarlo perchè mi mandi solo mail con campi completi di lettere?

    Michele

    <?php /********************************** * FormMail Sviluppato * * * **********************************/ // NON TOCCARE! define('ONLY_NUMBERS' , '/[0-9]+/'); define('ONLY_LETTERS' , '/[a-z]+/i'); define('ONLY_LETTERS_WITH_SPACE' , '/[a-z ]+/i'); define('ONLY_LETTERS_WITH_SPECIAL_CHARS' , '/[a-z_@!?#\/*+ùàòèéì -]+/i'); define('NUMBERS_AND_LETTERS' , '/[a-z0-9]+/i'); define('NUMBERS_AND_LETTERS_WITH_SPACE' , '/[a-z0-9 ]+/i'); define('NUMBERS_AND_LETTERS_WITH_SPECIAL_CHARS' , '/[a-z0-9_@!?#\/*+ùàòèéì -]+/i'); define('EMAIL_ADDRESS' , '/[a-z0-9_]+@[a-z0-9_]+\.[a-z]{2,6}/'); ################################################## #################### # # # MODIFICARE DA QUI... # # # ################################################## #################### // Per creare i propri set di caratteri personali guardare il manuale PHP all'indirizzo define('YOUR_CHARSET_NAME_HERE' , '/YOUR_CHARSET_HERE/'); // CONFIG VAR $_CONFIG_VAR = array( 'backurl' => '../outlet/conferma_prenotazione.htm', // L'indirizzo a cui essere inviati dopo l'invio della mail 'backname' => 'Outlet', // Nome del sito 'yourmail' => 'michele@xxx.it' // Indirizzo email a cui inviare il contenuto del form ); // CHECK VALUES $regexp = array( 'NOME_CAMPO_FORM1' => ONLY_LETTERS_WITH_SPACE, 'NOME_CAMPO_FORM3' => NUMBERS_AND_LETTERS, 'NOME_CAMPO_FORM2' => EMAIL_ADDRESS ); // Elenco dei campi di destnazione aggiuntivi oltre a quello di default // ATTENZIONE: è necessario eliminare i vari elementi altrimenti non // usati altrimenti si otterrà probabilmente un errore // durante l'invio!!! $destinationEmail = array( ); // Questo campo permette di escludere i campi vuoti, // se questi non debbano essere controllati nella forma $showEmptyFields = true;

  2. #2
    Lo reinserisco piu visibile.. spero mi aiutate...

    Codice PHP:
    <?php                // NON TOCCARE!     define('ONLY_NUMBERS'                                , '/[0-9]+/');     define('ONLY_LETTERS'                                , '/[a-z]+/i');     define('ONLY_LETTERS_WITH_SPACE'                    , '/[a-z ]+/i');     define('ONLY_LETTERS_WITH_SPECIAL_CHARS'            , '/[a-z_@!?#\/*+ùàòèéì -]+/i');     define('NUMBERS_AND_LETTERS'                        , '/[a-z0-9]+/i');     define('NUMBERS_AND_LETTERS_WITH_SPACE'                , '/[a-z0-9 ]+/i');     define('NUMBERS_AND_LETTERS_WITH_SPECIAL_CHARS'        , '/[a-z0-9_@!?#\/*+ùàòèéì -]+/i');     define('EMAIL_ADDRESS'                                , '/[a-z0-9_]+@[a-z0-9_]+\.[a-z]{2,6}/');      ######################################################################     #                                                                    #     #    MODIFICARE DA QUI...                                             #     #                                                                    #     ######################################################################      // Per creare i propri set di caratteri personali guardare il manuale PHP all'indirizzo     define('YOUR_CHARSET_NAME_HERE'                        , '/YOUR_CHARSET_HERE/');          // CONFIG VAR     $_CONFIG_VAR = array(         'backurl'    => '../outlet/conferma_prenotazione.htm',            // L'indirizzo a cui essere inviati dopo l'invio della mail         'backname'    => 'Outlet',        // Nome del sito         'yourmail'    => 'michele@xxx.it'        // Indirizzo email a cui inviare il contenuto del form          );      // CHECK VALUES     $regexp = array(         'NOME_CAMPO_FORM1'            => ONLY_LETTERS_WITH_SPACE,         'NOME_CAMPO_FORM3'            => NUMBERS_AND_LETTERS,         'NOME_CAMPO_FORM2'            => EMAIL_ADDRESS     );          // Elenco dei campi di destnazione aggiuntivi oltre a quello di default     // ATTENZIONE: è necessario eliminare i vari elementi altrimenti non     //             usati altrimenti si otterrà probabilmente un errore     //             durante l'invio!!!     $destinationEmail = array(     );          // Questo campo permette di escludere i campi vuoti,     // se questi non debbano essere controllati nella forma     $showEmptyFields = true;          ######################################################################     #                                                                    #     #    ...A QUI! NON TOCCARE O SI VERIFICHERANNO MALFUNZIONAMENTI!      #     #                                                                    #     ######################################################################           $errors = array();          if (count($_POST) == 0) {         echo <<< END_HEREDOC <html>     <head>         <title>{$_CONFIG_VAR['backname']} - Errore!!!</title>         <style>             BODY { font-family: Verdana; font-size: 12px;}             A, :LINK, :VISIT, :HOVER {color: blue;}             #error_box {color: #FF0000; font-size: 14px; font-weight: bold;}             #goback_box {text-align: center;}             .separator {font-size:0px; height: 50px;}         </style>     </head>     <body>         <div id="error_box">             Nessun campo nel form mail specificato!         </div>         <div class="separator"></div>         <div id="goback_box">             [url="javascript: history.go(-1)"]Torna Indietro[/url]         </div>     </body> </html> END_HEREDOC;     exit;     }          while (list($key, $value) = each($_POST)) {                  if (isset($regexp[$key])) {                          if (!preg_match($regexp[$key], $value)) {                 $key = ucwords(str_replace('_', ' ', $key));                 $errors[] = "- Il campo [b]{$key}[/b] contiene caratteri non ammessi!";             }                      } elseif (!trim($value) && $showEmptyFields === false) {                          unset($_POST[$key]);                      }              }     reset($_POST);          if (count($errors) > 0) {         $error_str = implode("
    \r\n", $errors);         echo <<< END_HEREDOC <html>     <head>         <title>{$_CONFIG_VAR['backname']} - Errore!!!</title>         <style>             BODY { font-family: Verdana; font-size: 12px;}             A, :LINK, :VISIT, :HOVER {color: blue;}             #error_box {color: #FF0000; font-size: 12px; font-weight: bold;}             #error_box_title {font-size: 14px; text-align: center;}             #goback_box {text-align: center;}             .separator {font-size:0px; height: 50px;}         </style>     </head>     <body>         <div id="error_box">             <div id="error_box_title">Si sono verificati i seguenti errori</div>             
                 
    {$error_str}         </div>         <div class="separator"></div>         <div id="goback_box">             [url="javascripthistory.go(-1)"]Torna Indietro[/url]         </div>     </body> </html> END_HEREDOC;     exit;     }          // PREPARE HEADERS     $headers = '';     $headers .= "Content-Typetext/plain\n";     $headers .= "From: {$_SERVER['REMOTE_ADDR']}\n";     $headers .= "SubjectFormMail da {$_CONFIG_VAR['backname']}\n";     if (count($destinationEmail) > 0)        $headers .= "Bcc" . implode(',', $destinationEmail) . "\n";     $headers .= "\n";          // PREPARE BODY     $body = '';     $body .= "Ti è stata inviata una richiesta dall'OUTLET dal seguente utente:\n";     $body .= "  - IP: {$_SERVER['REMOTE_ADDR']}\n";     $body .= "  - USERAGENT: {$_SERVER['HTTP_USER_AGENT']}\n";     $body .= "In data " . date('d/m/Y') . " alle ore " . date('H:i:s') . "\n";     $body .= "\n";     $body .= "Il Modulo Je Suis contiene le seguenti informazioni:\n";          while (list($key, $value) = each($_POST)) {         $key = ucwords(str_replace('_', ' ', $key));         $body .= "  - {$key}: {$value}\n";     }          $body .= "\n";      // SEND MAIL     $ris = @mail($_CONFIG_VAR['yourmail'],  "FormMail da {$_CONFIG_VAR['backname']}", $body, $headers);          // CHECK RESULT     if ($ris) {         echo <<< END_HEREDOC <html>     <head>         <title>{$_CONFIG_VAR['backname']} - E-Mail Inviata</title>         <style>             BODY { font-family: Verdana; font-size: 12px;}             A, :LINK, :VISIT, :HOVER {color: blue;}             #ok_box {color: #00FF00; font-size: 14px; font-weight: bold;}             #goback_box {text-align: center;}             .separator {font-size:0px; height: 50px;}         </style>     </head>     <body>         <div id="ok_box">             E-Mail Inviata correttamente!         </div>         <div class="separator"></div>         <div id="goback_box">             [url="{$_CONFIG_VAR['backurl']}"]Torna a {$_CONFIG_VAR['backname']}[/url]         </div>     </body> </html> END_HEREDOC;     exit;     } else {         echo <<< END_HEREDOC <html>     <head>         <title>{$_CONFIG_VAR['backname']} - E-Mail Inviata</title>         <style>             BODY { font-family: Verdana; font-size: 12px;}             A, :LINK, :VISIT, :HOVER {color: blue;}             #error_box {color: #FF0000; font-size: 14px; font-weight: bold;}             #goback_box {text-align: center;}             .separator {font-size:0px; height: 50px;}         </style>     </head>     <body>         <div id="error_box">             Errore durante l'invio della mail!         </div>         <div class="separator"></div>         <div id="goback_box">             [url="{$_CONFIG_VAR['backurl']}"]Torna a {$_CONFIG_VAR['backname']}[/url] - [url="javascript: location.reload()"]Riprova ad inviare[/url]         </div>     </body> </htmlEND_HEREDOC;     exit;     } ?>

  3. #3
    <?php

    /**********************************
    * FormMail Sviluppato *
    * *
    **********************************/


    // NON TOCCARE!
    define('ONLY_NUMBERS' , '/[0-9]+/');
    define('ONLY_LETTERS' , '/[a-z]+/i');
    define('ONLY_LETTERS_WITH_SPACE' , '/[a-z ]+/i');
    define('ONLY_LETTERS_WITH_SPECIAL_CHARS' , '/[a-z_@!?#\/*+ùàòèéì -]+/i');
    define('NUMBERS_AND_LETTERS' , '/[a-z0-9]+/i');
    define('NUMBERS_AND_LETTERS_WITH_SPACE' , '/[a-z0-9 ]+/i');
    define('NUMBERS_AND_LETTERS_WITH_SPECIAL_CHARS' , '/[a-z0-9_@!?#\/*+ùàòèéì -]+/i');
    define('EMAIL_ADDRESS' , '/[a-z0-9_]+@[a-z0-9_]+\.[a-z]{2,6}/');

    ################################################## ####################
    # #
    # MODIFICARE DA QUI... #
    # #
    ################################################## ####################

    // Per creare i propri set di caratteri personali guardare il manuale PHP all'indirizzo
    define('YOUR_CHARSET_NAME_HERE' , '/YOUR_CHARSET_HERE/');

    // CONFIG VAR
    $_CONFIG_VAR = array(
    'backurl' => '../outlet/conferma_prenotazione.htm', // L'indirizzo a cui essere inviati dopo l'invio della mail
    'backname' => 'Outlet', // Nome del sito
    'yourmail' => 'michele@xxx.it' // Indirizzo email a cui inviare il contenuto del form

    );

    // CHECK VALUES
    $regexp = array(
    'NOME_CAMPO_FORM1' => ONLY_LETTERS_WITH_SPACE,
    'NOME_CAMPO_FORM3' => NUMBERS_AND_LETTERS,
    'NOME_CAMPO_FORM2' => EMAIL_ADDRESS
    );

    // Elenco dei campi di destnazione aggiuntivi oltre a quello di default
    // ATTENZIONE: è necessario eliminare i vari elementi altrimenti non
    // usati altrimenti si otterrà probabilmente un errore
    // durante l'invio!!!
    $destinationEmail = array(
    );

    // Questo campo permette di escludere i campi vuoti,
    // se questi non debbano essere controllati nella forma
    $showEmptyFields = true;

    ################################################## ####################
    # #
    # ...A QUI! NON TOCCARE O SI VERIFICHERANNO MALFUNZIONAMENTI! #
    # #
    ################################################## ####################


    $errors = array();

    if (count($_POST) == 0) {
    echo <<< END_HEREDOC
    <html>
    <head>
    <title>{$_CONFIG_VAR['backname']} - Errore!!!</title>
    <style>
    BODY { font-family: Verdana; font-size: 12px;}
    A, :LINK, :VISIT, :HOVER {color: blue;}
    #error_box {color: #FF0000; font-size: 14px; font-weight: bold;}
    #goback_box {text-align: center;}
    .separator {font-size:0px; height: 50px;}
    </style>
    </head>
    <body>
    <div id="error_box">
    Nessun campo nel form mail specificato!
    </div>
    <div class="separator"></div>
    <div id="goback_box">
    Torna Indietro
    </div>
    </body>
    </html>
    END_HEREDOC;
    exit;
    }

    while (list($key, $value) = each($_POST)) {

    if (isset($regexp[$key])) {

    if (!preg_match($regexp[$key], $value)) {
    $key = ucwords(str_replace('_', ' ', $key));
    $errors[] = "- Il campo {$key} contiene caratteri non ammessi!";
    }

    } elseif (!trim($value) && $showEmptyFields === false) {

    unset($_POST[$key]);

    }

    }
    reset($_POST);

    if (count($errors) > 0) {
    $error_str = implode("
    \r\n", $errors);
    echo <<< END_HEREDOC
    <html>
    <head>
    <title>{$_CONFIG_VAR['backname']} - Errore!!!</title>
    <style>
    BODY { font-family: Verdana; font-size: 12px;}
    A, :LINK, :VISIT, :HOVER {color: blue;}
    #error_box {color: #FF0000; font-size: 12px; font-weight: bold;}
    #error_box_title {font-size: 14px; text-align: center;}
    #goback_box {text-align: center;}
    .separator {font-size:0px; height: 50px;}
    </style>
    </head>
    <body>
    <div id="error_box">
    <div id="error_box_title">Si sono verificati i seguenti errori</div>


    {$error_str}
    </div>
    <div class="separator"></div>
    <div id="goback_box">
    Torna Indietro
    </div>
    </body>
    </html>
    END_HEREDOC;
    exit;
    }

    // PREPARE HEADERS
    $headers = '';
    $headers .= "Content-Type: text/plain\n";
    $headers .= "From: {$_SERVER['REMOTE_ADDR']}\n";
    $headers .= "Subject: FormMail da {$_CONFIG_VAR['backname']}\n";
    if (count($destinationEmail) > 0)
    $headers .= "Bcc: " . implode(',', $destinationEmail) . "\n";
    $headers .= "\n";

    // PREPARE BODY
    $body = '';
    $body .= "Ti è stata inviata una richiesta dall'OUTLET dal seguente utente:\n";
    $body .= " - IP: {$_SERVER['REMOTE_ADDR']}\n";
    $body .= " - USERAGENT: {$_SERVER['HTTP_USER_AGENT']}\n";
    $body .= "In data " . date('d/m/Y') . " alle ore " . date('H:i:s') . "\n";
    $body .= "\n";
    $body .= "Il Modulo Je Suis contiene le seguenti informazioni:\n";

    while (list($key, $value) = each($_POST)) {
    $key = ucwords(str_replace('_', ' ', $key));
    $body .= " - {$key}: {$value}\n";
    }

    $body .= "\n";

    // SEND MAIL
    $ris = @mail($_CONFIG_VAR['yourmail'], "FormMail da {$_CONFIG_VAR['backname']}", $body, $headers);

    // CHECK RESULT
    if ($ris) {
    echo <<< END_HEREDOC
    <html>
    <head>
    <title>{$_CONFIG_VAR['backname']} - E-Mail Inviata</title>
    <style>
    BODY { font-family: Verdana; font-size: 12px;}
    A, :LINK, :VISIT, :HOVER {color: blue;}
    #ok_box {color: #00FF00; font-size: 14px; font-weight: bold;}
    #goback_box {text-align: center;}
    .separator {font-size:0px; height: 50px;}
    </style>
    </head>
    <body>
    <div id="ok_box">
    E-Mail Inviata correttamente!
    </div>
    <div class="separator"></div>
    <div id="goback_box">
    Torna a {$_CONFIG_VAR['backname']}
    </div>
    </body>
    </html>
    END_HEREDOC;
    exit;
    } else {
    echo <<< END_HEREDOC
    <html>
    <head>
    <title>{$_CONFIG_VAR['backname']} - E-Mail Inviata</title>
    <style>
    BODY { font-family: Verdana; font-size: 12px;}
    A, :LINK, :VISIT, :HOVER {color: blue;}
    #error_box {color: #FF0000; font-size: 14px; font-weight: bold;}
    #goback_box {text-align: center;}
    .separator {font-size:0px; height: 50px;}
    </style>
    </head>
    <body>
    <div id="error_box">
    Errore durante l'invio della mail!
    </div>
    <div class="separator"></div>
    <div id="goback_box">
    Torna a {$_CONFIG_VAR['backname']} - Riprova ad inviare
    </div>
    </body>
    </html>
    END_HEREDOC;
    exit;
    }
    ?>

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.