Vai al contenuto

Problema form php


patriziou

Messaggi raccomandati

ciao a tutti ragazzi ho un problema con questo form nella parte del php mi spiego meglio:

 <form action="riuscito.php" method="POST" content_type="multipart/alternative" enctype="multipart/form-data" target="_blank">           
     <p><span>Oggetto</span><input class="contact" type="text" name="oggetto" value="" /></p>       
     <p><span>E-mail</span><input class="contact" type="text" name="email" value="" /></p>           
 <p><span>Messaggio</span><textarea class="contact textarea" rows="8" cols="50" name="messaggio"></textarea></p>         
   <p><img src="captcha.php" /><br/><br/>    Inserisci il codice che vedi: <input type="text" name="cpt" />                        <p style="padding-top: 15px"><span> </span>
<input class="submit" type="submit" name="submit" value="Invia" /></p>                       </form>

codice php:

<?php 
if (isset($_POST['submit'])) {
    $oggetto=$_POST['oggetto'];  
  $email=$_POST['email']; 
   $messaggio=$_POST['messaggio'];  
  if (!empty($oggetto)) {   
     if (!empty($email)) {  
          if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {      
          if (!empty($messaggio)) {                  
  if($_SESSION["cpt"]=$_POST["cpt"]) {               
             $testo_del_messaggio="Oggetto: $oggetto\n";                            $testo_del_messaggio.="Email: $email\n";                            $testo_del_messaggio.="Messaggio: $messaggio\n";                            $esito=mail("esempio@mail.com","Messaggio di $nome ($email)", $testo_del_messaggio);                            if ($esito) {            
                    echo "Esito: Messaggio inviato, ripsonderemo appena possibile!";                            } else {            
                    echo "Errore: Non è stato possibile inviare il messaggio!";                            }                  
      } else {               
         echo "Errore: Il Codice di verifica non è corretto!";                        }                    }                } else {    
                echo "Errore: Manca il Messaggio!";                }    
        } else {             
   echo "Errore: Formato Email non corretto!";            }    
    } else {         
   echo "Errore: Manca un indirizzo Email!";        }   
 } else {       
 echo "Errore: Manca l' oggetto!";    }
 ?>

Praticamente dopo aver compilato tutti i campi mi dà errore manca il messaggio, nonostante sia stato compilato quel modulo, ho provato anche a cambiare if (!empty($messaggio)) in if ($messaggio!= "") o diverso da una variabile vuota ma niente, qual è il problema? Grazie

Link al commento
Condividi su altri siti

sono sbagliate le parentesi graffe.

in generale annidare così gli if rende il codice poco gestibile e poco leggibile.

puoi ottenere lo stesso risultato senza che ti si incrocino gli occhi....

<?php 

if (isset($_POST['submit'])) 
{
	$oggetto=$_POST['oggetto'];  
	$email=$_POST['email']; 
	$messaggio=$_POST['messaggio'];  
	
	$errore = "";
	
  	if (!$oggetto) {
  		$errore .= "Errore: Manca l' oggetto!<br>";
  	}
  	
  	if (!$email) {
  		$errore .= "Errore: Manca un indirizzo Email!<br>";
  	}
  	elseif(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  		$errore .= "Errore: Formato Email non corretto!<br>";
  	}
  	
  	if (!$messaggio) {
  		$errore .= "Errore: Manca il Messaggio!<br>";
  	}
  	
  	if($_SESSION["cpt"] != $_POST["cpt"]) {
  		$errore .= "Errore: Il Codice di verifica non è corretto!";
  	}


	if(!$errore) {
		$testo_del_messaggio="Oggetto: $oggetto\n";
		$testo_del_messaggio.="Email: $email\n";
		$testo_del_messaggio.="Messaggio: $messaggio\n";

		$esito=mail("esempio@mail.com","Messaggio di $nome ($email)", $testo_del_messaggio);		

		if ($esito) {            
			echo "Esito: Messaggio inviato, risponderemo appena possibile!";
		} else {            
			echo "Errore: Non è stato possibile inviare il messaggio!";
		}
	}
	else {
		echo $errore;
	}
}

?>

An  a tuesday keeps the doctor away.

proud member of < noi finti professionisti > club - tessera 044

Link al commento
Condividi su altri siti

Archiviato

Questa discussione è archiviata e chiusa a future risposte.

×
×
  • Crea Nuovo...