- Home
- Categorie
- Coding e Sistemistica
- PHP
- [Tutorial] Gestione di un form mail semplice
-
Vedo che manca l'oggetto della mail, intanto modifica il file messaggio.php così:
[php]<?phpif ((trim($_POST['mail']) != "") && (trim($_POST['body']) != "")) {
$to = "[email protected]";
$headers = "From: " . $_POST['mail'] . "\r\n";
$subject = "Oggetto della mail";// corpo messaggio
$body = "Messaggio dal sito:\n\n";$body .= "Inviata da: " . trim(stripslashes($_POST["mail"])) . "\n";
$body .= "testo: " . trim(stripslashes($_POST["body"])) . "\n"; //messaggio
mail($to, $subject, $body, $headers);
echo "<center>La mail è stata inviata con successo. Grazie per averci contattato</center>";
} else {// altrimenti
echo "<center>Deve compilare la form prima di inviare.</center>";}
?> [/php]Dato che usi una casella alice ti consiglio di controllare la casella dalla webmail e controllare la cartella posta indesiderata, probabile che viene considerata spam e che non te la fa scaricare dal client.
-
L'oggetto non c'è perché non ho messo il campo oggetto va messo lo stesso?
-
Niente ho provato ad aggiungere il subject però quanndo clicco su invia mi viene fuori una pagina bianca non mi viene fuori il messaggio di errore
-
Dopo tre anni dall'apertura di questo post, sono qui a parlare di questo form contatti molto utile, perchè lo sto utilizzando sul mio sito.
Veniamo al problema: lo script va alla grande, ricevo le mail, ed ho aggiunto altri elementi a quelli presenti nello script (menu a tendina e checkbox) che funzionano.
Allora che vuoi? Direte voi
Volevo migliorarlo, aggiungendovi un redirect ad una pagina del sito, qualche secondo dopo aver visualizzato il messaggio di avvenuto inoltro dei dati. Preferibilmente questa pagina potrebbe essere sempre quella dei contatti, però con i dati azzerati.
Il problema è che non ne capisco molto di php...:?
Che ne pensate?
Chissà se ci sarà qualcuno che leggerà questo msg dopo così tanto tempo...
spero di si :).Cmq grazie a pickadilly e a tutti, siete fantastici
BluesMan
-
Credo di aver risolto.
Per chi avesse bisogno:è 1 redirect interno al sito che avviene dopo 3 secondi
ho inserito nell'<head> della pagina invio.php questa stringa:<meta http-equiv="refresh" content="3;URL=pagina.html" />
ciao a tutti.
BluesMan
-
@BluesMan said:
Credo di aver risolto.
Per chi avesse bisogno:è 1 redirect interno al sito che avviene dopo 3 secondi
ho inserito nell'<head> della pagina invio.php questa stringa:<meta http-equiv="refresh" content="3;URL=pagina.html" />
ciao a tutti.
BluesMan
Secondo me non ti conviene molto perchè se uno si addormenta mentre scrive sulla tastiera proprio all'ultimo textinput gli si ricarica la pagina e perde tutte le info...
-
Si in effetti, come metodo è 1 po drastico, però è sempre meglio della pagina di "messaggio inoltrato" statico, che ti costringe a tornare indietro manualmente.
Comunque, accetto qualsiasi seggerimento :D.
Hai qualche idea?Ciao
BluesMan
-
Ragazzi avrei bisogno di una mano!
Ho utilizzato lo script da voi proposto. La mail la invia, ma quando la ricevo tutti i campi sono vuoti (ovvero "")! Ho tolto l'if iniziale (farò dopo una validazione lato client) altrimenti mi andava subito nel ramo else. Secondo voi da cosa può dipendere?
-
Ciao! Io sto provando ad usare il form che c'è nella prima pagina di questo post e funziona tutto alla grande.
Vorrei solo sapere come faccio a far si che oltre all'indirizzo che ho messo nel campo "$to=", arrivi una mail anche all'indirizzo di chi si registra.
Ho provato a scrivere "$to= $mail;" ma non va...Mi potete aiutare?
-
Devi ripetere l'istruzione mail 2 volte e impostare come destinatario di una delle 2 l'indirizzo del mittente.
-
Accidenti che velocità! Grazie per la risposta.
Scusa ma non ho capito, io ho scritto:$to = " [email protected], $mail ";
e vorrei che in automatico recuperasse l'indirizzo email che chi si iscrive ha scritto nel campo "mail" e gli mandasse pure a lui un'email come quella che ricevo io, è possibile?
Grazie ancora.
-
Perdonatemi ma io non so praticamente nulla di php... Qualcuno mi potrebbe scrivere esattamente che devo mettere?
Ho provato a mettere solo "$to = $mail" ma non mi arriva nessuna email all'indirizzo con cui mi registro...
-
Un'altra cosa, qualcuno mi sa spiegare perchè se aggiungo:
$bcc = "[email protected]";
non mi invia nulla alla mail in copia nascosta?
cosa sbaglio?
-
Buonasera a tutti!!!
Perché io ricevo come errore:
Warning: mail() [function.mail]: SMTP server response: 501 5.5.4 Invalid Address in D:\inetpub\webs\hotelmiamijesoloit\invio.php on line 27
La mail è stata inviata con successo. Grazie per averci contattato???
Grazie!
-
Posta il codice dell'invio della mail.
-
Scusate ho sistemato tutto, grazie a pikadilly...
e anch'io come Fante vorrei capire come si invia il form a due indirizzi email diversi...
Grazie!!!
-
@borghe said:
e anch io come Fante correi capire come si invia il form a due indirizzi email diversi...
Nella variabile $to metti gli indirizzi separati dalla virgola...Se non vuoi far sapere a tutti i vari destinatari devi ripetere il codice per ogni indirizzo diverso.
-
Grazie tigrone!!
Quindi basta solo la virgola e uno spazio?
Ma il mittente come può sapere a chi viene inviato il form?
-
@borghe said:
Ma il mittente come può sapere a chi viene inviato il form?
Non ti è mai arrivata una mail tipo 'catena di S.Antonio'?
-
Scusa avevo letto male...
Che i destinatari si vedano tra loro non è un problema...