• Home
  • Forum
  • Fare Web
  • PHP

PhpMailer SELECT e OPTION

  • Creatore Discussione Creatore Discussione newanfa
  • Data di inizio Data di inizio 20 Set 2012
Prec.
  • 1
  • …
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Succ.
Primo Prec. 6 di 10 Succ. Ultimo

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 14 Ott 2012
  • #101
ciao
ci do un occhio e poi posto.
è una nuova pagina o una integrazione del vecchio script?
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 14 Ott 2012
  • #102
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!







borgo italia ha scritto:
ciao
ci do un occhio e poi posto.
è una nuova pagina o una integrazione del vecchio script?
Clicca per allargare...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 14 Ott 2012
  • #103
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");
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 15 Ott 2012
  • #104
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!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 15 Ott 2012
  • #105
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
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 15 Ott 2012
  • #106
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!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 15 Ott 2012
  • #107
ciao
no
$mail->Body = $testo_html;
ma
$mail->Body =$messaggio;
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 15 Ott 2012
  • #108
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'>";
}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 15 Ott 2012
  • #109
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
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 15 Ott 2012
  • #110
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.044
150
63
PR
www.borgo-italia.it
  • 15 Ott 2012
  • #111
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']
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 15 Ott 2012
  • #112
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'>";
}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 16 Ott 2012
  • #113
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'>";
}
?>
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 18 Ott 2012
  • #114
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'>";
}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 19 Ott 2012
  • #115
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
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 22 Ott 2012
  • #116
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
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 22 Ott 2012
  • #117
ciao
per caso hai qualche nome con l'accento (o squadra o giocatore)? potrebbe essere quello che fa sballare
 
N

newanfa

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

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 22 Ott 2012
  • #119
ciao
nel php non vedo errori, prova a guardare nelle select di aver scritto bene i nomi e i numeri
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 22 Ott 2012
  • #120
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: 22 Ott 2012
Prec.
  • 1
  • …
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
Succ.
Primo Prec. 6 di 10 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

G
phpmailer e php 8.1 con estensione mysqli
  • giacomo9783
  • 24 Nov 2022
  • PHP
Risposte
6
Visite
2K
PHP 5 Dic 2022
giacomo9783
G
E
Hosting e phpmailer
  • Emanuele85
  • 18 Apr 2021
  • PHP
Risposte
0
Visite
1K
PHP 18 Apr 2021
Emanuele85
E
E
PHPMailer
  • erwin
  • 1 Ott 2019
  • PHP
Risposte
4
Visite
1K
PHP 4 Ott 2019
borgo italia
D
PHPMailer con account gmail
  • Dex01
  • 25 Apr 2019
  • PHP
Risposte
14
Visite
7K
PHP 8 Mag 2019
l.chiabrera
L
I
PHPMailer non funziona
  • iTonto
  • 7 Dic 2018
  • PHP
Risposte
13
Visite
8K
PHP 11 Dic 2018
marino51
I
Guida/Tutorial configurare PHPMailer per inviare mails tramite contact form?
  • iTonto
  • 29 Nov 2018
  • PHP
Risposte
2
Visite
2K
PHP 29 Nov 2018
iTonto
I
A
PHPMAILER e UMLAUTS (lettere tedesche äüäöß)
  • angus
  • 25 Mar 2018
  • PHP
Risposte
2
Visite
1K
PHP 25 Mar 2018
angus
A
G
PHPMailer: SMTP error Gmail
  • Giulo77
  • 15 Mar 2018
  • PHP
Risposte
8
Visite
5K
PHP 17 Mar 2018
Giulo77
G
M
Come usare la nuova versione di phpmailer?
  • migo80
  • 24 Nov 2017
  • PHP
Risposte
2
Visite
2K
PHP 31 Gen 2018
MoPa
M
P
[PHPmailer] SMTP Aruba.. problemi
  • perseoclub
  • 11 Ago 2017
  • PHP
Risposte
8
Visite
22K
PHP 11 Ago 2017
perseoclub
P
G
Invio Mail con PHPMailer, problemi SMTP
  • Guest94
  • 3 Ago 2017
  • PHP
Risposte
7
Visite
5K
PHP 8 Ago 2017
stefano78
S
V
PHPMailer
  • Vale992
  • 24 Gen 2017
  • PHP
Risposte
11
Visite
3K
PHP 25 Gen 2017
marino51
V
PHPmailer allegato
  • Vale992
  • 16 Gen 2017
  • PHP
Risposte
0
Visite
1K
PHP 16 Gen 2017
Vale992
V
P
problemi invio email con phpmailer
  • paperinik4
  • 27 Ago 2016
  • PHP
  • 2 3
Risposte
47
Visite
6K
PHP 31 Ago 2016
paperinik4
P
P
phpmailer
  • paperinik4
  • 16 Ago 2016
  • PHP
Risposte
0
Visite
1K
PHP 16 Ago 2016
paperinik4
P
File log erroe con phpmailer
  • localhost.nicola
  • 20 Mag 2016
  • PHP
Risposte
3
Visite
2K
PHP 23 Mag 2016
marino51
A
problema phpmailer
  • akp
  • 11 Mag 2016
  • PHP
  • 2
Risposte
32
Visite
6K
PHP 25 Mag 2016
akp
A
L
invio smtp con phpmailer - problema invia due volte la email allo stesso utente
  • luigi777
  • 30 Mar 2016
  • PHP
Risposte
0
Visite
2K
PHP 30 Mar 2016
luigi777
L
O
PhpMailer, Composer e Netbeans
  • oscar
  • 13 Mar 2016
  • PHP
Risposte
1
Visite
1K
PHP 23 Mar 2016
oscar
O
M
Come inviare due mail diverse con phpmailer
  • migo80
  • 14 Dic 2015
  • PHP
Risposte
6
Visite
3K
PHP 14 Dic 2015
migo80
M
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?