form informazioni - messaggio d'errore

Barbara72

Nuovo Utente
6 Set 2011
14
0
0
Ciao,
mi permetto di sottoporre ancora una volta il mio spero modesto problema con un form di richiesta informazioni.
Il problema è che QUANDO L'UTENTE COMPILA I CAMPI E INVIA LA RICHIESTA APPARE UN MESSAGGIO DI ERRORE.
Di fatto però la sua richiesta viene inviata ma lui ignaro di ciò continua a compilare una, due, tre volte finchè non si stanca...
Non sono in grado di trovare l'errore, qualcuno è in grado di aiutarmi?
Grazie
Barbara

PHP:
<?php

require_once ('../mail/Email.php');
require_once ('../gestione_email/include.php');

$ok = array ('it'=>"Grazie!<br>I tuoi dati sono stati inviati con successo", 'eng'=>'La tua richiesta &egrave; stata inviata. Riceverai una risposta al pi&ugrave; presto.');
$ko = array ('it'=>"ATTENZIONE!<br>Compila tutti i campi del form", 'eng'=>"Tutti i campi sono obbligatori");

$GLOBALS['titoli'] = array ('info'=>'Richiesta informazioni', 'form_gratis'=>'Richiesta ........', 'form_pagam'=>'Richiesta ...........');


    class send_mail
    {
    private $errori = array();
    private $numero_errori_campi ='0';
    private $is_unique='0';
    private $add_ok='1';
    
        function __construct ($array_parametri)
        {
        
            $this->array_parametri = $array_parametri;
            
        
        }
    
        public function validate()
        {
        
        
            foreach ($this->array_parametri as $nome_campo=>$valore)
            {
            
                if ($valore =='')
                {
                
                    $this->errori[$nome_campo]='1';
                
                
                }
            
            }
                        
            return $this->errori;
        
        
        }//FINE VALIDATE
        
       
        
        public function email ()
        {
        
        
        $mail = new Email ();
        
        unset ($this->array_parametri['privacy']);
        
        $tipo_messaggio = $this->array_parametri['tipo_messaggio'];

        $subject = $GLOBALS['titoli'][$tipo_messaggio];
       
        require_once "../mail_format/".'info'.".php";
	    
	    $email_from = $this->array_parametri['email'];
	   
	    $mail->From     = "$email_from";
        $mail->FromName = $this->array_parametri['nome'].' '.$this->array_parametri['cognome'];
	    	    
	    
	    
	    //print $message;

	    
	    $mail->AddAddress("[email protected]");
	    //$mail->AddAddress("[email protected]");
	    $mail->Subject = $subject;
	    $mail->Body    = "$message";
	    
	    register_shutdown_function (array($mail, 'Send'));
        
        
        
        
        }
        
      }//FINE CLASSE
      
      
      //INIZIALIZZO LA SESSIONE
      $sessione = new sessione ();
      
      
      //INIZIALIZZO LA CLASSE
      $send_mail = new send_mail ($_POST);
      
      $campi_vuoti = $send_mail->validate();
      

            
      if (count ($campi_vuoti) =='0')
      {
        
        $send_mail->email();
        
        $sessione->set (array ('campi_vuoti'=>'', 'valore_campi'=>'', 'messaggio'=>$ok[$_POST['lingua']]));
        
        redirect ('../'.$_POST[lingua].'/'.$_POST[tipo_messaggio].'.php');
        
        
      }
      else
      {
      
        $sessione->set (array ('campi_vuoti'=>$campi_vuoti, 'valore_campi'=>$_POST, 'messaggio'=>$ko[$_POST['lingua']]));
        redirect ('../'.$_POST[lingua].'/'.$_POST[tipo_messaggio].'.php');
      
      }
        
?>

HTML:
<?=$messaggio?>
  
  <form id="form1" name="form1" method="post" action="send.php">
      
      <INPUT TYPE="hidden" NAME="tipo_messaggio" VALUE="info" />
      <INPUT TYPE="hidden" NAME="lingua" VALUE="it" />
      
      <label> Azienda
      <input type="text" name="azienda" value="<?print $dati_form['azienda']?>" />
      </label>
	  
        Nome
          <input type="text" name="nome" value="<?=$dati_form['nome']?>" />
	  
	  Cognome
        <input type="text" name="cognome" value="<?=$dati_form['cognome']?>" />
	  
	  Indirizzo Aziendale
        <input type="text" name="indirizzo"  value="<?=$dati_form['indirizzo']?>" />
	  
	  Numero Civico
        <input type="text"  name="numero_civico" value="<?print $dati_form['numero_civico']?>" />
	  
	  Provincia
        <input name="provincia" type="text"  size="60" value="<?=$dati_form['provincia']?>" />
	  
	  CAP
       <input name="cap" type="text" class="style2" size="60" value="<?=$dati_form['cap']?>" />
	  
      <label> Citt&agrave;
      <input type="text" name="citta" value="<?=$dati_form['citta']?>" />
      </label>
	  
	  E-Mail
        <input type="text" name="email" value="<?=$dati_form['email']?>" />
	  
	  Telefono
	  <input type="text" name="telefono" value="<?=$dati_form['telefono']?>" />
	  
	  Carica Aziendale
        <input type="text" name="carica" value="<?print $dati_form['carica']?>" />
	  
	  <label>
	  Attivit&agrave; dell'azienda 
	  <input type="text" name="attivita" value="<?=$dati_form['attivita']?>" />
      </label>
	  
	  Richiesta
        <textarea name="richiesta" rows="5" class="dati"><?=$dati_form['richiesta']?></textarea>
			  
        <label>
        <textarea name="privacy" rows="3" class="dati">Normativa sulla Privacy ai sensi del D.Lgs. n. 196/2003
I dati personali vengono raccolti da ....
        </textarea>
        
        <INPUT NAME="trattamento" TYPE="checkbox" CLASS="check" VALUE="si" CHECKED="checked" />
        </label>
        Autorizzo al trattamento dei dati.</p>
      <p>
        <label>
        <input type="submit"  value="invia" />
        </label>
      </p>
  </form>
 
Delimitatori deprecati (ad es. "<?"), inclusioni i pagine effettuate tramite parametri di input non validati (ad es. "$_POST[tipo_messaggio].'.php'"), valori non quotati (ad es. "$_POST[lingua]"), variabili esplose senza motivo (ad es. "$mail->From = "$email_from";").
Abbandona questo script e usa PhpMailer.
 

Discussioni simili