vedi su ^^^![]()
vedi su ^^^![]()
Grazie per le risposte
Domani provo e se funziona posto tutto il codice così che possa essere d'aiuto a tutti.
Nessuno sa dirmi qualcosa per il fatto che le mail mi arrivino tutte "scombinate"?
Il problema si presenta ugualmente...
Nel mio form è necessario che io acquisisca le variabili prima della costruzione della variabile $body (che io utilizzo per il corpo della mail).
Supponiamo che le variabili 1 e 2 siano riferite ad un checkbox o ad un radiobutton. L'operazione che faccio PRIMA di definire la variabile $body è questa:
Poi, formando la variabile $body, avrò questo codice:codice:$variabile1 = $_POST['variabile1']; $variabile2 = $_POST['variabile2'];
Ora: se i campi che contengono testo (o cmq stringhe) non sono compilati, con i comandi di cui sopra non ho alcun problema.codice:if (isset($variabile1)) $body = "Nome della variabile 1: " .$variabile1. " "; if (isset($variabile2)) $body .= "Nome della variabile 2: " .$variabile2. " ";
Se invece, come nel caso che ho spiegato, mi si presentano di chackbox o dei radiobutton, mi salta fuori questo errore:
Notice: Undefined index: variabile1 in C:/percorso del file
L'errore rimanda a questa parte di codice:
Che faccio a questo punto?codice:$variabile1 = $_POST['variabile1'];![]()
La tua ultima precisazione non e' per niente chiara.... pero' io sono utonto.... se i campi sono vuoti va bene se compilati no? :master:Originariamente inviato da Diableria
Up
Direi che bisognerebbe vedere un po' di codice a questo punto.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
No, semplice: a me interessa che se i campi sono compilati compaiano nella mail, se i campi non sono compilati non devono comparire.
- Se i campi sono compilati non c'è problema, siano essi campi di testo, checkbox o radiobutton. Vengono tranquillamente inseriti nel corpo della mail.
- Se i campi non sono compilati si presentano 2 casi:
1)se si tratta di campi di testo non mi da alcun errore, e semplicemente il campo non compilato non compare nemmeno nella mail, usando questo codice:
2)se si tratta di checkbox o radiobutton invece mi da l'errore che ho specificato sopra. Il codice che, come mi è stato suggerito, ho usato è questo:Codice PHP:
if ($pc_nome != "") $body .= "Nome: " .$pc_nome. "
";
Se non è ancora chiaro chiedi pureCodice PHP:
if (isset($pc_partenza_automezzo)) $body .= "Strada accessibile con automezzo: " .$pc_partenza_automezzo. "
";
![]()
Devi mettere ISSET() su $_POST e non dopo.
if(ISSET($_POST['variabile1') $variabile1 = $_POST['variabile1'];
cioe' puoi fare direttamente:
if (isset($_POST['variabile1'])) $body = "Nome della variabile 1: " .$_POST['variabile1']. "
";
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Perfetto, funziona a meraviglia così! Inutile dire che sono un po' imbranato, ho appena cominciato...![]()
Rimane un altro problema adesso: perchè la mail mi arriva con pezzi di tag sparsi qua e là? Ho controllato il codice html inserito nel php ed è tutto perfetto... addirittura mi "sballa" la mail in maniera differente da una volta per l'altra![]()
Ho inserito i seguenti headers, non vorrei ci fosse qualcosa di sbagliato...
Che richiamo nella mail con questo codice:Codice PHP:
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
Codice PHP:
mail("$target","$subject","$body","$headers");
Confrontati con pillole e articoli.... vanno tutti bene.
http://forum.html.it/forum/showthrea...hreadid=513009
http://forum.html.it/forum/showthrea...postid=5590695
specialmente questo:
http://freephp.html.it/articoli/view_articolo.asp?id=70
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.