Visualizzazione dei risultati da 1 a 2 su 2

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    14

    pagine errore form mail + captcha

    Bungiorno ed auguri a tutti. Ho installato sul server che ospita il mio sito web un modulo di richiesta di informazioni con controllo captcha. Ho però un problema con le 5 pagine di errore: "risposta", "errore_campi_vuoti", "errore_email", "errore_condizioni", "errore_referer", non vengono visualizzate, con errore di caricamento pagina del browser. di seguito il codice "inviamail.php"
    Codice PHP:
    <?php session_start(); ?>
    <?php 
    include_once $_SERVER['DOCUMENT_ROOT'] . '/inviamail_captcha/securimage.php';
    $securimage = new Securimage();
    if (
    $securimage->check($_POST['captcha_code']) == false) {
      
      
    // Pagina errore codice captcha errato
      
      // PAGINA ERRORE NON PERSONALIZZABILE
      // abilitare la riga sottostante se si desidera far apparire l'errore di codice errato su una pagina non personalizzabile e disabilitare la riga inferiore che contiene il codice della pagina personalizzabile
      // die('<h2>E R R O R E</h2><h4>Il codice di controllo CAPTCHA inserito è errato.<br><a href="javascript:history.go(-1)" target="_top">Torna indietro e riprova</a></h4>');

      // PAGINA ERRORE PERSONALIZZABILE
      // abilitando la riga sottostante l'errore di codice errato apparirà su una pagina personalizzabile,in questo caso è necessario disabilitare la riga superiore che contiene il codice della pagina non personalizzabile
         
    header("Location: errore_captcha.php?errore=1");

    exit;
    }
    ?>
    <?php
    $email
    =$_POST['email'];


    #######################################
    #######################################
    #######################################
    #     IMPOSTAZIONI DA CONFIGURARE     #
    #######################################

    //(1) indirizzo email del destinatario del modulo
    $destinatario "info@traninnolienannoli.it";

    //(2) indirizzo email del mittente, campo FROM
    //    non toccare se desiderate che l'indirizzo email inserito nel modulo sia
    //    riportato nel campo DA del messaggio che sar  ricevuto.
    //    Se invece desiderate un campo fisso annullare la prima riga e abilitare
    //    la seconda inserendo la dicitura desiderata (per annullare mettere //
    //    all'inizio della prima riga e per abilitare togliere // dalla seconda riga)
    $nome_mittente "$email";
    // $nome_mittente = "Dal Modulo";

    //(3) oggetto del messaggio
    $oggetto_email "Modulo inviato dal sito Tra Ninnoli & Nannoli";

    //(4) se si vogliono rendere tutti i campi NON OBBLIGATORI impostare su "y".
    //    (valori possibili: "y" e "n")
    $all_free "n";

    //(5) se avete messo "n" al punto (4) inserire tra virgolette, separati
    //    dalla virgola, i nomi dei campi da rendere OBBLIGATORI
    //    Esempio: $campi_req = array("nome","telefono","via");
    $campi_req = array("nome","email""note");

    //(6) controllo validit  del campo email. (valori possibili: "y" e "n")
    $obbligo_email "y";

    //(7) obbligare l'utente ad accettare le condizioni.
    //    (valori possibili: "y" e "n")
    $accetta_condizioni "y";

    //(8) URL della pagina di ringraziamento
    $pagina_grazie "http://www.traninoliernannoli.it/inviamail_captcha/risposta.htm";

    //(9) URL della pagina errore campi vuoti
    $pagina_error_empty "http://www.traninoliernannoli.it/inviamail_captcha/errore_campi_vuoti.htm";

    //(10) URL della pagina errore email
    $pagina_error_email "http://www.traninoliernannoli.it/inviamail_captcha/errore_email.htm";

    //(11) URL della pagina errore condizioni non accettate
    $pagina_error_condizioni "http://www.traninoliernannoli.it/inviamail_captcha/errore_condizioni.htm";

    //(12) URL della pagina errore invio non autorizzato (mancanza di referer)
    $pagina_error_referer "http://www.traninoliernannoli.it/inviamail_captcha/errore_referer.htm";

    #######################################
    #  FINE IMPOSTAZIONI DA CONFIGURARE   #
    #######################################

    //ora e data
    $ora date ("H:i:s"); 
    $data date ("d/m/Y");

    //intestazione email che arriva al destinatario
    $corpo "
    Modulo inviato il 
    $data alle ore $ora
    Riepilogo dati:\n\n"
    ;

    //============== NON TOCCARE NULLA OLTRE QUESTA RIGA ==================
    // tranne se volete abilitare l'invio ad altri indirizzi di posta, questi
    // valori sono da abilitare nel settore  ########### HEADER EMAIL ###########
    //

    ########### CODICI ###########

    //variabili per rendere lo script compatibile anche con la versione PHP 4.2 e maggiori
    if(!isset($_SERVER) OR !$_SERVER OR !is_array($_SERVER) OR count(array_diff($_SERVER$HTTP_SERVER_VARS))){  
    $_POST = &$HTTP_POST_VARS
    }

    //prende IP ADDRESS
    if(isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
        
        if (
    $_SERVER["HTTP_X_FORWARDED_FOR"] == "") {

    $ipnumb getenv("REMOTE_ADDR");

            }else {

    $ipnumb getenv("HTTP_X_FORWARDED_FOR");

                }

            } else {

    $ipnumb getenv("REMOTE_ADDR");
            }
    ###################################

    //controllo referer
    if(empty($_SERVER["HTTP_REFERER"])){

        
    header ("Location: $pagina_error_referer");
        exit();
        
        }

    ########### CONTROLLO DEI CAMPI ###########
    $control_campi 0;

    if(
    $all_free != "y"){

        foreach(
    $_POST as $key => $valore){

            if(
    in_array($key,$campi_req)){

                if(
    trim($valore) == ""){

                
    $control_campi++;
                
                                        } 

                                    }

                                }

                            } else {

                
    $control_campi 0;    

                                    }                    

    ########### CONTROLLO EMAIL ###########
    $control_email 0;

    if(
    $obbligo_email == "y"){

        if(isset(
    $_POST['email'])){

            if(!
    eregi("^([a-zA-Z0-9_.-])+@(([a-zA-Z0-9_-])+.)+[a-z]{2,6}$"$_POST['email'])){

            
    $control_email++;

                                }

                            } else {

            
    $control_email 0;

                                }

                            }

    ########### CONTROLLO CONDIZIONI ###########
    $control_condizioni 0;

    if(
    $accetta_condizioni == "y"){

        if(isset(
    $_POST['trattamento_dati']) && $_POST['trattamento_dati'] == "accetto"){

            
    $control_condizioni 0;

                } else {

            
    $control_condizioni ++;

                }

            }

    ########### INVIO EMAIL ###########
    if($control_campi == 0){

            if(
    $control_email == 0){

                if(
    $control_condizioni == 0){

    foreach(
    $_POST as $key => $valore){

    $key ucfirst(stripslashes(trim($key)));
    $valore stripslashes(trim($valore));
    $key str_replace("_"," ",$key);

                if(
    trim($valore) == ""$valore "Non compilato";
                
                    
    $corpo .= $key .": "$valore ."\n\n";

                }
                
                    
    $corpo .= "IP del mittente: $ipnumb"."\n";

    $corpo .= "____________________________________________________________ \n\n

    "
    ;

    // ########### HEADER EMAIL ###########

    $headmail.="From: $nome_mittente <$nome_mittente>\n";
    $headmail.="Return-Path: $nome_mittente\n";
    //
    // #######################################
    // abilitare Reply-To se si desidera inviare la posta ad un altro indirizzo
    // visibile e che deve essere inserito al posto di email@dominio.tld
    // per abilitarlo togliere // prima di $headmail.="Reply-To: email@dominio.tld\n";
    //
    // $headmail.="Reply-To: email@dominio.tld\n";
    //
    // #######################################
    // abilitare BCC se si desidera inviare la posta ad un altro indirizzo NON
    // visibile e che deve essere inserito al posto di email@dominio.tld
    // per abilitarlo togliere // prima di $headmail.="BCC: email@dominio.tld\n";
    //
    // $headmail.="BCC: email@dominio.tld\n";
    //
    // #######################################
    //
    $headmail.="User-Agent: Php Mail Function\n";
    $headmail.="X-Accept-Language: en-us, en\n";
    $headmail.="MIME-Version: 1.0\n";
    $headmail.="X-Priority: 1 (Highest)\n"// 2 = urgente - 3 = normale
    $headmail.="Content-Type: text/plain; charset=ISO-8859-1; format=flowed\n";
    $headmail.="Content-Transfer-Encoding: 7bit\n";

    ini_set('sendmail_from'"$destinatario");
    mail("$destinatario""$oggetto_email""$corpo""$headmail");

                    
    header ("Location: $pagina_grazie");

                                    } else {

                    
    header ("Location: $pagina_error_condizioni");

                                }

                            } else {

                    
    header ("Location: $pagina_error_email");

                            }

                        } else {

                        
                    
    header ("Location: $pagina_error_empty");

                        }

    ?>
    Vi ringrazio per tutti i suggerimenti.
    Ultima modifica di mais; 27-12-2014 a 13:51

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    14

    risolto

    Buongiorno, ho risolto. Banalmente nelle linee da 8 a 12 che contengono le URL ho modificato l'estenzione da htm ad html. Ora funziona tutto alla perfezione

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.