PhpMailer SELECT e OPTION

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
intato la riga
$testo_html.= "<tr><td colspan='2'>&nbsp;</td>".nl2br($messaggio)."</td></tr>";
contiene un errore, manca l'aperura del td
$testo_html.= "<tr><td colspan='2'>&nbsp;</td><td>".nl2br($messaggio)."</td></tr>";
quindi verifica tutte le righe che ad ogni tr aperto corrisponda un tr chiuso, analoganemte per i td
non serve che tu metta &nbsp; tra gli apici e i punti di concatenamento
edit
se la tabella è a due colonne non ti serve colspan='2' anzi fa ca..no.
il colspan serve se es la tabella è a tre colonne e una riga invece ne vuoi due es
HTML:
<table>
<tr><td>aaa</td><td>bbb</td><td>ccc</td></tr> <!-- tre colonne-->
<tr><td colspan='2'>eeeeee</td><td>ccc</td></tr> <!-- due colonne-->
</table>
 
Ultima modifica:

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Quindi il colspan lo devo proprio togliere? Perchè quello cmq me lo avevi messo tu.

E non ho capito quando mi dici (per i td
non serve che tu metta &nbsp; tra gli apici e i punti di concatenamento) che devo fare... Grazie mille.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
il colspan puoi anche lasciarlo (non mi ricordo se la tabella è a tre o due colonne), per lo spazio
non serve che tu faccia
PHP:
$testo_html.= "<tr><td style=\"text-align:center;\">"."&nbsp;"."</td><td>"."&nbsp;"."</td></tr>";
anche se va bene lo stesso, basta
PHP:
$testo_html.= "<tr><td style=\"text-align:center;\">&nbsp;</td><td>&nbsp;</td></tr>";

comunque, se hai verificato che i tr e i td siano aperti/chiusi come si deve, il resto lo puoi lasciare com'è
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Ciao ora è tutto ok! Almeno spero. L'unica cosa è che non riconosce i caratteri speciali tipo é è ò à ù. C'è un modo per metterli o farli riconoscere? Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
guarda se vicino al DOCTYPE hai
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
se si prova a modificarlo in
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
nel html, l'html generalmente inizia com un
<!DOCTYPE html>
se stai usando html5 o con
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
se sta usando il 4 dopo il docttype dovresti avere i tag
<html>
<head>
lo metti tra <head> e </head>
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Allora giusto per capirci meglio.

Io ho una pagina statica in blogger in HTML dove è presente il form per l'invio della formazione. Solo che mi sa che in blogger non puoi cambiare il Charset.

Questa pagina è collega ai file PHP caricati su altervista.org.

Quindi cosa mi consigli di fare?

Perchè mettendo <meta> nella pagina statica non succede niente! Mentre ho visto che Blogger nel suo HTML ha impostato UTF-8.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
è la mania assura di utf, comunque guardo phpmailer e se si può fare qualcosa posto
mal che vada facciamo una funzione php che sostituisca es. è con e'
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
tu hai un form html, prova a mettere li
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
e prova anche nella parte php prima del tag di apertura <?php se acnche nella pag hai il doctype
comunque ho guardato phpmailer è settata per iso-8859-1
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Allora questo form mi sta facendo impazzire. Ora sembrava tutto funzionare. in quanto avevo corretto un pò il codice php, lasciando il colspan per il messaggio e la riga vuota scrivendola nel modo che vedi...

Ora ha provato un membro a mandarmi la sua formazione senza niente nel messaggio e si è sballato il numero del secondo portiere. Mentre invece con la stessa formazione scrivendo qualcosa nel messaggio non sballa niente.

Il codice PHP è:
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'>".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 style=\"text-align:left;\">&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'>";
}
?>

Se non scrivo niente nel messaggio il numero del secondo portiere in panchina esce scritto !88 al posto di 88.

Non pensi che il problema potrebbe essere che abbiamo unito nella stessa dabella il messaggio e concatenato?

Non sarebbe meglio rendere il messaggio una cosa separata e rendere la tabella indipendente?
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Riguardo ai caratteri speciali...niente da fare...Nemmeno col secondo metodo che mi hai detto.
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Ho letto che in phpmailer il CharSet si deve dichiarare in quanto non è automatico...Ma non ho capito come. Quando hai tempo risolvimi pure gentilmente gli altri problemi. Grazie
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
intendo dire...Table farla partire dalla cella schema...mentre il message non metterlo in table...Perchè presuppongo sia quello che da problemi...Starò pure dicendo una cavolata non so...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se vuoi tirare fuori il testo del messaggio dalla tabella, correggi
PHP:
<?php
//.......
	//prepato il testo in formato html
    $testo_html="<table>";
    $testo_html.= "<tr><td colspan='2'>".nl2br($messaggio)."</td></tr>";
    if($conteggio ==0 ){//tutta la squadra è riempita
//......
?>
con
PHP:
<?php
//.......
	//prepato il testo in formato html
    $testo_html=nl2br($messaggio);
    $testo_html.= "<table>";
    if($conteggio ==0 ){//tutta la squadra è riempita
//......
?>
anche se non credo che dipenda da quello, secondo me o ti porti dietro qulche porcheria o, più probabile, devi verificare BENE le aperture/chiusure dei tag, ne hai tanti uno può sfuggire (e basta uno)
 

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Sto andando per supposizione... Questo form mi sta facendo impazzire. Facciamo che provo a togliere il messaggio. nel caso in cui non risolvo, ti rimando il php per intero e gli dai una controllata tu.

La questine dei caratteri speciali è risolta. grazie ancora.
 
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