Condividi:        

Come si fa a inviare ad un e-mail i risultati di un modulo?

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Anthony47, Triumph Of Steel, archimede

Come si fa a inviare ad un e-mail i risultati di un modulo?

Postdi silvia_webmaster » 14/04/05 22:39

Ciao a tutti....sto realizzando un sito con DREAMWEAVER, ho fatto tutto senza problemi l'unico problema sta nel fatto che non so gestire un database, quindi vorrei inviare i risultati di un un semplice modulo (nome, cognome,email) al mio indirizzo di posta. Credo che bisogna aggiungere del codice ma non so ... Qualcuno mi sa aiutare??!!??

Ciao grazie a tutti, Silvia
Silvia
silvia_webmaster
Utente Junior
 
Post: 15
Iscritto il: 14/04/05 22:15
Località: milano

Sponsor
 

Postdi Mone » 14/04/05 22:43

Hai bisogno di uno script lato server tipo php o asp nn credo che cn javascript tu possa mandare e-mail dal pc di un utente (arriverei quasi a escluderlo)

Necessito di maggiori dettagli...
Avatar utente
Mone
Utente Senior
 
Post: 343
Iscritto il: 21/10/03 19:44
Località: Zion

Postdi *~Hayabusa~* » 14/04/05 23:09

Inviare mail con i risultati di un modulo..se hai supporto php un sacco di cose belle si trovano su freephp.html.it sezione freescript, nel tuo caso questa è la categoria da quardare.

Se trovi uno script che ti va bene ma magari ti serve modificarlo in qualcosa (se la licenza te lo permette) facci sapere che ti aiutiamo.

HTH :)
..ed e' cibo per la mente,
acqua dalla sorgente,
luce fosforescente
laddove il buio e' costante ..
*~Hayabusa~*
Hardware Admin
 
Post: 1386
Iscritto il: 12/05/02 22:44
Località: Davanti al monitor..

Postdi Dylan666 » 14/04/05 23:15

Documentati sul POST dei form,

http://www.html.it/guida/html_44.htm

Bada bene però, cos' la mail partirà dal programma di posta dell'utente (quindi se è configurato male non arriva) e i dati saranno contenuti in un file ATT allegato, scritto con dei caratteri particolari al posto di spazi, punti, virgole ecc.
Per leggere questi allegati in modo chiaro dovrai usare un programma come questo: URLcook


Ora però se vuoi evitare questa trafila puoi usare il metodo GET, ma devi avere uno spazio che supporti il PHP e hai bisogno di un piccolo codice.
Per il codice ci posso pensare io, tu entra meglio nello specifico di quello che devi fare ;)
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

....

Postdi silvia_webmaster » 15/04/05 16:49

Ciao ragazzi..grazie x le risposte, ho un po' di confusione..per esempio il dominio l'ho registrato con Aruba, ma non so se supporta uno spazio PHP.. Quello che vorrei fare io è riceve su un'indirizzo e-mail i risultati del modulo (Nome:Brambilla etc.), ma non so se questo è possibile. Intanto mi documento un po' e scarico qualche script. Ciao Silvia
Silvia
silvia_webmaster
Utente Junior
 
Post: 15
Iscritto il: 14/04/05 22:15
Località: milano

Postdi Dylan666 » 15/04/05 17:35

Che io sappia il supporto PHP c'è eccome. Appena ho un po' di tempo ti faccio un esempio chiamando i vari campi del form campo1, campo2, campo 3 ecc ok?
Poi tu li rinomini come nome, cognome ecc. Da quello che ho capito tutte queste mail hanno un destinatario fisso, giusto? Cioè sono tutti moduli che vanno recapitati a un indirizzo particolare. Se ho toppato quelcosa correggimi.
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Postdi Dylan666 » 15/04/05 18:38

Dylan666 ha scritto:Appena ho un po' di tempo ti faccio un esempio chiamando i vari campi del form campo1, campo2, campo 3 ecc ok?


Ci ho ripensato :P coi nomi troppo simili si genera solo confusione! Allora guarda, questo è un form in cui si immette nome, cognome, mail e un testo a piacere:

<html>

<head>
</head>

<body>
<form name="form1" action="invia_mail.php" method="POST">
<p align="center"><b>Nome:</b><br>
<input name="nome" type="text">
</p>
<p align="center"> <b>Cognome:</b><br>
<input name="cognome" type="text">
<br>
<br>
<b>Indirizzo E-Mail:</b><br>
<input name="mail" type="text">
<br>
<br>
<b>Testo</b><br>
<textarea name="testo" cols="50" rows="10" id="testo"></textarea>
<br>
</p>
<p align="center">
<input type="submit" value="Invia" name="submit" >
</span><br>
</p>
<p align="center" /p>
</form>

</body>
</html>


Come vedi il form punta a un file chiamato invia_mail.php. Lo devi creare e scriverci dentro:

<?php

$mailheaders = "From: Mittente_che_ti_pare <mittente@mail.com> \n\n";

$msg = "Qusta mail è stata inviata tramite il modulo di iscrizione del sito\n\n";

$msg .= "Nome:\t$nome\n";

$msg .= "Cognome:\t$cognome\n";

$msg .= "Indirizzo E-Mail:\t$ind_mail\n\n";

$msg .= "Testo:\t$testo\n\n";

mail("tua_mail@mail.it", "oggetto_della_mail", $msg, $mailheaders);

echo "<H1 align=center><font face=verdana>Grazie, $nome $cognome</font></h1>";

echo "<p align=center><font face=verdana>La tua richiesta è stata inviata</font></p>"

?>


Ti spiego solo la parte colorata, il resto spero che si capisca o almeno ti dovrebbe essere più chiaro provando la mail evedendo che ti arriva. Dunque:

  1. La parte verde riguarda al mittente. A te interessa poco dato che stai spedendo una mail a te stessa, ma magari ti è utile se vuoi creare una regola nel programma di posta che ti sposti tutti i messaggi inviati da X nella cartella Y. E comunque lasciandolo bianco mi scriveva "Apache" (che è il nome del server che mi ha mandato la mail) e non mi piaceva :P
  2. La parte rossa è dove devi inserire il destinatario a cui vanno spediti tutti quesiti moduli
  3. La parte blue serve a personalizzare l'oggetto della mail. Anche questo magari è utile se usi le regole per la posta o comunque vuoi identificare a colpo d'occhio i messaggi generati dal form del sito.


Se hai domande chiedi pure. Questa è l'applicazione più semplice del'invio mail da form col php. Per questo è anche il più facile da capire, mentre magari trovarsi davanti uno script già fatto non è il massimo se si è agli inzi, anche perché magari ha tanta roba superflua e non puoi saperlo ;)
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Postdi silvia_webmaster » 18/04/05 15:05

Innanzi tutto ti ringrazio tantissimo Dylan, ho seguito passo passo tutto, ho caricato le due pagine sul server, ma esce una pagina di errore con questo messaggio:

Parse error: parse error in D:\Inetpub\webs\ristorantelecascineit\invia_mail.php on line 1

?? Che posso fare?

Grazie ancora, Silvia
Silvia
silvia_webmaster
Utente Junior
 
Post: 15
Iscritto il: 14/04/05 22:15
Località: milano

Postdi Dylan666 » 18/04/05 15:07

Sicura che hai copiato bene? Non è che ti sei scordata quelche virgoletta da qualche parte? O magari la < nella prima riga?
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Postdi silvia_webmaster » 18/04/05 15:34

MMH..la funzione cerca no..però mi sembra di aver copiato bene. Adesso ho fatto un'altra prova inserendo una cosa del genere:

<form name="modulo" method="post" action="mailto:vostroindirizzo@provider.it" ENCTYPE="text/plain" onSubmit="location.href='pagina.htm'">

e la mail mi arriva con i dati. Però quello che mi dicevi tu si basava sul PHP che è più sicuro e non si basa sul client di posta del visitatore..giusto?
Silvia
silvia_webmaster
Utente Junior
 
Post: 15
Iscritto il: 14/04/05 22:15
Località: milano

Postdi Dylan666 » 18/04/05 15:43

Col metodo che hai fatto tu torniamo al discorso del file ATT che accennavo prima, diciamo che è più scomodo per tutti.

Ri-posto per sicurezza il contenuto del file PHP, l'ho appena ri-collaudato e da me funziona:

Codice: Seleziona tutto
<?php

$mailheaders = "From: Mittente_che_ti_pare <mittente@mail.com> \n\n";

$msg = "Qusta mail è stata inviata tramite il modulo di iscrizione del sito\n\n";

$msg .= "Nome:\t$nome\n";

$msg .= "Cognome:\t$cognome\n";   

$msg .= "Indirizzo E-Mail:\t$ind_mail\n\n";

$msg .= "Testo:\t$testo\n\n";

mail("mail_destinatario@mail.it", "oggetto_della_mail", $msg, $mailheaders);

echo "<H1 align=center><font face=verdana>Grazie, $nome $cognome</font></h1>";

echo "<p align=center><font face=verdana>La tua richiesta è stata inviata</font></p>"



?>
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Postdi Dylan666 » 18/04/05 15:44

silvia_webmaster ha scritto:MMH..la funzione cerca no..però mi sembra di aver copiato bene.


Quella che leggi dopo la linea _________ è la mia firma, cioè una frase, serie di frasi o immagini che ogni utente può far inserire in automatico alla fine di OGNI suo post (si configura dal pannello "Profilo"). Ciò che dice quindi non è riferito a te in particolare ma a tutti in generale.

Mi raccomado alla parentesi angolare di apertura: <
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Postdi Dylan666 » 18/04/05 15:46

silvia_webmaster ha scritto:Parse error: parse error in D:\Inetpub\webs\ristorantelecascineit\invia_mail.php on line 1


Ops, non avevo visto: stai provando lo script sul tuo PC? Ma hai installato un programma di server e i moduli PHP? Altrimenti è chiaro che non funziona! La prova falla direttamente mettendo i 2 file on-line sul tuo spazio con supporto PHP ;)
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Postdi silvia_webmaster » 18/04/05 15:48

ECCO! HO CAPITO siccome ho creato il sito su una pagina modello, avevo inserito il codice <?php all'interno dell'area modificabile, per quello non funzionava! Ti ringrazio tantissimo mi hai dato una mano enorme Dylan!! :P :P :P

PS E' possibile usare il modello?

Silvia
Silvia
silvia_webmaster
Utente Junior
 
Post: 15
Iscritto il: 14/04/05 22:15
Località: milano

Postdi *~Hayabusa~* » 18/04/05 15:58

Si è possibile, fai così:
creati la pagina in html e chiamala invia_mail.php

apri la pagina col blocco note o col wordpad e sotto il tag <body>
ci metti il codice che ti ha postato dylan escluso l'ultimo rigo.

Prima del tag </body> metti l'ultimo rigo, quello che dice ?>
..ed e' cibo per la mente,
acqua dalla sorgente,
luce fosforescente
laddove il buio e' costante ..
*~Hayabusa~*
Hardware Admin
 
Post: 1386
Iscritto il: 12/05/02 22:44
Località: Davanti al monitor..

Postdi Dylan666 » 18/04/05 16:04

hehehhe, qui iniziano i primi accorgimenti. Ti conviene fare la tua bella pagina HTML con Dreamweaver, poi alla fine gli cambi l'estensione in PHP e in cima ci metti il codice che ti ho dato.

La parte ECHO la puoi mettere anche in mezzo al documento HTML ma sempre tra i tag <?php ?>, così come la prima parte dello script
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Postdi Dylan666 » 18/04/05 16:14

Esempio pratico:

<?php

$mailheaders = "From: Mittente_che_ti_pare <mittente@mail.com> \n\n";

$msg = "Questa mail è stata inviata tramite il modulo di iscrizione del sito\n\n";

$msg .= "Nome:\t$nome\n";

$msg .= "Cognome:\t$cognome\n";

$msg .= "Indirizzo E-Mail:\t$ind_mail\n\n";

$msg .= "Testo:\t$testo\n\n";

mail("mail_destinatario@mail.it", "oggetto_della_mail", $msg, $mailheaders);
?>

<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body bgcolor="#FFFFFF" text="#000000">
<p>Ma che bello bala bla bla <i>cosivo</i> <b>grasetto</b> <u>sottolineato</u>
<a href="www.pc-facile.com">link</a> <font color="#FF0000">rosso</font> </p>
<p>&nbsp;</p>

<?php echo "<H1 align=center><font face=verdana>Grazie, $nome $cognome</font></h1>";

echo "<p align=center><font face=verdana>La tua richiesta è stata inviata</font></p>"

?>


<p>Resto della pagina bla bla bla</p>
</body>
</html>


la parte in rosso è il codice PHP. Il resto potrebbe essere quello della pagina HTML che stai usando tu come modello (ricordati di cambiarne l'estensione in PHP quando ne hai finito la parte grafica). Nell'esempio si vede come è stata separata la parte che manda la mail da quella dinamica del ringraziamento per aver compilato il modulo. Quest'ulmina è stata mischiata al testo normale del modello.
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Postdi silvia_webmaster » 18/04/05 16:31

CHE BELLO NON PUOI CAPIRE COME SONO CONTENTA!!

ADESSO è OK, L'HO INSERITA NEL MODELLO E FUNZIONA, GRAZIE DAVVERO!!

CIAO BUONA GIORNATA A TUTTI
Silvia
silvia_webmaster
Utente Junior
 
Post: 15
Iscritto il: 14/04/05 22:15
Località: milano

Postdi Dylan666 » 18/04/05 16:55

Figurati, è stato un piacere :)
Se hai dubbi o ti serve altro ci trovi sempre qui ;)
Avatar utente
Dylan666
Moderatore
 
Post: 39988
Iscritto il: 18/11/03 16:46

Postdi Triumph Of Steel » 18/04/05 17:15

e mi raccomando al CAPS LOCK!!
non scrivere maiuscolo! :P
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Prossimo

Torna a Programmazione


Topic correlati a "Come si fa a inviare ad un e-mail i risultati di un modulo?":

Mail infette
Autore: danibi60
Forum: Sicurezza e Privacy
Risposte: 2

Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti