PhpMailer SELECT e OPTION

  • Creatore Discussione Creatore Discussione newanfa
  • Data di inizio Data di inizio
Allora...Il form semplice per l'invio dei 2 allegati a 6 destinatari sta nella stessa pagina HTML del form per l'invio della squadra...Però il primo form lo collego ad una pagina php e questo(il secondo) ad un'altra pagina. Mi raccomando che uno può scegliere se allegare 1 o 2 file senza che gli dia errore.



Un'altra cosa. Se voglio aggiungere al posto di un solo allegato, 2 allegati nello script della squadra (ti ricordi dove c'era il controllo famoso che la mai partiva se almeno uno tra mess, squadra o allegato era compilato) come devo modificarlo? Anche qui con la possibilità che uno scelga o 1 o tutti e 2 gli allegati senza che gli dia errore...e naturalmente lasciando il vecchio controllo. Cioè tutto intatto con l'aggiunta che uno può scegliere di inviare o 1 o 2 allegati.


GRAZIE INFINITE E SCUSA IL DISTURBO MA SOLO TU MI PUOI AIUTARE ORAMAI!







ciao
ci do un occhio e poi posto.
è una nuova pagina o una integrazione del vecchio script?
 
ciao
la parte degli allegati: per inviare uno o due allegati.
se però uno è errato o non viene caricato (es. exe) l'email non parte.
cioe se invii due allegati devono essere ENTRAMBI corretti e caricati, questo per ragioni di sicurezza, anche se di sicurezza non ne hai molta in quanto
permetti il caricamento di file compressi e html che possono contenere un bel js (anche i doc non sono molto sicuri)
PHP:
<?php
//......
if($_FILES['allegato_1']['tmp_name'] !="" || $_FILES['allegato_2']['tmp_name']){//guarda non so come hai chiamato i campi di input file
    $ammessi=array('pdf', 'eps', 'psd', 'rar', 'zip', 'csv', 'xml', 'htm', 'html', 'xlsx', 'xls', 'jpg', 'JPG', 'png', 'gif', 'doc', 'docx', 'docm', 'rtf', 'txt');//aggiungi o togli le estenzioni che ti servono
	if($_FILES['allegato_1']['tmp_name'] !=""){
		$estenzione_1=pathinfo($_FILES['allegato_1']['name'], PATHINFO_EXTENSION);
		if(in_array($estenzione_1,$ammessi )){//è un file consentito
			if (move_uploaded_file($_FILES['allegato_1']['tmp_name'], $_FILES['allegato']['name'])){
            	$allegato_1=$_FILES['allegato_1']['name'];;
            	//la variabile $allegato si riempie seolo se l'allegato è valido e caricato
        	}else{
            	$ok_ko.="Errore nel caricamento dell'allegato 1, riprova piu tardi! A T T E N D I. . .<br>";
        	}
		}else{
			$ok_ko.="l'allegato 1 è un tipo non ammesso, l'email non verrà invita";//
		}
	}else{
		$allegato_1="";
	}
	if($_FILES['allegato_2']['tmp_name'] !=""){
		$estenzione_2=pathinfo($_FILES['allegato_2']['name'], PATHINFO_EXTENSION);
		if(in_array($estenzione_2,$ammessi )){//è un file consentito
			if (move_uploaded_file($_FILES['allegato_2']['tmp_name'], $_FILES['allegato']['name'])){
            	$allegato_1=$_FILES['allegato_2']['name'];;
            	//la variabile $allegato si riempie seolo se l'allegato è valido e caricato
        	}else{
            	$ok_ko.="Errore nel caricamento dell'allegato 2, riprova piu tardi! A T T E N D I. . .<br>";
        	}
		}else{
			$ok_ko.="l'allegato 2 è un tipo non ammesso, l'email non verrà invita";//
		}
	}else{
		$allegato_2="";
	}
}
//......
//nella parte di phpmailer
	if($allegato_1 !=""){
        $mail->AddAttachment($allegato_1);  //allegato appena caricato sul server  se esiste
    } 
	if($allegato_2 !=""){
        $mail->AddAttachment($allegato_2);  //allegato appena caricato sul server  se esiste
    } 
//eccetera
	if(file_exists($path.$allegato_1)) {//verifichi che sia stato caricato
        unlink($path.$allegato_1);// e lo elimini
    } 
	if(file_exists($path.$allegato_2)) {//verifichi che sia stato caricato
        unlink($path.$allegato_2);// e lo elimini
    } 
//..........
?>
per inviare a 6 fissi puoi fare
$mail->AddAddress("pinco_1@pallo.it");
$mail->AddAddress("pinco_2@pallo.it");
....
$mail->AddAddress("pinco_6@pallo.it");
 
Allora ci sono degli errori:
Il PHP è:
PHP:
<?php
//***** inizio verifiche dai post
//metto un mesaggio di errore a vuoto
$ok_ko="";
$mittente="Il Presidente";
$mittente_mail="minolightouch@libero.it"; 
$oggetto= $_POST['oggetto'];
$messaggio=htmlspecialchars(trim($_POST['messaggio']));
if($_FILES['allegato1']['tmp_name'] !="" || $_FILES['allegato2']['tmp_name']){
	$ammessi=array('pdf', 'eps', 'psd', 'rar', 'zip', 'csv', 'xml', 'htm', 'html', 'xlsx', 'xls', 'jpg', 'JPG', 'png', 'gif', 'doc', 'docx', 'docm', 'rtf', 'txt');//aggiungi o togli le estenzioni che ti servono
    if($_FILES['allegato1']['tmp_name'] !=""){ 
    $estenzione1=pathinfo($_FILES['allegato1']['name'], PATHINFO_EXTENSION);
	if(in_array($estenzione1,$ammessi )){//è un file consentito
            if (move_uploaded_file($_FILES['allegato1']['tmp_name'], $_FILES['allegato']['name'])){
                $allegato1=$_FILES['allegato1']['name'];; 
            //la variabile $allegato1 si riempie seolo se l'allegato è valido e caricato
        }else{
			$ok_ko.="Errore nel caricamento dell'allegato 1, riprova piu tardi! A T T E N D I. . .<br>";
		}
    }else
         {
		$ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";
	}
}else{
	$allegato1="";
}
if($_FILES['allegato2']['tmp_name'] !=""){
        $estenzione2=pathinfo($_FILES['allegato2']['name'], PATHINFO_EXTENSION);
        if(in_array($estenzione2,$ammessi )){//è un file consentito
            if (move_uploaded_file($_FILES['allegato2']['tmp_name'], $_FILES['allegato']['name'])){
                $allegato1=$_FILES['allegato2']['name'];;
                //la variabile $allegato si riempie seolo se l'allegato è valido e caricato
            }else{
                $ok_ko.="Errore nel caricamento dell'allegato 2, riprova piu tardi! A T T E N D I. . .<br>";
            }
        }else{
            $ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";//
        }
    }else{
        $allegato2="";
    }
} 
//a questo punto (mi sembra) di aver fatto tutti i controlli
if($ok_ko != ""){//il messaggio di errore non è vuoto
	//mostro il messaggio e torno alla pagina del form dopo 3 secondi
	echo $ok_ko;
	echo "<meta http-equiv='Refresh' content='20; URL=http://fscg.blogspot.it/p/alexander.html'>";
}else{//non ci sono stati errori quindi tutto l'ambaradan di spedizione
    //prepato il testo in formato html	
    require_once('class.phpmailer.php'); 
	$mail = new PHPMailer();
	$mail->IsHTML(true);      // invio mail in formato HTML
	$mail->SetLanguage('it','language/');
	$mail->SetFrom($mittente_mail,$mittente);  //mittente 
	$mail->AddAddress("fabio-barba@alice.it");     //Mail destinatario1
        $mail->AddAddress("manutd2003@alice.it");      //Mail destinatario2
	//se vuoi che arrivi una copia anche al mittente lascia AddCC, altimrnti toglilo o commentalo
	$mail->AddCC($mittente_mail);  //Invio Replay al mittente
	$mail->Subject = $oggetto;     //oggetto 
	$mail->Body = $testo_html;
	if($allegato1 !=""){
    	$mail->AddAttachment($allegato1);  //allegato 1 appena caricato sul server  se esiste
	} 
        if($allegato2 !=""){
        $mail->AddAttachment($allegato2);  //allegato 2 appena caricato sul server  se esiste
        }  
	if(!$mail->Send()){
    	echo "Errore di trasmissione, riprova più tardi!"; 
	}else{
    	echo "<p>Lo Sguardo o La Giornata inviati con successo! A T T E N D I. . .</p>";
	} 
	if(file_exists($path.$allegato1)) {//verifichi che sia stato caricato
    	unlink($path.$allegato1);// e lo elimini
	} 
        if(file_exists($path.$allegato2)) {//verifichi che sia stato caricato
        unlink($path.$allegato2);// e lo elimini
        }  
	//e torni al for, se vuoi da qualche altra parte cambia il nome del file
	echo "<meta http-equiv='Refresh' content='4; URL=http://fscg.blogspot.it/p/alexander.html'>";
}
?>

e l'HTML è:
HTML:
<!--Form invio SGUARDO e GIORNATA del Presidente-->
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://fabiobarba.altervista.org/Immagini/LoSguardo.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="209" src="http://fabiobarba.altervista.org/Immagini/LoSguardo.gif" width="640" /></a></div>
<br />
<div style="text-align: center;">
<span style="color: red; font-size: large;"><b>Invia Lo Sguardo e La Giornata:</b></span></div>
<div align="center" style="background-image: url();">
<form action="http://fabiobarba.altervista.org/PHPMailer/InvioSguardoGiornataPresidente.php" enctype="multipart/form-data" method="POST">
<br />
<table border="0" cellspacing="1"><tbody>
<tr>   <td><b>Mittente:</b></td>   <td><i>Il Presidente</i></td></tr>
<tr>   <td><b>Mittente MAIL:</b></td><td><i>minolightouch@libero.it</i></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td><b>Oggetto:</b></td><td><input name="oggetto" size="35" type="text" value="" /></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr>   <td><b>Messaggio:</b></td>   <td><textarea cols="35" name="messaggio" rows="4"></textarea></td>   </tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
</tbody></table>
<br />
<table>
<tbody>
<tr>   <td><b>Allega file 1:</b></td>   <td><input name="allegato1" style="font-size: 13px; height: 27px; width: 300px;" type="file" /></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr>   <td><b>Allega file 2:</b></td>   <td><input name="allegato2" style="font-size: 13px; height: 27px; width: 300px;" type="file" /></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td> <td><input name="sub" style="font-size: 13px; height: 27px; width: 300px;" type="submit" value="Invia" /></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td> <td><input name="res" style="font-size: 13px; height: 27px; width: 300px;" type="reset" value="Cancella" /></td></tr>
</tbody></table>
</form>
</div>

1) Se per caso non si scrive e non si compila niente esce un mess strano. In pratica vorrei un controllo che dica che Oggetto e Mess debbano essere compilati altrimenti la mail non parte.
2) Circa gli allegati...Uno deve avere la possibilità di scegliere se inviarne uno solo o entrambi. Naturalmente, nel caso in cui li invia entrambi devono essere ammessi entrambi....

Grazie!
 
ciao
per i controlli di oggetto e messaggio aggiungi
PHP:
<?php
//......
//***** inizio verifiche dai post
//metto un mesaggio di errore a vuoto
$ok_ko="";
$mittente="Il Presidente";
$mittente_mail="minolightouch@libero.it"; 
$oggetto= trim($_POST['oggetto']);
$messaggio=htmlspecialchars(trim($_POST['messaggio']));
if($oggetto==""){
	$ok_ko.="l'oggetto è obbligatorio<br>";
}
if($messaggio==""){
	$ok_ko.="il messaggio non può essere vuoto<br>";
}
//....
?>
per gli allegati "dovrebbe" inviarne nessuno, uno o due
solo se gli allegati rientrano negli ammessi es.
uno ti invia
a) pinco.jpg l'email parte
b) pinco. exe l'email non parte
c) pinco.doc e pallo.pdf l'email parte
d) pinco.doc pallo.exe l'email non parte
nel caso di invio di due allegati ENTRAMBI devono essere ammessi

poi non dire fa errore, ma devi dirmi quali e possibilmente dove
 
per come sta adesso con le ultime correzioni degli errori...

Se compili l'oggetto e il messaggio ed invii..esce questo errore:

PHP:
Message body empty Errore di trasmissione, riprova pi� tardi!
 
Allora l'errore del messaggio è risolto.

Ma il form non invia l'allegato nell'1 ne il 2.

Esce questo errore sia se carichi solo l'1, sia se carichi solo il 2 e sia se carichi entrambi:

Errore nel caricamento dell'allegato 1, riprova piu tardi! A T T E N D I. . . (se cerchi di caricare l'1)

Errore nel caricamento dell'allegato 2, riprova piu tardi! A T T E N D I. . .(se cerchi di caricare il 2)

Ed entrambi esce naturalmente lo stesso messaggio!

Questo è l'html:
HTML:
<!--Form invio SGUARDO e GIORNATA del Presidente-->
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://fabiobarba.altervista.org/Immagini/LoSguardo.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="209" src="http://fabiobarba.altervista.org/Immagini/LoSguardo.gif" width="640" /></a></div>
<br />
<div style="text-align: center;">
<span style="color: red; font-size: large;"><b>Invia Lo Sguardo e La Giornata:</b></span></div>
<div align="center" style="background-image: url();">
<form action="http://fabiobarba.altervista.org/PHPMailer/InvioSguardoGiornataPresidente.php" enctype="multipart/form-data" method="POST">
<br />
<table border="0" cellspacing="1"><tbody>
<tr>   <td><b>Mittente:</b></td>   <td><i>Il Presidente</i></td></tr>
<tr>   <td><b>Mittente MAIL:</b></td><td><i>minolightouch@libero.it</i></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td><b>Oggetto:</b></td><td><input name="oggetto" size="35" type="text" value="" /></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr>   <td><b>Messaggio:</b></td>   <td><textarea cols="35" name="messaggio" rows="4"></textarea></td>   </tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
</tbody></table>
<br />
<table>
<tbody>
<tr>   <td><b>Allega file 1:</b></td>   <td><input name="allegato1" style="font-size: 13px; height: 27px; width: 300px;" type="file" /></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr>   <td><b>Allega file 2:</b></td>   <td><input name="allegato2" style="font-size: 13px; height: 27px; width: 300px;" type="file" /></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td> <td><input name="sub" style="font-size: 13px; height: 27px; width: 300px;" type="submit" value="Invia" /></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td></tr>
<tr><td></td> <td><input name="res" style="font-size: 13px; height: 27px; width: 300px;" type="reset" value="Cancella" /></td></tr>
</tbody></table>
</form>
</div>

E questo il php:
PHP:
<?php
//***** inizio verifiche dai post
//metto un mesaggio di errore a vuoto
$ok_ko="";
$mittente="Il Presidente";
$mittente_mail="minolightouch@libero.it"; 
$oggetto= trim($_POST['oggetto']);
$messaggio=htmlspecialchars(trim($_POST['messaggio']));
if($oggetto==""){
    $ok_ko.="Devi inserire l'oggetto obbligatoriamente! A T T E N D I. . .<br>";
}
if($messaggio==""){
    $ok_ko.="Devi inserire il messaggio obbligatoriamente! A T T E N D I. . .<br>";
} 
if($_FILES['allegato1']['tmp_name'] !="" || $_FILES['allegato2']['tmp_name']){
	$ammessi=array('pdf', 'eps', 'psd', 'rar', 'zip', 'csv', 'xml', 'htm', 'html', 'xlsx', 'xls', 'jpg', 'JPG', 'png', 'gif', 'doc', 'docx', 'docm', 'rtf', 'txt');//aggiungi o togli le estenzioni che ti servono
    if($_FILES['allegato1']['tmp_name'] !=""){ 
    $estenzione1=pathinfo($_FILES['allegato1']['name'], PATHINFO_EXTENSION);
	if(in_array($estenzione1,$ammessi )){//è un file consentito
            if (move_uploaded_file($_FILES['allegato1']['tmp_name'], $_FILES['allegato']['name'])){
                $allegato1=$_FILES['allegato1']['name'];; 
            //la variabile $allegato1 si riempie seolo se l'allegato è valido e caricato
        }else{
			$ok_ko.="Errore nel caricamento dell'allegato 1, riprova piu tardi! A T T E N D I. . .<br>";
		}
    }else
         {
		$ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";
	}
}else{
	$allegato1="";
}
if($_FILES['allegato2']['tmp_name'] !=""){
        $estenzione2=pathinfo($_FILES['allegato2']['name'], PATHINFO_EXTENSION);
        if(in_array($estenzione2,$ammessi )){//è un file consentito
            if (move_uploaded_file($_FILES['allegato2']['tmp_name'], $_FILES['allegato']['name'])){
                $allegato1=$_FILES['allegato2']['name'];;
                //la variabile $allegato si riempie seolo se l'allegato è valido e caricato
            }else{
                $ok_ko.="Errore nel caricamento dell'allegato 2, riprova piu tardi! A T T E N D I. . .<br>";
            }
        }else{
            $ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";//
        }
    }else{
        $allegato2="";
    }
} 
//a questo punto (mi sembra) di aver fatto tutti i controlli
if($ok_ko != ""){//il messaggio di errore non è vuoto
	//mostro il messaggio e torno alla pagina del form dopo 3 secondi
	echo $ok_ko;
	echo "<meta http-equiv='Refresh' content='20; URL=http://fscg.blogspot.it/p/alexander.html'>";
}else{//non ci sono stati errori quindi tutto l'ambaradan di spedizione
    //prepato il testo in formato html	
    require_once('class.phpmailer.php'); 
	$mail = new PHPMailer();
	$mail->IsHTML(true);      // invio mail in formato HTML
	$mail->SetLanguage('it','language/');
	$mail->SetFrom($mittente_mail,$mittente);  //mittente 
	$mail->AddAddress("fabio-barba@alice.it");     //Mail destinatario1
        $mail->AddAddress("manutd2003@alice.it");      //Mail destinatario2
	//se vuoi che arrivi una copia anche al mittente lascia AddCC, altimrnti toglilo o commentalo
	$mail->AddCC($mittente_mail);  //Invio Replay al mittente
	$mail->Subject = $oggetto;     //oggetto 
	$mail->Body =$messaggio;
	if($allegato1 !=""){
    	$mail->AddAttachment($allegato1);  //allegato 1 appena caricato sul server  se esiste
	} 
        if($allegato2 !=""){
        $mail->AddAttachment($allegato2);  //allegato 2 appena caricato sul server  se esiste
        }  
	if(!$mail->Send()){
    	echo "Errore di trasmissione, riprova più tardi!"; 
	}else{
    	echo "<p>Lo Sguardo o La Giornata inviati con successo! A T T E N D I. . .</p>";
	} 
	if(file_exists($path.$allegato1)) {//verifichi che sia stato caricato
    	unlink($path.$allegato1);// e lo elimini
	} 
        if(file_exists($path.$allegato2)) {//verifichi che sia stato caricato
        unlink($path.$allegato2);// e lo elimini
        }  
	//e torni al for, se vuoi da qualche altra parte cambia il nome del file
	echo "<meta http-equiv='Refresh' content='4; URL=http://fscg.blogspot.it/p/alexander.html'>";
}
?>
 
ciao
nel copy paste mi sono dimmenticato
$_FILES['allegato_1']['name'] o $_FILES['allegato_2']['name'], analogo per i ['tmp_name']
verifica che i nomi siano gli stessi tra i campi di input e i $_FILE
 
Scusami ma non ti ho capito e non ho capito che devo fare.

Nel form HTML gli allegati "name" si chiamano allegato1 e allegato2.
 
ciao
se i campi di input file si chiamano "allegato1" e "allegato2" nei $_FILE devi mettere gli stessi nomi

$_FILES['allegato1']['tmp_name'], $_FILES['allegato1']['name']
e
$_FILES['allegato2']['tmp_name'], $_FILES['allegato2']['name']
 
Allora ora non da nessun errore ma:

Arriva solo 1 allegato anche se ne alleghi 2.

Cioè:

Se allego ad allegato1 solamente arriva

Se allego ad allegato2 solamente arriva

Se allego contemporaneamente allegato1 e allegato2 ne arriva solo 1!

Comunque ti allego il nuovo php. Dammi una controllata:
PHP:
<?php
//***** inizio verifiche dai post
//metto un mesaggio di errore a vuoto
$ok_ko="";
$mittente="Il Presidente";
$mittente_mail="minolightouch@libero.it"; 
$oggetto= trim($_POST['oggetto']);
$messaggio=htmlspecialchars(trim($_POST['messaggio']));
if($oggetto==""){
    $ok_ko.="Devi inserire l'oggetto obbligatoriamente! A T T E N D I. . .<br>";
}
if($messaggio==""){
    $ok_ko.="Devi inserire il messaggio obbligatoriamente! A T T E N D I. . .<br>";
} 
if($_FILES['allegato1']['tmp_name'] !="" || $_FILES['allegato2']['tmp_name']){
	$ammessi=array('pdf', 'eps', 'psd', 'rar', 'zip', 'csv', 'xml', 'htm', 'html', 'xlsx', 'xls', 'jpg', 'JPG', 'png', 'gif', 'doc', 'docx', 'docm', 'rtf', 'txt');//aggiungi o togli le estenzioni che ti servono
    if($_FILES['allegato1']['tmp_name'] !=""){ 
    $estenzione1=pathinfo($_FILES['allegato1']['name'], PATHINFO_EXTENSION);
	if(in_array($estenzione1,$ammessi )){//è un file consentito
            if (move_uploaded_file($_FILES['allegato1']['tmp_name'], $_FILES['allegato1']['name'])){
                $allegato1=$_FILES['allegato1']['name'];; 
            //la variabile $allegato1 si riempie seolo se l'allegato è valido e caricato
        }else{
			$ok_ko.="Errore nel caricamento dell'allegato 1, riprova piu tardi! A T T E N D I. . .<br>";
		}
    }else
         {
		$ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";
	}
}else{
	$allegato1="";
}
if($_FILES['allegato2']['tmp_name'] !=""){
        $estenzione2=pathinfo($_FILES['allegato2']['name'], PATHINFO_EXTENSION);
        if(in_array($estenzione2,$ammessi )){//è un file consentito
            if (move_uploaded_file($_FILES['allegato2']['tmp_name'], $_FILES['allegato2']['name'])){
                $allegato1=$_FILES['allegato2']['name'];;
                //la variabile $allegato si riempie seolo se l'allegato è valido e caricato
            }else{
                $ok_ko.="Errore nel caricamento dell'allegato 2, riprova piu tardi! A T T E N D I. . .<br>";
            }
        }else{
            $ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";//
        }
    }else{
        $allegato2="";
    }
} 
//a questo punto (mi sembra) di aver fatto tutti i controlli
if($ok_ko != ""){//il messaggio di errore non è vuoto
	//mostro il messaggio e torno alla pagina del form dopo 3 secondi
	echo $ok_ko;
	echo "<meta http-equiv='Refresh' content='20; URL=http://fscg.blogspot.it/p/alexander.html'>";
}else{//non ci sono stati errori quindi tutto l'ambaradan di spedizione
    //prepato il testo in formato html	
    require_once('class.phpmailer.php'); 
	$mail = new PHPMailer();
	$mail->IsHTML(true);      // invio mail in formato HTML
	$mail->SetLanguage('it','language/');
	$mail->SetFrom($mittente_mail,$mittente);  //mittente 
	$mail->AddAddress("fabio-barba@alice.it");     //Mail destinatario1
        $mail->AddAddress("manutd2003@alice.it");      //Mail destinatario2
	//se vuoi che arrivi una copia anche al mittente lascia AddCC, altimrnti toglilo o commentalo
	$mail->AddCC($mittente_mail);  //Invio Replay al mittente
	$mail->Subject = $oggetto;     //oggetto 
	$mail->Body =$messaggio;
	if($allegato1 !=""){
    	$mail->AddAttachment($allegato1);  //allegato 1 appena caricato sul server  se esiste
	} 
        if($allegato2 !=""){
        $mail->AddAttachment($allegato2);  //allegato 2 appena caricato sul server  se esiste
        }  
	if(!$mail->Send()){
    	echo "Errore di trasmissione, riprova più tardi!"; 
	}else{
    	echo "<p>Lo Sguardo o La Giornata inviati con successo! A T T E N D I. . .</p>";
	} 
	if(file_exists($path.$allegato1)) {//verifichi che sia stato caricato
    	unlink($path.$allegato1);// e lo elimini
	} 
        if(file_exists($path.$allegato2)) {//verifichi che sia stato caricato
        unlink($path.$allegato2);// e lo elimini
        }  
	//e torni al for, se vuoi da qualche altra parte cambia il nome del file
	echo "<meta http-equiv='Refresh' content='4; URL=http://fscg.blogspot.it/p/alexander.html'>";
}
?>
 
ciao
ho trovato un paio di erroretti nei nomi dei file, li ho corretti.
prova adesso e sappimi dire
PHP:
<?php
//***** inizio verifiche dai post
//metto un mesaggio di errore a vuoto
$ok_ko="";
$mittente="Il Presidente";
$mittente_mail="minolightouch@libero.it"; 
$oggetto= trim($_POST['oggetto']);
$messaggio=htmlspecialchars(trim($_POST['messaggio']));
if($oggetto==""){
    $ok_ko.="Devi inserire l'oggetto obbligatoriamente! A T T E N D I. . .<br>";
}
if($messaggio==""){
    $ok_ko.="Devi inserire il messaggio obbligatoriamente! A T T E N D I. . .<br>";
} 
if($_FILES['allegato1']['tmp_name'] !="" || $_FILES['allegato2']['tmp_name']){
    $ammessi=array('pdf', 'eps', 'psd', 'rar', 'zip', 'csv', 'xml', 'htm', 'html', 'xlsx', 'xls', 'jpg', 'JPG', 'png', 'gif', 'doc', 'docx', 'docm', 'rtf', 'txt');//aggiungi o togli le estenzioni che ti servono
    if($_FILES['allegato1']['tmp_name'] !=""){ 
    $estenzione1=pathinfo($_FILES['allegato1']['name'], PATHINFO_EXTENSION);
    if(in_array($estenzione1,$ammessi )){//è un file consentito
            if (move_uploaded_file($_FILES['allegato1']['tmp_name'], $_FILES['allegato1']['name'])){
                $allegato1=$_FILES['allegato1']['name'];; 
            //la variabile $allegato1 si riempie seolo se l'allegato è valido e caricato
        }else{
            $ok_ko.="Errore nel caricamento dell'allegato 1, riprova piu tardi! A T T E N D I. . .<br>";
        }
    }else
         {
        $ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";
    }
}else{
    $allegato1="";
}
if($_FILES['allegato2']['tmp_name'] !=""){
        $estenzione2=pathinfo($_FILES['allegato2']['name'], PATHINFO_EXTENSION);
        if(in_array($estenzione2,$ammessi )){//è un file consentito
            if (move_uploaded_file($_FILES['allegato2']['tmp_name'], $_FILES['allegato2']['name'])){
                $allegato2=$_FILES['allegato2']['name'];;
                //la variabile $allegato si riempie seolo se l'allegato è valido e caricato
            }else{
                $ok_ko.="Errore nel caricamento dell'allegato 2, riprova piu tardi! A T T E N D I. . .<br>";
            }
        }else{
            $ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";//
        }
    }else{
        $allegato2="";
    }
} 
//a questo punto (mi sembra) di aver fatto tutti i controlli
if($ok_ko != ""){//il messaggio di errore non è vuoto
    //mostro il messaggio e torno alla pagina del form dopo 3 secondi
    echo $ok_ko;
    echo "<meta http-equiv='Refresh' content='20; URL=http://fscg.blogspot.it/p/alexander.html'>";
}else{//non ci sono stati errori quindi tutto l'ambaradan di spedizione
    //prepato il testo in formato html    
    require_once('class.phpmailer.php'); 
    $mail = new PHPMailer();
    $mail->IsHTML(true);      // invio mail in formato HTML
    $mail->SetLanguage('it','language/');
    $mail->SetFrom($mittente_mail,$mittente);  //mittente 
    $mail->AddAddress("fabio-barba@alice.it");     //Mail destinatario1
        $mail->AddAddress("manutd2003@alice.it");      //Mail destinatario2
    //se vuoi che arrivi una copia anche al mittente lascia AddCC, altimrnti toglilo o commentalo
    $mail->AddCC($mittente_mail);  //Invio Replay al mittente
    $mail->Subject = $oggetto;     //oggetto 
    $mail->Body =$messaggio;
    if($allegato1 !=""){
        $mail->AddAttachment($allegato1);  //allegato 1 appena caricato sul server  se esiste
    } 
        if($allegato2 !=""){
        $mail->AddAttachment($allegato2);  //allegato 2 appena caricato sul server  se esiste
        }  
    if(!$mail->Send()){
        echo "Errore di trasmissione, riprova più tardi!"; 
    }else{
        echo "<p>Lo Sguardo o La Giornata inviati con successo! A T T E N D I. . .</p>";
    } 
    if(file_exists($path.$allegato1)) {//verifichi che sia stato caricato
        unlink($path.$allegato1);// e lo elimini
    } 
        if(file_exists($path.$allegato2)) {//verifichi che sia stato caricato
        unlink($path.$allegato2);// e lo elimini
        }  
    //e torni al for, se vuoi da qualche altra parte cambia il nome del file
    echo "<meta http-equiv='Refresh' content='4; URL=http://fscg.blogspot.it/p/alexander.html'>";
}
?>
 
Ciao,

sono sempre io.

Un'ulteriore domanda.

Mi spieghi che significa mettere " !="" || " nel codice che mi hai corretto? Esattamente qui:
PHP:
if($_FILES['allegato1']['tmp_name'] !="" || $_FILES['allegato2']['tmp_name'])

Te lo chiedo per sapere nel caso in cui voglio aggiungere un ulteriore allegato basta che unisco "allegato3" (naturalmente come sono scritti gli altri) da " !="" || " ? E completando tutto il restante codice per il terzo allegato?
Il codce completo era qesto:
PHP:
<?php
//***** inizio verifiche dai post
//metto un mesaggio di errore a vuoto
$ok_ko="";
$mittente="Il Presidente";
$mittente_mail="minolightouch@libero.it"; 
$oggetto= trim($_POST['oggetto']);
$messaggio=htmlspecialchars(trim($_POST['messaggio']));
if($oggetto==""){
    $ok_ko.="A T T E N Z I O N E ! ! ! Devi inserire l'oggetto obbligatoriamente! A T T E N D I. . .<br>";
}
if($messaggio==""){
    $ok_ko.="A T T E N Z I O N E ! ! ! Devi inserire il messaggio obbligatoriamente! A T T E N D I. . .<br>";
} 
if($_FILES['allegato1']['tmp_name'] !="" || $_FILES['allegato2']['tmp_name']){
    $ammessi=array('pdf', 'eps', 'psd', 'rar', 'zip', 'csv', 'xml', 'htm', 'html', 'xlsx', 'xls', 'jpg', 'JPG', 'png', 'gif', 'doc', 'docx', 'docm', 'rtf', 'txt');//aggiungi o togli le estenzioni che ti servono
    if($_FILES['allegato1']['tmp_name'] !=""){ 
    $estenzione1=pathinfo($_FILES['allegato1']['name'], PATHINFO_EXTENSION);
    if(in_array($estenzione1,$ammessi )){//è un file consentito
            if (move_uploaded_file($_FILES['allegato1']['tmp_name'], $_FILES['allegato1']['name'])){
                $allegato1=$_FILES['allegato1']['name'];; 
            //la variabile $allegato1 si riempie seolo se l'allegato è valido e caricato
        }else{
            $ok_ko.="Errore nel caricamento dell'allegato 1, riprova piu tardi! A T T E N D I. . .<br>";
        }
    }else
         {
        $ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";
    }
}else{
    $allegato1="";
}
if($_FILES['allegato2']['tmp_name'] !=""){
        $estenzione2=pathinfo($_FILES['allegato2']['name'], PATHINFO_EXTENSION);
        if(in_array($estenzione2,$ammessi )){//è un file consentito
            if (move_uploaded_file($_FILES['allegato2']['tmp_name'], $_FILES['allegato2']['name'])){
                $allegato2=$_FILES['allegato2']['name'];;
                //la variabile $allegato si riempie seolo se l'allegato è valido e caricato
            }else{
                $ok_ko.="Errore nel caricamento dell'allegato 2, riprova piu tardi! A T T E N D I. . .<br>";
            }
        }else{
            $ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";//
        }
    }else{
        $allegato2="";
    }
} 
//a questo punto (mi sembra) di aver fatto tutti i controlli
if($ok_ko != ""){//il messaggio di errore non è vuoto
    //mostro il messaggio e torno alla pagina del form dopo 3 secondi
    echo $ok_ko;
    echo "<meta http-equiv='Refresh' content='7; URL=http://fscg.blogspot.it/p/alexander.html'>";
}else{//non ci sono stati errori quindi tutto l'ambaradan di spedizione
    //prepato il testo in formato html    
    require_once('class.phpmailer.php'); 
    $mail = new PHPMailer();
    $mail->IsHTML(true);      // invio mail in formato HTML
    $mail->SetLanguage('it','language/');
    $mail->SetFrom($mittente_mail,$mittente);  //mittente 
    $mail->AddAddress("blackqueenft@tiscali.it");     //Mail destinatario1
    $mail->AddAddress("fiorinipietro@virgilio.it");      //Mail destinatario2
    $mail->AddAddress("tonipindinello@live.it");      //Mail destinatario3
    $mail->AddAddress("angelospad@libero.it");      //Mail destinatario4
    $mail->AddAddress("davituxo@gmail.com");      //Mail destinatario5
    $mail->AddAddress("manutd2003@alice.it");      //Mail destinatario6
    $mail->AddAddress("fc.scorpion88@libero.it");      //Mail destinatario7
    //se vuoi che arrivi una copia anche al mittente lascia AddCC, altimrnti toglilo o commentalo
    $mail->AddCC($mittente_mail);  //Invio Replay al mittente
    $mail->Subject = $oggetto;     //oggetto 
    $mail->Body =$messaggio;
    if($allegato1 !=""){
        $mail->AddAttachment($allegato1);  //allegato 1 appena caricato sul server  se esiste
    } 
        if($allegato2 !=""){
        $mail->AddAttachment($allegato2);  //allegato 2 appena caricato sul server  se esiste
        }  
    if(!$mail->Send()){
        echo "Errore di trasmissione, riprova più tardi!"; 
    }else{
        echo "<p>Lo Sguardo o La Giornata inviati con successo! A T T E N D I. . .</p>";
    } 
    if(file_exists($path.$allegato1)) {//verifichi che sia stato caricato
        unlink($path.$allegato1);// e lo elimini
    } 
        if(file_exists($path.$allegato2)) {//verifichi che sia stato caricato
        unlink($path.$allegato2);// e lo elimini
        }  
    //e torni al for, se vuoi da qualche altra parte cambia il nome del file
    echo "<meta http-equiv='Refresh' content='6; URL=http://fscg.blogspot.it/p/alexander.html'>";
}
?>
 
ciao
li ho fatto un errore correggi
if($_FILES['allegato1']['tmp_name'] !="" || $_FILES['allegato2']['tmp_name'])

in
PHP:
if($_FILES['allegato1']['tmp_name'] !="" || $_FILES['allegato2']['tmp_name']!="") {
poi
!="" vuol dire: se diverso da vuoto
|| vuol dire: OR (oppure)
se vuoi aggiungere una latro allegato
PHP:
if($_FILES['allegato1']['tmp_name'] !="" || $_FILES['allegato2']['tmp_name']!="" || $_FILES['allegato3']['tmp_name']!="") {
//......
poi aggiungi le righe di controllo estensione e moveup, attento hai nomi
 
Ciao Borgo,

Funzione tutto maniacalmente bene tranne una cosa...

Molte volte, quando si riceve la mail, alcune celle danno dei segni particolari o si sballano tipo:

HTML:
	(3 - 4 - 3)
25	Pegolo
29	Paletta
3	Chiellini
5	Danilo
27	Armero
10	Boateng
4	Almiron
7	Biabiany
92	El Shaarawy
19	Denis
51	Pinilla
 	 
1	De Sanctis
22	[COLOR="#FF0000"]Ro! mero[/COLOR] Che dovrebbe essere Romero
26	Lichtsteiner
13	Astori
79	Lulic
99	Estigarribia
11	Amauri
91	De Luca

HTML:
	(3 - 4 - 3)
25	Pegolo
29	Paletta
3	Chiellini
5	Danilo
27	Armero
10	Boateng
4	Almiron
7	Biabiany
92	El Shaarawy
19	Denis
51	Pinilla
 	 
1	De Sanctis
[COLOR="#FF0000"]2! 2[/COLOR]	Romero   Che dovrebbe essere 22
26	Lichtsteiner
13	Astori
79	Lulic
99	Estigarribia
11	Amauri
91	De Luca

HTML:
	(3 - 4 - 3)
34	Storari
31	Marchese
5	De Sciglio
20	Pasqual
4	Candreva
7	Florenzi
25	Lazzari
13	Cerci
9	Giovinco
10	Immobile
11	Di Natale
 	 
12	Amelia
33	[COLOR="#FF0000"]Abb! iati[/COLOR] Che dovrebbe essere abbiati.
3	Costa
18	Abate
37	Lodi
23	Maggio
30	Gabbiadini
6	Gobbi

Per adesso questi pasticci succedono ai giocatori in panchina...

Da una prima analisi ho pensato che potesse essere alla riga che devo mettere vuota tra l'undicesimo giocatore e il primo portiere... Ma cambiandola in mille modi cambia soltanto la cella in cui si sballa...Ma cmq resta il fatto che si sballa...

Ho pensato...Non è che sia un fatto proprio di Phpmailer...Tipo che bisogna aggiungere qualche codifica particolare o base o quant'altro? Non lo so. Sicuramente è un fatto di PHP e non dell'HTML...Almeno Penso.

Ti rimando il PHP completo:
PHP:
<?php
//***** inizio verifiche dai post
//metto un mesaggio di errore a vuoto
$ok_ko="";
$team="Alexander";
$team_mail="minolightouch@libero.it"; 
$mail_presidente="minolightouch@libero.it";
//verifica dell'email avversario (se hai messo anche l'option vuoto)
if(filter_var($_POST['Mail_Avversario'], FILTER_VALIDATE_EMAIL) == FALSE){
	$ok_ko.="A T T E N Z I O N E ! ! ! C'E' UN ERRORE! Non hai inserito l'indirizzo dell'avversario! A T T E N D I. . .<br>";
}else{
	$mail_avversario=$_POST['Mail_Avversario'];
}
$oggetto="Consegna Team Alexander";
$messaggio=htmlspecialchars(trim($_POST['messaggio']));
if($_FILES['allegato']['tmp_name'] !=""){
	$ammessi=array('pdf', 'eps', 'psd', 'rar', 'zip', 'csv', 'xml', 'htm', 'html', 'xlsx', 'xls', 'jpg', 'JPG', 'png', 'gif', 'doc', 'docx', 'docm', 'rtf', 'txt');//aggiungi o togli le estenzioni che ti servono
    $estenzione=pathinfo($_FILES['allegato']['name'], PATHINFO_EXTENSION);
	if(in_array($estenzione,$ammessi)){//è un file consentito
        if (move_uploaded_file($_FILES['allegato']['tmp_name'], $_FILES['allegato']['name'])){
            $allegato=$_FILES['allegato']['name'];;
            //la variabile $allegato si riempie seolo se l'allegato è valido e caricato
        }else{
			$ok_ko.="Errore nel caricamento, riprova piu tardi! A T T E N D I. . .<br>";
		}
    }else{
		$ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";
	}
}else{
	$allegato="";
}
//verifico che TUTTE le select siano state riempite
//conto solo i post chiamati [squadra]
$conteggio=0;
foreach($_POST['squadra'] as $chiave => $valore){
	if(trim($valore) == ""){
		$conteggio++;
		break;
	}
}
if($allegato=="" && $conteggio > 0 && $messaggio ==""){//RIGHE DA MODIFICARE
    $ok_ko.="A T T E N Z I O N E ! ! ! C'E' UN ERRORE! Devi compilare almeno un campo tra MESSAGGIO, SQUADRA o ALLEGATO!<br> O hai lasciato vuota qualche casella giocatore! A T T E N D I. . .<br>";
} 
//a questo punto (mi sembra) di aver fatto tutti i controlli
if($ok_ko != ""){//il messaggio di errore non è vuoto
	//mostro il messaggio e torno alla pagina del form dopo 3 secondi
	echo $ok_ko;
	echo "<meta http-equiv='Refresh' content='15; URL=http://fscg.blogspot.it/p/alexander.html'>";
}else{//non ci sono stati errori quindi tutto l'ambaradan di spedizione
    //prepato il testo in formato html
	$testo_html="<table>";
	$testo_html.= "<tr><td colspan='2'>&nbsp;</td>".nl2br($messaggio)."</td></tr>";
	if($conteggio ==0 ){//tutta la squadra è riempita
		$testo_html.="<tr><td></td><td  style=\"text-align:center;\">".$_POST['squadra']['Schema']."</td></tr>";//Schema
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Portieri']."</td><td>".$_POST['squadra']['Portiere']."</td></tr>";//Portiere
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore2']."</td><td>".$_POST['squadra']['Giocatore2']."</td></tr>";//Giocatore 2
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore3']."</td><td>".$_POST['squadra']['Giocatore3']."</td></tr>";//Giocatore 3
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore4']."</td><td>".$_POST['squadra']['Giocatore4']."</td></tr>";//Giocatore 4
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore5']."</td><td>".$_POST['squadra']['Giocatore5']."</td></tr>";//Giocatore 5
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore6']."</td><td>".$_POST['squadra']['Giocatore6']."</td></tr>";//Giocatore 6
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore7']."</td><td>".$_POST['squadra']['Giocatore7']."</td></tr>";//Giocatore 7
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore8']."</td><td>".$_POST['squadra']['Giocatore8']."</td></tr>";//Giocatore 8
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore9']."</td><td>".$_POST['squadra']['Giocatore9']."</td></tr>";//Giocatore 9
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore10']."</td><td>".$_POST['squadra']['Giocatore10']."</td></tr>";//Giocatore 10
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore11']."</td><td>".$_POST['squadra']['Giocatore11']."</td></tr>";//Giocatore 11
	$testo_html.= "<tr><td style=\"text-align:center;\">".'&nbsp;'."</td><td>".'&nbsp;'."</td></tr>";//riga vuota la inserisci dove ti interessa
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Portieri2']."</td><td>".$_POST['squadra']['Portiere2']."</td></tr>";//Portiere 2
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Portieri3']."</td><td>".$_POST['squadra']['Portiere3']."</td></tr>";//Portiere 3
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore14']."</td><td>".$_POST['squadra']['Giocatore14']."</td></tr>";//Giocatore 14
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore15']."</td><td>".$_POST['squadra']['Giocatore15']."</td></tr>";//Giocatore 15
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore16']."</td><td>".$_POST['squadra']['Giocatore16']."</td></tr>";//Giocatore 16
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore17']."</td><td>".$_POST['squadra']['Giocatore17']."</td></tr>";//Giocatore 17
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore18']."</td><td>".$_POST['squadra']['Giocatore18']."</td></tr>";//Giocatore 18
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore19']."</td><td>".$_POST['squadra']['Giocatore19']."</td></tr>";//Giocatore 19
//eccetera sino al giocatore x
}//fine if non inseriti tutti quindi l'email viene inviato solo con il messaggio e se c'è l'allegato
$testo_html.="</table>";
    require_once('class.phpmailer.php'); 
	$mail = new PHPMailer();
	$mail->IsHTML(true);      // invio mail in formato HTML
	$mail->SetLanguage('it','language/');
	$mail->SetFrom($team_mail,$team);  //mittente 
	$mail->AddAddress($mail_presidente);     //Mail Presidente
	$mail->AddAddress($mail_avversario);     //Mail Avversario
	//se vuoi che arrivi una copia anche al mittente lascia AddCC, altimrnti toglilo o commentalo
	$mail->AddCC($team_mail);  //Invio Replay al mittente
	$mail->Subject = $oggetto;     //oggetto 
	$mail->Body = $testo_html;
	if($allegato !=""){
    	$mail->AddAttachment($allegato);  //allegato appena caricato sul server  se esiste
	}
	if(!$mail->Send()){
    	echo "Errore di trasmissione, riprova più tardi!"; 
	}else{
    	echo "<p>Mail o Team inviati con successo! A T T E N D I. . .</p>";
	} 
	if(file_exists($path.$allegato)) {//verifichi che sia stato caricato
    	unlink($path.$allegato);// e lo elimini
	}
	//e torni al for, se vuoi da qualche altra parte cambia il nome del file
	echo "<meta http-equiv='Refresh' content='6; URL=http://fscg.blogspot.it/p/alexander.html'>";
}
?>

La riga che pensavo fosse incriminata è quella della "riga vuota"...

Non lo so. Mi aiuti? Grazie
 
mi ricordavo di questa cosa e proprio per questo nel php ho messo solo parole senza accenti o quant'altro...
 
Allora nell'HTML è tutto ok. Ora gli errori rimangono 2(che sono simili) ma andiamo con ordine.

Per Eliminare gli altri errori che ti avevo scritto che erano un pò generali ho scritto la riga con le celle vuote mettendo il valore "vuoto" non tra apici singoli ma tra doppi apici così:
PHP:
$testo_html.= "<tr><td style=\"text-align:center;\">"."&nbsp;"."</td><td>"."&nbsp;"."</td></tr>";//riga vuota la inserisci dove ti interessa
Dimmi innanzitutto se va bene o se è solo un caso che alcuni errori li abbia risolti. Ora ne rimangono 2 di errori.
A 2 utenti quando arriva la mail il secondo portiere della panchina va ad unirsi al messaggio. In pratica gli arriva la mail così:
HTML:
Prova Generale Sito.Padelli
 
	(3 - 4 - 3)
49	Consigli
2	Benatia
6	Samuel
15	Ranocchia
17	Hamsik
10	Hernanes
13	Guarin
20	Valdes
7	Pandev
9	Klose
99	Bianchi
 	 
1	Brkic
77
40	Juan Jesus
26	Rossettini
19	Cambiasso
33	Kucka
27	Quagliarella
31	Pellissier

Da un mio personale controllo penso che la riga di codice che impalla tutto è questa:
PHP:
$testo_html.= "<tr><td colspan='2'>&nbsp;</td>".nl2br($messaggio)."</td></tr>";
Perchè se tolgo tale riga tutto torna a posto ma naturalmente non appare il messaggio. Innanzitutto perchè vedo un Tr(apero) un Td(aperto) poi un Td(chiuso) poi un altro Td(chiuso che però non era mai stato aperto) e poi il Tr(di chiusura). E se fosse tale riga che commette gli altri errori?
Non si potrebbe scrivere in un altro modo? Grazie. Ciao

Il Codice totale è:
PHP:
<?php
//***** inizio verifiche dai post
//metto un mesaggio di errore a vuoto
$ok_ko="";
$team="Kenzia";
$team_mail="davituxo@gmail.com"; 
$mail_presidente="minolightouch@libero.it";
//verifica dell'email avversario (se hai messo anche l'option vuoto)
if(filter_var($_POST['Mail_Avversario'], FILTER_VALIDATE_EMAIL) == FALSE){
	$ok_ko.="A T T E N Z I O N E ! ! ! C'E' UN ERRORE! Non hai inserito l'indirizzo dell'avversario! A T T E N D I. . .<br>";
}else{
	$mail_avversario=$_POST['Mail_Avversario'];
}
$oggetto="Consegna Team Kenzia";
$messaggio=htmlspecialchars(trim($_POST['messaggio']));
if($_FILES['allegato']['tmp_name'] !=""){
	$ammessi=array('pdf', 'eps', 'psd', 'rar', 'zip', 'csv', 'xml', 'htm', 'html', 'xlsx', 'xls', 'jpg', 'JPG', 'png', 'gif', 'doc', 'docx', 'docm', 'rtf', 'txt');//aggiungi o togli le estenzioni che ti servono
    $estenzione=pathinfo($_FILES['allegato']['name'], PATHINFO_EXTENSION);
	if(in_array($estenzione,$ammessi)){//è un file consentito
        if (move_uploaded_file($_FILES['allegato']['tmp_name'], $_FILES['allegato']['name'])){
            $allegato=$_FILES['allegato']['name'];;
            //la variabile $allegato si riempie seolo se l'allegato è valido e caricato
        }else{
			$ok_ko.="Errore nel caricamento, riprova piu tardi! A T T E N D I. . .<br>";
		}
    }else{
		$ok_ko.="A T T E N Z I O N E! Hai cercato di inviare un allegato di tipo non valido! A T T E N D I. . .<br>";
	}
}else{
	$allegato="";
}
//verifico che TUTTE le select siano state riempite
//conto solo i post chiamati [squadra]
$conteggio=0;
foreach($_POST['squadra'] as $chiave => $valore){
	if(trim($valore) == ""){
		$conteggio++;
		break;
	}
}
if($allegato=="" && $conteggio > 0 && $messaggio ==""){//RIGHE DA MODIFICARE
    $ok_ko.="A T T E N Z I O N E ! ! ! C'E' UN ERRORE! Devi compilare almeno un campo tra MESSAGGIO, SQUADRA o ALLEGATO!<br> O hai lasciato vuota qualche casella giocatore! A T T E N D I. . .<br>";
} 
//a questo punto (mi sembra) di aver fatto tutti i controlli
if($ok_ko != ""){//il messaggio di errore non è vuoto
	//mostro il messaggio e torno alla pagina del form dopo 3 secondi
	echo $ok_ko;
	echo "<meta http-equiv='Refresh' content='15; URL=http://fscg.blogspot.it/p/kenzia.html'>";
}else{//non ci sono stati errori quindi tutto l'ambaradan di spedizione
    //prepato il testo in formato html
	$testo_html="<table>";
	$testo_html.= "<tr><td colspan='2'>&nbsp;</td>".nl2br($messaggio)."</td></tr>";
	if($conteggio ==0 ){//tutta la squadra è riempita
	$testo_html.="<tr><td></td><td  style=\"text-align:center;\">".$_POST['squadra']['Schema']."</td></tr>";//Schema
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Portieri']."</td><td>".$_POST['squadra']['Portiere']."</td></tr>";//Portiere
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore2']."</td><td>".$_POST['squadra']['Giocatore2']."</td></tr>";//Giocatore 2
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore3']."</td><td>".$_POST['squadra']['Giocatore3']."</td></tr>";//Giocatore 3
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore4']."</td><td>".$_POST['squadra']['Giocatore4']."</td></tr>";//Giocatore 4
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore5']."</td><td>".$_POST['squadra']['Giocatore5']."</td></tr>";//Giocatore 5
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore6']."</td><td>".$_POST['squadra']['Giocatore6']."</td></tr>";//Giocatore 6
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore7']."</td><td>".$_POST['squadra']['Giocatore7']."</td></tr>";//Giocatore 7
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore8']."</td><td>".$_POST['squadra']['Giocatore8']."</td></tr>";//Giocatore 8
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore9']."</td><td>".$_POST['squadra']['Giocatore9']."</td></tr>";//Giocatore 9
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore10']."</td><td>".$_POST['squadra']['Giocatore10']."</td></tr>";//Giocatore 10
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore11']."</td><td>".$_POST['squadra']['Giocatore11']."</td></tr>";//Giocatore 11
	$testo_html.= "<tr><td style=\"text-align:center;\">"."&nbsp;"."</td><td>"."&nbsp;"."</td></tr>";//riga vuota la inserisci dove ti interessa
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Portieri2']."</td><td>".$_POST['squadra']['Portiere2']."</td></tr>";//Portiere 2
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Portieri3']."</td><td>".$_POST['squadra']['Portiere3']."</td></tr>";//Portiere 3
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore14']."</td><td>".$_POST['squadra']['Giocatore14']."</td></tr>";//Giocatore 14
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore15']."</td><td>".$_POST['squadra']['Giocatore15']."</td></tr>";//Giocatore 15
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore16']."</td><td>".$_POST['squadra']['Giocatore16']."</td></tr>";//Giocatore 16
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore17']."</td><td>".$_POST['squadra']['Giocatore17']."</td></tr>";//Giocatore 17
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore18']."</td><td>".$_POST['squadra']['Giocatore18']."</td></tr>";//Giocatore 18
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Giocatore19']."</td><td>".$_POST['squadra']['Giocatore19']."</td></tr>";//Giocatore 19
//eccetera sino al giocatore x
}//fine if non inseriti tutti quindi l'email viene inviato solo con il messaggio e se c'è l'allegato
$testo_html.="</table>";
    require_once('class.phpmailer.php'); 
	$mail = new PHPMailer();
	$mail->IsHTML(true);      // invio mail in formato HTML
	$mail->SetLanguage('it','language/');
	$mail->SetFrom($team_mail,$team);  //mittente 
	$mail->AddAddress($mail_presidente);     //Mail Presidente
	$mail->AddAddress($mail_avversario);     //Mail Avversario
	//se vuoi che arrivi una copia anche al mittente lascia AddCC, altimrnti toglilo o commentalo
	$mail->AddCC($team_mail);  //Invio Replay al mittente
	$mail->Subject = $oggetto;     //oggetto 
	$mail->Body = $testo_html;
	if($allegato !=""){
    	$mail->AddAttachment($allegato);  //allegato appena caricato sul server  se esiste
	}
	if(!$mail->Send()){
    	echo "Errore di trasmissione, riprova più tardi!"; 
	}else{
    	echo "<p>Mail o Team inviati con successo! A T T E N D I. . .</p>";
	} 
	if(file_exists($path.$allegato)) {//verifichi che sia stato caricato
    	unlink($path.$allegato);// e lo elimini
	}
	//e torni al for, se vuoi da qualche altra parte cambia il nome del file
	echo "<meta http-equiv='Refresh' content='6; URL=http://fscg.blogspot.it/p/kenzia.html'>";
}
?>
 
Ultima modifica:

Discussioni simili