Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    controllo mail nel modulo php

    Salve. Ho realizzato questo modulo finalmente funzionante! L'unico problema è che se metto il campo obbligatorio nella mail (oltre a nome, cognome e telefono) trova qualche script errato per cui pur scrivendo bene l'indirizzo non invia il modulo. Ovviamente è un modulo scaricato e riadattato da me...però non riesco a capire qual'è l'errore nel controllo del campo mail.

    grazie


    modulo:

    http://www.unifilmservice.com/m/contatti.html


    posto sotto il file.php:


    <?
    /*
    formail completo, è possibile aggiungere qualunque campo
    è sufficiente inserire le due pagine in un punto qualunque
    del proprio dominio.
    by linkbruttocane
    */

    //INIZIO PARAMETRI DA SETTARE OBBLIGATORIAMENTE
    /************************************************** **************************************/
    // Il parametro $delay indica i secondi di ritardo impiegati
    // a riportare l'utente all'home page dopo che abbia
    // compilato correttamente il modulo

    $delay = "5";

    // Il parametro $url indica la pagina alla quale si viene
    // rimandati una volta compilato correttamente il modulo
    // io ho messo una homepage, ma potrebbe essere qualunque altra pagina

    $url = "http://www.unifilmservice.com";

    // Il parametro $provenienza indica le possibili provenienze dei dati: indicare
    // il proprio dominio nella forma mostrata dall'esempio

    $provenienza = array ('unifilmservice.com','www.unifilmservice.com');

    // Il parametro $esclusioni vi permette di NON consentire
    // messaggi da un indirizzo mail specificato
    // sia appartenente ad un dominio, ovvero
    // 'tutte le mail che appartengono ad un dominio'
    // od anche a singoli account

    $esclusioni = array ('*@quellochetipare.com', 'nomechetipare@dominio.com', 'altro@dominio.com');


    //FINE PARAMETRI DA SETTARE OBBLIGATORIAMENTE
    /************************************************** **************************************/

    $email = $_POST['E-mail'];

    $versione_form = "stabile";

    function print_error($reason,$type = 0) {
    global $versione_form;
    build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet);
    if ($type == "missing") {
    ?>
    <body bgcolor='#FFFFFF'>
    <p align='center'></p>
    <p align='center'><font face='Arial' color='#666666' size='2'>Il modulo non è
    stato inviato per le seguenti ragioni</font>:

    </p>
    <p align='center'><font face='Arial' size='2' color='#666666'>
    <?
    echo $reason."\n";
    ?>
    </font>
    <p align='center'></p>
    <p align='center'><font face='Arial' size='2' color='#666666'>Premere indietro
    nel browser e riprovare.
    </font></p>
    <?
    } else { // every other error
    ?>
    <font size="2" face="Arial">Il modulo non è stato inviato per le seguenti ragioni:</font>
    <p align='center'>
    <?
    }
    echo "

    \n";

    exit;
    }


    function check_banlist($esclusioni, $email) {
    if (count($esclusioni)) {
    $allow = true;
    foreach($esclusioni as $banned) {
    $temp = explode("@", $banned);
    if ($temp[0] == "*") {
    $temp2 = explode("@", $email);
    if (trim(strtolower($temp2[1])) == trim(strtolower($temp[1])))
    $allow = false;
    } else {
    if (trim(strtolower($email)) == trim(strtolower($banned)))
    $allow = false;
    }
    }
    }
    if (!$allow) {
    print_error("Stai usando un indirizzo email escluso.");
    }
    }


    function check_referer($provenienza) {
    if (count($provenienza)) {
    $found = false;
    $temp = explode("/",getenv("HTTP_REFERER"));
    $referer = $temp[2];
    for ($x=0; $x < count($provenienza); $x++) {
    if (eregi ($provenienza[$x], $referer)) {
    $found = true;
    }
    }
    if (!getenv("HTTP_REFERER"))
    $found = false;
    if (!$found){
    print_error("Provieni da un dominio non autorizzato.");
    error_log("[FormMail.php] Illegal Referer. (".getenv("HTTP_REFERER").")", 0);
    }
    return $found;
    } else {
    return true; //
    }
    }
    if ($provenienza)
    check_referer($provenienza);

    if ($esclusioni)
    check_banlist($esclusioni, $email);


    function parse_form($array) {
    // build reserved keyword array
    $reserved_keys[] = "required";
    $reserved_keys[] = "redirect";
    $reserved_keys[] = "email";
    $reserved_keys[] = "require";
    $reserved_keys[] = "contenitore";
    $reserved_keys[] = "titolo";
    $reserved_keys[] = "bgcolor";
    $reserved_keys[] = "text_color";
    $reserved_keys[] = "link_color";
    $reserved_keys[] = "vlink_color";
    $reserved_keys[] = "alink_color";
    $reserved_keys[] = "title";
    $reserved_keys[] = "missing_fields_redirect";
    $reserved_keys[] = "invia_Dati";
    if (count($array)) {
    while (list($key, $val) = each($array)) {

    $reserved_violation = 0;
    for ($ri=0; $ri<count($reserved_keys); $ri++) {
    if ($key == $reserved_keys[$ri]) {
    $reserved_violation = 1;
    }
    }

    if ($reserved_violation != 1) {
    if (is_array($val)) {
    for ($z=0;$z<count($val);$z++) {
    $content .= "$key: $val[$z]\n";
    }
    } else {
    $content .= "$key: $val\n";
    }
    }
    }
    }
    return $content;
    }


    function mail_it($content, $titolo, $email, $contenitore) {
    mail($contenitore, $titolo, $content, "From: $email\r\nReply-To: $email\r\nX-Mailer: DT_formmail");
    }


    function build_body($title, $bgcolor, $text_color, $link_color, $vlink_color, $alink_color, $style_sheet) {
    if ($style_sheet)
    echo "<LINK rel=STYLESHEET href=\"$style_sheet\" Type=\"text/css\">\n";
    if ($title)
    echo "<title>$title</title>\n";
    if (!$bgcolor)
    $bgcolor = "#FFFFFF";
    if (!$text_color)
    $text_color = "#666666";
    if (!$link_color)
    $link_color = "#0000FF";
    if (!$vlink_color)
    $vlink_color = "#FF0000";
    if (!$alink_color)
    $alink_color = "#000088";
    if ($background)
    $background = "background=\"$background\"";
    echo "<body bgcolor=\"$bgcolor\" text=\"$text_color\" link=\"$link_color\" vlink=\"$vlink_color\" alink=\"$alink_color\" $background>\n\n";
    }

    $contenitore_finale = split(',',$contenitore);
    for ($i=0;$i<count($contenitore_finale);$i++) {
    $contenitore_to_test = trim($contenitore_finale[$i]);
    if (!eregi("^[_\\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\\.)+[a-z]{2,3}$", $contenitore_to_test)) {
    print_error("Occorre un indirizzo email valido per continuare ($contenitore_to_test) ");
    }
    }


    if ($required)
    $require = $required;

    if ($require) {

    $require = ereg_replace( " +", "", $require);
    $required = split(",",$require);
    for ($i=0;$i<count($required);$i++) {
    $string = trim($required[$i]);

    if((!(${$string})) || (!(${$string}))) {

    if ($missing_fields_redirect) {
    header ("Location: $missing_fields_redirect");
    exit;
    }
    $require;
    $missing_field_list .= "Compilare il campo: $required[$i]
    \n";
    }
    }

    if ($missing_field_list)
    print_error($missing_field_list,"missing");
    }


    if (($email) || ($EMAIL)) {
    $email = trim($email);
    if ($EMAIL)
    $email = trim($EMAIL);
    if (!eregi("^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3}$", $email)) {
    print_error("il suo indirizzo email non è valido");
    }
    $EMAIL = $email;
    }






    $content = parse_form($HTTP_POST_VARS);




    if ($invia_Dati) {
    $invia_Dati = ereg_replace( " +", "", $invia_Dati);
    $splitta_Dati = split(",",$invia_Dati);
    $content .= "\n------ variabili utente ------\n";
    for ($i=0;$i<count($splitta_Dati);$i++) {
    $string = trim($splitta_Dati[$i]);
    if ($splitta_Dati[$i] == "REMOTE_HOST")
    $content .= "REMOTE HOST: ".$REMOTE_HOST."\n";
    else if ($splitta_Dati[$i] == "REMOTE_USER")
    $content .= "REMOTE USER: ". $REMOTE_USER."\n";
    else if ($splitta_Dati[$i] == "REMOTE_ADDR")
    $content .= "REMOTE ADDR: ". $REMOTE_ADDR."\n";
    else if ($splitta_Dati[$i] == "HTTP_USER_AGENT")
    $content .= "BROWSER: ". $HTTP_USER_AGENT."\n";
    }
    }


    if (!$titolo)
    $titolo = "Modulo dal sito";

    mail_it(stripslashes($content), stripslashes($titolo), $email, $contenitore);


    if ($redirect) {
    header ("Location: $redirect");
    exit;
    } else {
    print "<body bgcolor='#FFFFFF'>

    <p align='center'></p>
    <p align='center'><font face='Arial' size='2' color='#666666'>Grazie per averci contattato!</font></p>
    <p align='center'><font face='Arial' size='2' color='#666666'>Riceverete risposta all'indirizzo da voi indicato $email

    [i]<p align='center'></p>
    <p align='center'><font face='Arial' size='2' color='#666666'>Ritorno automatico alla home page in corso....</font></p><meta http-equiv='refresh' content='$delay; url=$url'>

    <p align='center'></p>

    </body>
    ";
    echo "

    \n";

    exit;
    }

    // <---------- fine ----------> //
    ?>

  2. #2
    Sposto sul forum PHP.

    Occhio perché è la seconda volta che scrivi un messaggio sul PHP all'interno del forum XHTML
    FEDERIX.IT - [Pillola] GRAFICA DEI FORM

    ...ho ancora quella forza che ti serve, quando dici "Si comincia!"

  3. #3

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 © 2024 vBulletin Solutions, Inc. All rights reserved.