PhpMailer SELECT e OPTION

newanfa

Utente Attivo
12 Mag 2010
131
0
0
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?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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("[email protected]");
$mail->AddAddress("[email protected]");
....
$mail->AddAddress("[email protected]");
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
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="[email protected]"; 
$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("[email protected]");     //Mail destinatario1
        $mail->AddAddress("[email protected]");      //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>[email protected]</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!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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="[email protected]"; 
$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
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
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!
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
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>[email protected]</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="[email protected]"; 
$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("[email protected]");     //Mail destinatario1
        $mail->AddAddress("[email protected]");      //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'>";
}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Scusami ma non ti ho capito e non ho capito che devo fare.

Nel form HTML gli allegati "name" si chiamano allegato1 e allegato2.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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']
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
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="[email protected]"; 
$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("[email protected]");     //Mail destinatario1
        $mail->AddAddress("[email protected]");      //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'>";
}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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="[email protected]"; 
$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("[email protected]");     //Mail destinatario1
        $mail->AddAddress("[email protected]");      //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'>";
}
?>
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
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="[email protected]"; 
$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("[email protected]");     //Mail destinatario1
    $mail->AddAddress("[email protected]");      //Mail destinatario2
    $mail->AddAddress("[email protected]");      //Mail destinatario3
    $mail->AddAddress("[email protected]");      //Mail destinatario4
    $mail->AddAddress("[email protected]");      //Mail destinatario5
    $mail->AddAddress("[email protected]");      //Mail destinatario6
    $mail->AddAddress("[email protected]");      //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'>";
}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
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
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
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="[email protected]"; 
$mail_presidente="[email protected]";
//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
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
mi ricordavo di questa cosa e proprio per questo nel php ho messo solo parole senza accenti o quant'altro...
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
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="[email protected]"; 
$mail_presidente="[email protected]";
//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
Autore Titolo Forum Risposte Data
G phpmailer e php 8.1 con estensione mysqli PHP 6
E Hosting e phpmailer PHP 0
E PHPMailer PHP 4
D PHPMailer con account gmail PHP 14
I PHPMailer non funziona PHP 13
I Guida/Tutorial configurare PHPMailer per inviare mails tramite contact form? PHP 2
A PHPMAILER e UMLAUTS (lettere tedesche äüäöß) PHP 2
G PHPMailer: SMTP error Gmail PHP 8
M Come usare la nuova versione di phpmailer? PHP 2
P [PHPmailer] SMTP Aruba.. problemi PHP 8
G Invio Mail con PHPMailer, problemi SMTP PHP 7
V PHPMailer PHP 11
V PHPmailer allegato PHP 0
P problemi invio email con phpmailer PHP 47
P phpmailer PHP 0
localhost.nicola File log erroe con phpmailer PHP 3
A problema phpmailer PHP 32
L invio smtp con phpmailer - problema invia due volte la email allo stesso utente PHP 0
O PhpMailer, Composer e Netbeans PHP 1
M Come inviare due mail diverse con phpmailer PHP 6
Z email phpmailer non arrivano PHP 0
B Invio email multiple PHPMAILER PHP 3
L Problema phpmailer,jquery e smtp PHP 1
P Problemi visualizzazione html con phpmailer PHP 6
P phpmailer e file_get_contents PHP 1
P Phpmailer ed wind-infostrada PHP 20
felino PHPMailer: Indirizzo IP e Immagine PHP 6
lsnight Phpmailer per principianti PHP 7
K form con phpmailer PHP 18
P Invio multiplo mail con phpmailer PHP 5
L problema classe phpmailer con la mia classe clsMail PHP 2
G problema con phpmailer 5.2.1 PHP 1
minatore Phpmailer PHP 6
M phpmailer multiplo in più pagine di un sito PHP 5
N PhpMailer e salvataggio allegato sul server PHP 11
R Phpmailer SMTP PHP 23
A problema con phpmailer PHP 10
metalgemini PHPmailer non arriva allegato PHP 10
piccino PHPMailer: inserire allegato PHP 5
E Invio email (era: phpmailer) PHP 52
F Phpmailer e l'indirizzo del mittente PHP 3
F PhpMailer PHP 5
borgo italia phpmailer?? PHP 7
C phpmailer PHP 7
emanuelevt phpmailer e altervista PHP 3
catellostefano Problema con la classe class.phpmailer.php PHP 5
SolidSnake4 PHPmailer errore PHP 4
A classe PHPMailer e mail di Libero PHP 1
S php mail vs phpmailer PHP 0
T Problemi phpmailer x invio ad indirizzi di libero. Aiutatemi! PHP 14

Discussioni simili