- Home
- Categorie
- Coding e Sistemistica
- Tutti gli altri Gestionali
- [Dreamweaver] Pulsante Invio da collegare ad email
-
ciao,
pikadilly, gentilissima, ti ha dato una risposta molto esauriente.Io però vorrei soffermarmi un attimo su un aspetto fondamentale che sta alle basi di un'applicazione dinamica come può essere un form per l'invio delle mail.
Il codice che ti ha scritto pikadilly è in php, questo è un linguaggio lato server cioè un linguaggio di programmazione vero e proprio(più propriamente scripting).
Questo linguaggio per funzionare ha necessità di un web server che può essere apache oppure iis.
A secondo di cosa hai installato sul server che ospiterà il sito potrai utilizzare linguaggi differenti, nel caso il tuo web server fosse win avrai la possibilità di utilizzare sia php (ovviamente deve essere installato) oppure asp o asp.netNel caso caso fosse linux allora la scelta è obbligatoria: php (in realtà avresti anche altre opzioni, ma non mettiamo troppa carne al fuoco)
Perchè ti dico questo?
Perchè prima di intraprendere la stesura di uno script è necessario sapere dove verrà allogiato lo stesso.Ipotiziamo che te hai un server linux con apache e php, lo script di pikadilly direi che è perfetto per il tuo scopo, perchè presenta tutte le caratteristiche per un buon mail form, dal controllo dei dati all'invio della mail.
Passiamo al codice.
Come ti è stato suggerito te necessariamente avere 2 pagine- la prima è la pagina dove è presente il form con le caselle di testo ed il pulsante per l'invio
- la seconda è quella che elaborerà i dati ottenuti dalla prima ed invierà l'email.
La prima pagina
ipotiziamo che la prima pagina si chiami mail.htm e la seconda pagina,cioè quella che riceve i dati e li elaborerà si chiami pag2.php; avremo un codice simile a questo:MAIL.HTM:
<html> <body> <form id="form1" method="post" name="form1" action="pag2.php"> Email <input type="text" name="mail" id="mail"/> <br/> Messaggio <textarea id="body" name="body"></textarea> <br/> <input type="submit" value="Invia"/> </form> </body> </html> ```PAG2.PHP
<html>
<body>
<?
//Questo è un commento in php e verrà utilizzato per commentare il codice per rendere più semplice la lettura.//adesso viene fatto un controllo sul campo body //il campo body ovviamente si trova nella pag mail.htm //con l'istruzione $_POST['body'] andremo a recuperare il valore del campo body, la stessa cosa vale per gli altri campi //la funzione trim() verrà utilizzata per togliere eventuali spazi a sx e a dx della stringa presente nel campo body if ((trim($_POST['body']) != "")){ //la variabile $to conterrà il tuo indirizzo email $to = "[email protected]"; //la variabile body conterrà il valore del campo body $body = $_POST['body']; //la variabile $headers contiene gli headers delle email, cioè una serie di istruzioni necessarie al corretto invio della mail $headers = "From: " . $_POST['mail'] . "\n"; //viene inviata la mail mail($to,$body,$headers); echo"Il commento è stato inviato correttamente."; }else{ //il controllo sul campo body ha dato esito negativo quindi viene mostrato il messaggio di errore echo "Errore, deve compilare il modulo per inviare un commento."; } ?> </body>
</html>
Spero che questa spiegzione ti sia di aiuto se hai qualche problema noi siamo qui ;) :ciauz:
-
Ciao...grazie per avermi risposto
dunque altri chiarimenti,
ti cito...
(Questo linguaggio per funzionare ha necessità di un web server che può essere apache oppure iis.
A secondo di cosa hai installato sul server che ospiterà il sito potrai utilizzare linguaggi differenti, nel caso il tuo web server fosse win avrai la possibilità di utilizzare sia php (ovviamente deve essere installato) oppure asp o asp.net)io utilizzo xp professional con ii, e in dreamweaver scelgo come tecnologia lato server uso ASP VBSsript. Cosa intendi "con php deve essere installato"?
riguardo ai due file il MAIL.HTML e il PAG2.PHP li ho inseriti nella cartella del sito in dreamweaver come carinamente mi ha detto aiutandomi Piccadilly... ma dopo aver caricato il sito in remoto, apro la pagina per inviare il form e tento di inviarlo, mi compare un messaggio " Le impostazioni correnti non consentono il download del file"
-
Bentrovata Swamy,
io credo che in parte io ti abbia creato un pò di confusione.
Tu hai un server remoto? Un sito www.miodomio.it o simili?
Ieri sera ho provato la tua form nel mio sito e come hai ben visto ha funzionato, la mail ti è arrivata,io mi appoggio su server linux quindi uso php.
Come dice Legolas se usi server windows e php non è istallato la form non può funzionare...bisogna sapere questa cosa almeno scegliamo il tipo di linguaggio adatto.
-
ok... cosa devo fare per attivare PHP in ii di windows xp prof?
-
guarda a questo punto dato che hai detto di utilizzare win conviene farlo in asp non credi?
lasci invariata la pagina mail.htm
mentre al posto di PAG2.PHP crei PAG2.ASP
e questo sarà il tuo codice:
Dim strBody Dim CdoConfig Dim ObjMail strBody= Trim(Request.Form("body")) Set ObjMail = Server.CreateObject("CDO.Message")' CDONTS.NewMail Set CdoConfig = CreateObject("CDO.Configuration") With CdoConfig.Fields 'Su questa riga devi settare il tuo smtp, se vuoi fare una prova dal computer di casa utilizza l'smtp del tuo fornitore di connettività .Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "localhost" .Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 .Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2 .Update End With With ObjMail Set .Configuration = CdoConfig .From = Trim(Request.Form("mail")) 'Qui devi mettere la tua email .To = "tua email" 'Oggetto della mail .Subject = "Nuovo messaggio" .HTMLBody = StrCorpo On Error Resume Next .Send End With Set objMail = Nothing Set cdoConfig = Nothing
-
... allora dove hai scritto l'appunto, ho settato il mio smpt scrivendo semplicemente questo smpt:"out.alice.it" è corretta la sintassi?
Poi... come pagina .html va bene quella proposta da dreamweaver 8 come modello? E' compatibile con il codice che mi hai inviato?
Riepilogando, creo una pagina da modello DW con il Form, creo una pagina .PHP, do' ad entrambe lo stesso nome ma ovviamente hanno estensione diversa, poi carico in remoto
-
scusami...la seconda pagina sarà .asp
-
smpt:"out.alice.it" è corretta la sintassi?
.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "out.alice.it"
Poi... come pagina .html va bene quella proposta da dreamweaver 8 come modello? E' compatibile con il codice che mi hai inviato?
va benissimo l'importante è che l'action del form punti alla pagina con estensione .asp
Riepilogando, creo una pagina da modello DW con il Form, creo una pagina .PHP, do' ad entrambe lo stesso nome ma ovviamente hanno estensione diversa, poi carico in remoto
Non è necessario che abbiano lo stesso ome ma se pensi che possa facilitari la comprensione allora da lo stesso nome senza problema.
L'importante è che nella pagina che contiene il form dai l'aciont che punta alla pagina .asp e che nella pagina .asp utilizzi i campi che hai creato nella pagina .html
A questo punto però ti consiglio di passare un paio di ore a studiare l'asp perchè prima di creare uno script devi necessariamente conoscere almeno le basi, perchè è come se volessi trovare la soluzione di un limite senza aver mai studiato matematica
-
ok...non è una cosa risolvibile in un forum, comunque grazie per le dritte
-
Complimenti a tutti i moderatori. Neanch'io capisco nulla di php, xò i 2 file li ho creati in un secondo e funziona tutto bene.
Non ti scoraggiare, non è una cosa impossibile, basta un po di impegno, hanno fatto tutto i moderatori, basta che copi e incolli e finisce li.
-
Nutritionvalley,
grazie per i complimenti, in effetti anche io invito Swamy a non scoraggiarsi perchè adesso può sembrare difficile ma quando si prende confidenza con certi linguaggi non è difficile capirne il meccanismo, l'importante è studiare per bene.
-
Salve,
Ho utilizzato questi codici, e funzionano benissimo. Ho solo un problema: Quando ricevo le e-mail, il messaggio degli utenti mi appare nel campo "oggetto" della mia casella di posta. Come devo fare per risolvere il problema?
Grazie per la disponibilità@Legolas said:
ciao,
pikadilly, gentilissima, ti ha dato una risposta molto esauriente.Io però vorrei soffermarmi un attimo su un aspetto fondamentale che sta alle basi di un'applicazione dinamica come può essere un form per l'invio delle mail.
Il codice che ti ha scritto pikadilly è in php, questo è un linguaggio lato server cioè un linguaggio di programmazione vero e proprio(più propriamente scripting).
Questo linguaggio per funzionare ha necessità di un web server che può essere apache oppure iis.
A secondo di cosa hai installato sul server che ospiterà il sito potrai utilizzare linguaggi differenti, nel caso il tuo web server fosse win avrai la possibilità di utilizzare sia php (ovviamente deve essere installato) oppure asp o asp.netNel caso caso fosse linux allora la scelta è obbligatoria: php (in realtà avresti anche altre opzioni, ma non mettiamo troppa carne al fuoco)
Perchè ti dico questo?
Perchè prima di intraprendere la stesura di uno script è necessario sapere dove verrà allogiato lo stesso.Ipotiziamo che te hai un server linux con apache e php, lo script di pikadilly direi che è perfetto per il tuo scopo, perchè presenta tutte le caratteristiche per un buon mail form, dal controllo dei dati all'invio della mail.
Passiamo al codice.
Come ti è stato suggerito te necessariamente avere 2 pagine- la prima è la pagina dove è presente il form con le caselle di testo ed il pulsante per l'invio
- la seconda è quella che elaborerà i dati ottenuti dalla prima ed invierà l'email.
La prima pagina
ipotiziamo che la prima pagina si chiami mail.htm e la seconda pagina,cioè quella che riceve i dati e li elaborerà si chiami pag2.php; avremo un codice simile a questo:MAIL.HTM:
> <html> <body> <form id="form1" method="post" name="form1" action="pag2.php"> Email <input type="text" name="mail" id="mail"/> <br/> Messaggio <textarea id="body" name="body"></textarea> <br/> <input type="submit" value="Invia"/> </form> </body> </html> >```PAG2.PHP
<html>
<body>
<?
//Questo è un commento in php e verrà utilizzato per commentare il codice per rendere più semplice la lettura.//adesso viene fatto un controllo sul campo body //il campo body ovviamente si trova nella pag mail.htm //con l'istruzione $_POST['body'] andremo a recuperare il valore del campo body, la stessa cosa vale per gli altri campi //la funzione trim() verrà utilizzata per togliere eventuali spazi a sx e a dx della stringa presente nel campo body if ((trim($_POST['body']) != "")){ //la variabile $to conterrà il tuo indirizzo email
$to = "[email protected]";
//la variabile body conterrà il valore del campo body
$body = $_POST['body'];
//la variabile $headers contiene gli headers delle email, cioè una serie di istruzioni necessarie al corretto invio della mail
$headers = "From: " . $_POST['mail'] . "\n";//viene inviata la mail
mail($to,$body,$headers);
echo"Il commento è stato inviato correttamente.";
}else{
//il controllo sul campo body ha dato esito negativo quindi viene mostrato il messaggio di errore
echo "Errore, deve compilare il modulo per inviare un commento.";
}
?>
</body>
</html>Spero che questa spiegzione ti sia di aiuto se hai qualche problema noi siamo qui
-
Dimenticavo un paio di cose. Oltre al fatto che il messaggio arriva nel campo oggetto della mia casella e-mail, il mittente appare sempre lo stesso, ovvero: [email protected] , mentre il reale indirizzo del mittente appare nel campo testo della mia casella e-mail. Cosa devo modificare nei form da voi inseriti? Grazie
-
Ciao a tutti.. sono un novellino in questo campo quindi non so bene ancora dove mettere le mani.. Ho fatto il mio modulo e-mail da inserire nel sito internet però adesso non so come associare l'indirizzo e-mail ! qualcuno può aiutarmi ??? :?:?...
e poi un'altra cosa.. Mi dice che devo fare un server ? ma a che serve ? come faccio ? Help me pleaseP.S. : di quello che avete detto precedentemente non ci ho capito nulla
Grazie a tutti in aticipo