29 messaggi dal 09 luglio 2007
ciao, sto cercando di realizzare un form contatti in asp. Ho creato una pagina asp dove c'è il form con il seguente codice:
<form method="POST" action="inviodati.asp">
E-mail:
<br>
<input type="text" id="mail" name="mail" size="45">
<br>
antonio:
<br>
<input type="text" id="antonio" name="antonio" size="45">
<br>

Richiesta:
<br>
<textarea rows="6" id="richiesta" name="richiesta" cols="35"></textarea>
<br>
<input type="submit" value="Invia Dati">
</form>

La pagina invio dati invece ha questo codice (sto su aruba hosting windows)
<%
mail = Request.form("mail")
antonio = Request.form("antonio")
richiesta = Request.form("richiesta")

'--- Controllo che il campo E_MAIL sia Pieno ---
If IsNull(mail) Or mail = "" Then
Response.Write ("<b>ERRORE !!</b><br>Controlla il campo<br><b>E-MAIL</b><br><a href='javascript:history.back()'><b>Indietro.</b></a>")
Response.End
End if
'--- Fine Controllo Campo E-MAIL ---

'--- Controllo che il campo antonio sia Pieno ---
If IsNull(antonio) Or antonio = "" Then
Response.Write ("<b>ERRORE !!</b><br>Controlla il campo<br><b>antonio</b><br><a href='javascript:history.back()'><b>Indietro.</b></a>")
Response.End
End if
'--- Fine Controllo Campo antonio ---

'--- Controllo che il campo richiesta sia Pieno ---
If IsNull(richiesta) Or richiesta = "" Then
Response.Write ("<b>ERRORE !!</b><br>Controlla il campo<br><b>richiesta</b><br><a href='javascript:history.back()'><b>Indietro.</b></a>")
Response.End
End if
'--- Fine Controllo Campo richiesta ---


'============Linkbruttocane su specifiche MSDN================
'* il corpo finale del messaggio contiene tutti i campi *
'* inseriti nella pagina html, in pratica puoi mettere *
'* tutti i campi che ti servono nel modulo di invio senza *
'* fare altre configurazioni aggiuntive. *
'=============================================================

DIM corpoMessaggio, numeroCampi, invioA, invioDa, nomeDominio, indirizzoIp, modulo, browserSistemaOperativo

'* voce da modificare con il proprio indirizzo email

invioA = "info@nipphon.com"

'* voce da modificare con un indirizzo email che funga da mittente:
'* in caso di errore riceverete notifica a questo indirizzo un MAILER-DAEMON
'* dato che cdosys supporta questa notifica

invioDa = Request.Form("mail")

'------------fine modifiche necessarie------------------

nomeDominio = Request.ServerVariables("HTTP_HOST")
indirizzoIp = Request.ServerVariables("REMOTE_ADDR")
modulo = Request.ServerVariables("HTTP_REFERER")
browserSistemaOperativo = Request.ServerVariables("HTTP_USER_AGENT")

'*rilevo i campi del form

FOR numeroCampi = 1 TO (Request.Form.Count() - 1)
IF NOT Request.Form(numeroCampi) = "" THEN
corpoMessaggio = corpoMessaggio & vbCrLf & Request.Form.Key(numeroCampi) & " = " & Trim(Request.Form(numeroCampi))
END IF
NEXT

'* creo gli oggetti cdosys sul server e li gestisco

DIM iMsg, Flds, iConf

Set iMsg = CreateObject("CDO.Message")
Set iConf = CreateObject("CDO.Configuration")
Set Flds = iConf.Fields

Flds(cdoSendUsingMethod) = cdoSendUsingPort
Flds(cdoSMTPServer) = "smtp.aruba.it"
Flds(cdoSMTPServerPort) = 25
Flds(cdoSMTPAuthenticate) = cdoAnonymous ' 0
Flds.Update

With iMsg
Set .Configuration = iConf
.To = invioA
.From = Request.Form("mail")
.Sender = invioDa
.Subject = "Contatto dal dominio " & nomeDominio
.TextBody = "Questi i dati inseriti nel modulo presente alla pagina " & modulo & " da utente con indirizzo IP " & indirizzoIp & " browser e sistema operativo " & browserSistemaOperativo & vbCrLf & corpoMessaggio & ""
.Send
End With
%>
<script>
document.location.replace('grazie_contatto.asp');
</script>

I problemi riscontrati sono:
1. I campi del form devono essere tutti obbligatori perciò ho fatto il controllo, all'invio del form nell'email compaiono solo i campi EMAIL e ANTONIO, mentre il campo RICHIESTA non c'è, perchè?.
2. Con firefox se non inserisco il testo ad un campo, quando ritorno alla pagina del form non lo invia a meno che non ricarico la pagina, perchè?

Potreste aiutarmi per favore?
P.S. se avete qualcosa di più semplice butto con piacere quanto fatto fin ora...
Ciao e grazie

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.