• 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
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • …
  • 10
Succ.
Primo Prec. 5 di 10 Succ. Ultimo
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 5 Ott 2012
  • #81
newanfa ha scritto:
La scrivo direttamente nel PHP no? Come mail presidente! Tanto anch'essa sarà fissa per ognuno. Nel caso che ti ho mandato il file è:manutd2003@alice.it
Clicca per allargare...

aspetto tue notizie...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 6 Ott 2012
  • #82
ciao
secondo me dovrebbe essere a posto.
una cosa nelle select della squadra correggi la prima option (non mettere spazio), ti faccio l'es delle prima
HTML:
  <td><select name="N_Portieri">
    <optgroup label="Por">
    <option value=""></option>
come al solito dai un occhio ai commenti
 

Allegati

  • allegato_1.zip
    allegato_1.zip
    5,4 KB · Visite: 230
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 6 Ott 2012
  • #83
Allora le SELECT le ho sistemate...ma scusa una cosa...Non abbiamo detto che team_MAIL lo mettiamo come indirizzo fisso? Cioè non capisco questa parte di codice...
PHP:
if(filter_var($_POST['team_MAIL'], FILTER_VALIDATE_EMAIL) == FALSE){
	$ok_ko.="non hai inserito il tuo indirizzo o indirizzo non valido<br>";
}else{
	$team_mail=$_POST['team_MAIL'];
}
unset($_POST['team_MAIL']);
//se vuoi, per motivi grafici, puoi lasciare il campo così come è
Cioè per come è il codice non significa:"se la mail è "team_MAIL OK altrimenti da errore?

E non ho capito che fà qua:
PHP:
$mail_presidente="minolightouch@libero.it";//se errato mette quello del del presidente
//se lo togli e scrivi solo il testo toli o commenta la riga sotto
unset($_POST['Mail_Presidente']);

Cioè in sostanza...nel form HTML i valori Mail_Presidente e team_MAIL li devo mettere nel "value" o come avevamo deciso NO?

Spiegami bene queste cose che ormai ci siamo! Grazie infinite!





borgo italia ha scritto:
ciao
secondo me dovrebbe essere a posto.
una cosa nelle select della squadra correggi la prima option (non mettere spazio), ti faccio l'es delle prima
HTML:
  <td><select name="N_Portieri">
    <optgroup label="Por">
    <option value=""></option>
come al solito dai un occhio ai commenti
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
  • 6 Ott 2012
  • #84
ciao
da quello che mi hai detto
1. l'indirizzo email del campo team_MAIL è l'indirizzo del mittente (cioè di chi invia) quindi se è così chi invia deve scrivere il suo indirizzo email.
per cui deve essesere verificato e, se errato, deve riscriverlo. come detto altrimenti come fai a sapere chi ti invial l'email?
è evidente che se chi ti scrive scrive un indirizzo fasullo, ma sintatticamenete corretto, non riesci a sapere chi ti ha scritto
2. nell'email del presidedente mi sono dimenticato di togliere il commento //se errato mette quello del del presidente .
comunque come ho fatto in questo modo SEI SICURO che l'email arrivi sempre al presidente
se nel form lasci (per ragioni grafiche) il campo di input con il value=minolightouch@libero.it (quindi sembra un campo e formalmente lo è) devo mettere il suo unset
se invece togli dal form il campo devi togliere l'unset($_POST['Mail_Presidente']); perche se non lo togli ti da errore non esistendo il $_POST['Mail_Presidente']
3. nelle selct della squadra tu hai scritto la prima option con degli spazi
<option value=" "> </option>
correggi in
<option value=""></option>
cioe togli lo spazio tra gli apici e tra option /option
è meglio per la verifica se selezionato o no, se non è stata fatta una selezione corretta (numero e nome) trasmette valore vuoto
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 6 Ott 2012
  • #85
Allora forse mi sono spiegato male io. Per il punto 1 siccome questo form lo metterò in 7 pagine diverse...Il mittente lo voglio mettere direttamente io in anticipo nel php. (io in pratica farò 7 file php uguali collegati ognuno ai 7 form). E di conseguenza non voglio che lo metta ognuno.
I select li ho sistemati.
Quindi ora manca che mi dici come devo modificare per il mittente fisso che nel caso del nostro esempio deve essere manutd2003@alice.it. grazie







borgo italia ha scritto:
ciao
da quello che mi hai detto
1. l'indirizzo email del campo team_MAIL è l'indirizzo del mittente (cioè di chi invia) quindi se è così chi invia deve scrivere il suo indirizzo email.
per cui deve essesere verificato e, se errato, deve riscriverlo. come detto altrimenti come fai a sapere chi ti invial l'email?
è evidente che se chi ti scrive scrive un indirizzo fasullo, ma sintatticamenete corretto, non riesci a sapere chi ti ha scritto
2. nell'email del presidedente mi sono dimenticato di togliere il commento //se errato mette quello del del presidente .
comunque come ho fatto in questo modo SEI SICURO che l'email arrivi sempre al presidente
se nel form lasci (per ragioni grafiche) il campo di input con il value=minolightouch@libero.it (quindi sembra un campo e formalmente lo è) devo mettere il suo unset
se invece togli dal form il campo devi togliere l'unset($_POST['Mail_Presidente']); perche se non lo togli ti da errore non esistendo il $_POST['Mail_Presidente']
3. nelle selct della squadra tu hai scritto la prima option con degli spazi
<option value=" "> </option>
correggi in
<option value=""></option>
cioe togli lo spazio tra gli apici e tra option /option
è meglio per la verifica se selezionato o no, se non è stata fatta una selezione corretta (numero e nome) trasmette valore vuoto
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
  • 6 Ott 2012
  • #86
ciao
basta che al posto di
PHP:
if(filter_var($_POST['team_MAIL'], FILTER_VALIDATE_EMAIL) == FALSE){
	$ok_ko.="non hai inserito il tuo indirizzo o indirizzo non valido<br>";
}else{
	$team_mail=$_POST[''];
}
unset($_POST['team_MAIL']);
tu metta
PHP:
$team_mail=manutd2003@alice.it;
unset($_POST['team_MAIL']);// e qui come per il presidente, se tieni nel form il campo di input team_MAIL, altrimenti lo togli
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 6 Ott 2012
  • #87
Ciao, non di dispiacere...un altro pò di pazienza. Ti ho postato i file aggiornati in quanto ho deciso che "Team" sia fisso nel php quindi ManUtd 2003; Mail_Presidente e Team_Mail fisse nel php...Mentre nel form html le metto come semplice testo...come puoi vedere dalla foto seguente...


Inoltre circa l'invio della mail...i vari $... devono essere rivisti in quanto prima provenivano dal form mentre ora hanno già un valore nel php. E inoltre nell'invio mail c'è sia AdCC che PostReplyto...

Mi riferisco a questa parte:
PHP:
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->AddReplyTo($team_mail);
	$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! </p>";
	}

Mi dai l'ultima occhiata generale? Grazie infinite.Vedi l'allegato File.zip
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 6 Ott 2012
  • #88
ciao
nel complesso mi sembra che vada bene, con delle piccole correzioni:
1. elimina o commenta la riga unset($_POST['Team']); il post non esiste più
2. metto gli apici alla riga $team_mail=manutd2003@alice.it; => $team_mail="manutd2003@alice.it";
3. togli lo spazio tra la prima otpion /option anche nella select mail avversario
4. le righe
$mail->AddCC($team_mail); //Invio Replay al mittente
$mail->AddReplyTo($team_mail);
se vuoi puoi tenerle entrambe, vedi se ti servono
con la prima arriva un'email a $team_mail
la seconda corrisponde alla funzione (es) di outlook "rispondi" cioè quando usi rispondi risponde all'indirizzo che hai scritto

poi la prova migliore è che tu provi e se funzia come vuoi tu vuol dire che "funzia"
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 6 Ott 2012
  • #89
Senti...ma a questo punto in questa parte di codice:
PHP:
<?php
unset($_POST['sub']);
//***** inizio verifiche dai post
$team="ManUTD 2003";
//e man mano elimino i $_post mettendoli in una variabile
//metto un mesaggio di errore a vuoto
$ok_ko="";
$team_mail="manutd2003@alice.it"; 
$mail_presidente="minolightouch@libero.it";

$ok_ok=""; può essere tolto vero?

Tanto ormai sia $team, sia $team_mail e sia mail_presidente hanno valori fissi! Vero?
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 6 Ott 2012
  • #90
ciao
no perche qualcuno potrebbe inviarti un exe, o un'email senza niente (ne messaggio ne allagato ne squadra)
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 7 Ott 2012
  • #91
ok. allora il codice dovrebbe essere finito. lo provo e ti faccio sapere. grazue mille ancora.







borgo italia ha scritto:
ciao
no perche qualcuno potrebbe inviarti un exe, o un'email senza niente (ne messaggio ne allagato ne squadra)
Clicca per allargare...
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 7 Ott 2012
  • #92
Allora sul fatto degli invii ci siamo...
1) La mail non parte se almeno un campo tra messaggio, formazione o allegato è compilato e non parte nemmeno se ti dimentichi pure un giocatore nelle select.
Perfettissimo!

Però...ho notato un errore quando non si mette l'indirizzo dell'avversario (cioè nel caso in cui ci si dimentica di metterlo)...e nello stesso tempo ho compilato tutte le select della squadra...
Esce il messaggio sia "A T T E N Z I O N E ! Non hai inserito l'indirizzo dell'avversario! A T T E N D I . . .", ma anche "A T T E N Z I O N E ! ! ! Devi compilare almeno un campo tra MESSAGGIO, SQUADRA o ALLEGATO! Attendi...". Cosa sbagliata...Perchè dovrebbe uscire solo quello dell'indirizzo dell'avversario.

Questo è l'attuale PHP:
PHP:
<?php
unset($_POST['sub']);
//***** inizio verifiche dai post
$team="ManUTD 2003";
//e man mano elimino i $_post mettendoli in una variabile
//metto un mesaggio di errore a vuoto
$ok_ko="";
$team_mail="manutd2003@alice.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 ! Non hai inserito l'indirizzo dell'avversario! A T T E N D I . . .<br>";
}else{
	$mail_avversario=$_POST['Mail_Avversario'];
	unset($_POST['Mail_Avversario']);
}
$oggetto=htmlspecialchars(trim($_POST['oggetto']));
if($oggetto==""){$oggetto="Consegna Team Manutd 2003";}//anche qui uno può scrvere e ti arriva es llluuutttrr
$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!<br>";
		}
    }else{
		$ok_ko.="Hai cercato di inviare un allegato di tipo non valido!<br>";
	}
}else{
	$allegato="";
}
//verifico che TUTTE le select siano state riempite
//conto i post rimasti
$conteggio=0;
foreach($_POST 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 ! ! ! Devi compilare almeno un campo tra MESSAGGIO, SQUADRA o ALLEGATO! Attendi...<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/manutd-2003.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['Schema']."</td></tr>";//Schema
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Portieri']."</td><td>".$_POST['Portiere']."</td></tr>";//Portiere
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore2']."</td><td>".$_POST['Giocatore2']."</td></tr>";//Giocatore 2
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore3']."</td><td>".$_POST['Giocatore3']."</td></tr>";//Giocatore 3
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore4']."</td><td>".$_POST['Giocatore4']."</td></tr>";//Giocatore 4
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore5']."</td><td>".$_POST['Giocatore5']."</td></tr>";//Giocatore 5
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore6']."</td><td>".$_POST['Giocatore6']."</td></tr>";//Giocatore 6
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore7']."</td><td>".$_POST['Giocatore7']."</td></tr>";//Giocatore 7
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore8']."</td><td>".$_POST['Giocatore8']."</td></tr>";//Giocatore 8
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore9']."</td><td>".$_POST['Giocatore9']."</td></tr>";//Giocatore 9
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore10']."</td><td>".$_POST['Giocatore10']."</td></tr>";//Giocatore 10
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore11']."</td><td>".$_POST['Giocatore11']."</td></tr>";//Giocatore 11
	$testo_html.= "<tr><td>&nbsp;</td><td>&nbsp;</td></tr>";//riga vuota la inserisci dove ti interessa
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Portieri2']."</td><td>".$_POST['Portiere2']."</td></tr>";//Portiere 2
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Portieri3']."</td><td>".$_POST['Portiere3']."</td></tr>";//Portiere 3
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore14']."</td><td>".$_POST['Giocatore14']."</td></tr>";//Giocatore 14
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore15']."</td><td>".$_POST['Giocatore15']."</td></tr>";//Giocatore 15
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore16']."</td><td>".$_POST['Giocatore16']."</td></tr>";//Giocatore 16
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore17']."</td><td>".$_POST['Giocatore17']."</td></tr>";//Giocatore 17
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore18']."</td><td>".$_POST['Giocatore18']."</td></tr>";//Giocatore 18
	$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['N_Giocatore19']."</td><td>".$_POST['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/manutd-2003.html'>";
}
?>

Aspetto tue delucidazioni...Grazie mille...










newanfa ha scritto:
ok. allora il codice dovrebbe essere finito. lo provo e ti faccio sapere. grazue mille ancora.
Clicca per allargare...
 
Ultima modifica: 7 Ott 2012

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 7 Ott 2012
  • #93
ciao
in teoria dovrebbero essere indipendenti
metti dei var_dump che poi toglierai
PHP:
<?php
//................
//conto i post rimasti
$conteggio=0;
foreach($_POST as $chiave => $valore){
	if(trim($valore) == ""){
		$conteggio++;
		break;
	}
}
var_dump($allegato);echo "<br>";//queste tre righe poi le togli
var_dump($conteggio);echo "<br>";
var_dump($messaggio);echo "<br>";
if($allegato=="" && $conteggio > 0 && $messaggio ==""){//RIGHE DA MODIFICARE
    $ok_ko.="A T T E N Z I O N E ! ! ! Devi compilare almeno un campo tra MESSAGGIO, SQUADRA o ALLEGATO! Attendi...<br>";
} 
//a questo punto (mi sembra) di aver fatto tutti i controlli
//...........
?>
poi
1. complla una email perfettamente con tutto (avversario, messaggio, allegato, squadra) ed invia
2. compila non mettendo email avversario, ma con es compilando messaggio ed inviando allegato e/o provando a fare degli errori
poi dimmi cosa ti riportano i var_dump

p.s.
nel messaggio basta che tu metta un paio di caratteri
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 7 Ott 2012
  • #94
1) Allora con la mail compilata in ogni sua parte mi esce:
PHP:
string(26) "Formazione ManUTD 2003.xls"
int(0)
string(44) "Prova messaggio perfettamente funzionante..."

Mail o Team inviati con successo! A T T E N D I. . .
2) Non mettendo avversario e con solo messaggio mi esce:
PHP:
string(0) ""
int(1)
string(4) "Ciao"
A T T E N Z I O N E ! Non hai inserito l'indirizzo dell'avversario! A T T E N D I . . .

Senza avversario e senza compilare niente esce:
PHP:
string(0) ""
int(1)
string(0) ""
A T T E N Z I O N E ! Non hai inserito l'indirizzo dell'avversario! A T T E N D I . . .
A T T E N Z I O N E ! ! ! Devi compilare almeno un campo tra MESSAGGIO, SQUADRA o ALLEGATO! Attendi...

Senza avversario ma con solo allegato:
PHP:
string(26) "Formazione ManUTD 2003.xls"
int(1)
string(0) ""
A T T E N Z I O N E ! Non hai inserito l'indirizzo dell'avversario! A T T E N D I . . .

Con quello che ti dicevo, cioè senza mail avversario e con tutta la squadra compilata:
PHP:
string(0) ""
int(1)
string(0) ""
A T T E N Z I O N E ! Non hai inserito l'indirizzo dell'avversario! A T T E N D I . . .
A T T E N Z I O N E ! ! ! Devi compilare almeno un campo tra MESSAGGIO, SQUADRA o ALLEGATO! Attendi...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 7 Ott 2012
  • #95
ciao
ho visto dove è l'ighippo
int(1)
se compili tutta la squadra manualmente dovrebbe essere int(0), ora cerco di capire perche da 1
eventualmente ti faccio una "piccola" modifica al form
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 7 Ott 2012
  • #96
ok grazie mille.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 7 Ott 2012
  • #97
ciao
ho modificato sia il form che il php, non servono piu gli unset (se me ne sono dimanticato qualcuno toglilo).
per ora non buttare il vecchio/i cambiagli solo nome
in questo modo conta solo ed esclusivamente la squadra manuale
quindi l'if
PHP:
if($allegato=="" && $conteggio > 0 && $messaggio ==""){
da il messaggio solo e solo se allegato e messaggio sono vuoti e la squadra non completamente o del tutto compilata, se uno è giusto invia

ho lasciato i var dump, fai delle prove se funzia toglili se non funzia fammi sapere


p.s.
spero di non aver sbagliato a caricare lo zip
verifica nel form dovresti trovare per tutta la squadra (es)
HTML:
<select name="squadra[N_Portieri]">
eccetere
e nel php
PHP:
$testo_html.= "<tr><td style=\"text-align:center;\">".$_POST['squadra']['N_Portieri']."</td><td>".$_POST['squadra']['Portiere']."</td></tr>";//Portiere
eccetera
 

Allegati

  • nuova_versione-01.zip
    nuova_versione-01.zip
    5 KB · Visite: 247

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.044
150
63
PR
www.borgo-italia.it
  • 8 Ott 2012
  • #98
ciao
ti rispondo qui perchè potrebbe essere utile a qualcun altro
...Mi spiegheresti perchè e a cosa è servito mettere le quadre ai nomi?
Clicca per allargare...
la variabile $_POST è un array globale che come chiave/i assume il nome della casella di input a cui si riferisce
es. se l'input ha name="pinco" con il $_POST['pinco'] leggo il valore corrispondente alla chiave pinco
se ho più campi di input simili che devo (come nel nostro caso) verificare assieme e nel primo name metto (es) name="pinco[pallo]",
nel secondo name="pinco[pallino]"... creo un array di array, per cui poi posso ciclare senza preuccuparmi degli altri eventuali $_POST
perchè facendo il foreach di $_POST['pinco'] vado a leggere $_POST['pinco']['pallo'], $_POST['pinco']['pallino']...
avrei potuto anche mettere name=name="pinco[]" in tal caso avresti letto i valori di $_POST['pinco'][0], $_POST['pinco'][1]..., ma mettendo quella chiave si capisce meglio a cosa si riferisce

veniamo al secondo:
Inoltre vorrei che al posto del refresh tornasse solo indietro. Sai perchè? Cioè se uno ha selezionato tutti i giocatori tranne 1...Mi sembra brutto e stancante se dopo il refresh si trovano a riscrivere tutto da capo...Poi io ti ho detto indietro ma può darsi che esiste un altro metodo. Cioè il concetto è questo...
Clicca per allargare...
tornare indietro o rehreshiare ha comunque lo stesso effetto, i valori dei post si perdono.
l'unico metodo per far ricordare alla pagina i valori impostati (esempio far diventare una option selected in funzione della scelta fatta in precedenza) è ricorrere alle sessioni o ai cookie, ma in tal caso oltre a modificare tutto lo script php devi modificare anche la parte del form che, in questo caso, non potrà più essere .htm ma essere .php

spero di essere stato chiaro
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 8 Ott 2012
  • #99
chiarissimo come sempre.










borgo italia ha scritto:
ciao
ti rispondo qui perchè potrebbe essere utile a qualcun altro

la variabile $_POST è un array globale che come chiave/i assume il nome della casella di input a cui si riferisce
es. se l'input ha name="pinco" con il $_POST['pinco'] leggo il valore corrispondente alla chiave pinco
se ho più campi di input simili che devo (come nel nostro caso) verificare assieme e nel primo name metto (es) name="pinco[pallo]",
nel secondo name="pinco[pallino]"... creo un array di array, per cui poi posso ciclare senza preuccuparmi degli altri eventuali $_POST
perchè facendo il foreach di $_POST['pinco'] vado a leggere $_POST['pinco']['pallo'], $_POST['pinco']['pallino']...
avrei potuto anche mettere name=name="pinco[]" in tal caso avresti letto i valori di $_POST['pinco'][0], $_POST['pinco'][1]..., ma mettendo quella chiave si capisce meglio a cosa si riferisce

veniamo al secondo:

tornare indietro o rehreshiare ha comunque lo stesso effetto, i valori dei post si perdono.
l'unico metodo per far ricordare alla pagina i valori impostati (esempio far diventare una option selected in funzione della scelta fatta in precedenza) è ricorrere alle sessioni o ai cookie, ma in tal caso oltre a modificare tutto lo script php devi modificare anche la parte del form che, in questo caso, non potrà più essere .htm ma essere .php

spero di essere stato chiaro
Clicca per allargare...
 
N

newanfa

Utente Attivo
12 Mag 2010
131
0
0
  • 11 Ott 2012
  • #100
Ciao 2 nuove domande.

Ho fatto un nuovo e semplicissimo form HTML collegato allo script PHP che deve solo inviare un file a 6 destinatari fissi. L'oggetto lo inserisce il mittente perchè ogni volta potrebbe variare. (In sostanza tramite questo form il presidente che è il mittente invia ogni settimana i risultati tramite un file .xls).

Sul form html ho messo:
Mittente: Il Presidente (solo testuale perchè lo metto fisso nel php)
Mittente Mail: minolightouch@libero.it (solo testuale perchè la metto fisso nel php)
Oggetto:(tramite input con name "oggetto")
Messaggio: (tramite input con name "messaggio")
Allega File:
INVIA
CANCELLA

Come Php ho messo così:
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['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="";
}

//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($mail_avversario);     //Mail destinatario
	//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($allegato !=""){
    	$mail->AddAttachment($allegato);  //allegato 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.$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='4; URL=http://fscg.blogspot.it/p/alexander.html'>";
}
?>

Ora i 6 destinatari li metto direttamente in $mail->AddAddress($mail_avversario); ? Come?

E inoltre voglio mettere la possibilità di inviare 2 allegati ma con la possibilità di allegarne soltanto uno senza che ti dia errore.
Mi dai una controllata a quello già fatto e mi dici per i 6 destinatari e per l'allegato? Grazie. Ciao.
 
Prec.
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • …
  • 10
Succ.
Primo Prec. 5 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?