• Super User

    [tutorial]Semplice form invio prenotazioni in ASP

    Io non sono una programmatrice e a dir la verità di Asp non ci capisco poi molto. Ma un pò di tempo fa sono stata aiutata a fare questa piccola form per l'invio tramite mail delle prenotazioni di stanze d'albergo...con un pò di fantasia è possibile usarla per altre cose e migliorarla.

    Suddividerò questa form in tre pagine:
    -form.html
    -riepilogo.asp
    -invio.asp

    **form.html

    ** E? la pagina che contiene la semplice form che nell?action conterrà il rimando a ?riepilogo.asp?:

    [LEFT] ```
    <form action="riepilogo.asp" method="post" name="prenotazione">
    <table width="374" border="0" align="center" cellpadding="0" cellspacing="4" class="testo" id="table2">
    <tr valign="top">
    <td width="49%" height="20" align="left">*Nome</td>
    <td width="51%" align="left">*Cognome</td>
    </tr>
    <tr valign="bottom">
    <td height="24" align="left">
    <label>
    <input name="Nome" type="text" id="Nome" maxlength="22" />
    </label>
    </td>
    <td align="left">
    <label>
    <input name="Cognome" type="text" id="Cognome" maxlength="22" />
    </label>
    </td>
    </tr>
    <tr valign="top">
    <td height="20" align="left">*Telefono</td>
    <td align="left">E-mail</td>
    </tr>
    <tr valign="bottom">
    <td height="24" align="left">
    <label>
    <input name="Telefono" type="text" id="Telefono" maxlength="22" />
    </label>
    </td>
    <td align="left">
    <label>
    <input name="Mail" type="text" id="Mail" maxlength="22" />
    </label>
    </td>
    </tr>
    <tr valign="top">
    <td height="20" align="left"><font size="2">Data di arrivo </td>
    <td align="left">Data di partenza </td>
    </tr>
    <tr valign="bottom">
    <td height="24" align="left">
    <label>
    <input name="Arrivo" type="text" id="Arrivo" maxlength="22" />
    </label>
    </td>
    <td align="left">
    <label>
    <input name="Partenza" type="text" id="Partenza" maxlength="22" />
    </label>
    </td>
    </tr>
    <tr valign="top">
    <td height="19" align="left">Numero di stanze </td>
    <td align="left">Numero di persone </td>
    </tr>
    <tr>
    <td height="19" align="left">
    <label>
    <input name="Stanze" type="text" id="Stanze" maxlength="22" />
    </label> </td>
    <td align="left">
    <label>
    <input name="Persone" type="text" id="Persone" maxlength="22" />
    </label> </td>
    </tr>
    <tr>
    <td height="20" align="left"> </td>
    <td align="left"> </td>
    </tr>
    <tr>
    <td height="20" align="left">
    <label>
    <input name="Submit" type="submit" value="Invia" />
    </label> </td>
    <td align="left">
    <label>
    <input name="Submit2" type="reset" value="Cancella" />
    </label> </td>
    </tr> </table>
    </form>

     Io non l?ho fatto ma sarebbe meglio lasciare la formattazione delle tabelle ai css.
    
    
     **riepilogo.asp
    
    **  Questa pagina conterrà il riepilogo delle informazioni immesse nella form. Avrà estensione .asp, presenterà le istruzioni che serviranno per stampare a video il riepilogo della form. Nel campo action andrà messo l?indirizzo della pagina che successivamente processerà i dati e li manderà alla nostra mail, quindi "invio.asp"
     
    
    

    <form method="post" action="invio.asp">
    <table width="269" align="center">
    <input type="hidden" name="Nome" value="<%=Request.Form("Nome") %>"/>
    <% if (Request.Form("Nome") <> "") then
    %><tr>
    <td>Nome</td>
    <td><%=Request.Form("Nome") %></td></tr>
    <%end if %>
    <input type="hidden" name="Cognome" value="<%=Request.Form("Cognome") %>"/>
    <% if (Request.Form("Cognome") <> "") then
    %><tr><td>Cognome</td>
    <td><%=Request.Form("Cognome") %></td></tr>
    <%end if %>
    <input type="hidden" name="Telefono" value="<%=Request.Form("Telefono") %>"/>
    <% if (Request.Form("Telefono") <> "") then
    %><tr><td>Telefono</td>
    <td><%=Request.Form("Telefono") %></td></tr>
    <%end if %>
    <input type="hidden" name="Mail" value="<%=Request.Form("Mail") %>"/>
    <% if (Request.Form("Mail") <> "") then
    %><tr>
    <td>E-mail</td>
    <td><%=Request.Form("Mail") %></td></tr>
    <%end if %>
    <input type="hidden" name="Arrivo" value="<%=Request.Form("Arrivo") %>"/>
    <% if (Request.Form("Arrivo") <> "") then
    %><tr>
    <td>Data arrivo </td>
    <td><%=Request.Form("Arrivo") %></td></tr>
    <%end if %>
    <input type="hidden" name="Partenza" value="<%=Request.Form("Partenza") %>"/>
    <% if (Request.Form("Partenza") <> "") then
    %><tr>
    <td>data partenza </td>
    <td><%=Request.Form("Partenza") %></td></tr>
    <%end if %>
    <input type="hidden" name="Stanze" value="<%=Request.Form("Stanze") %>"/>
    <% if (Request.Form("Stanze") <> "") then
    %><tr>
    <td>numero stanze </td>
    <td><%=Request.Form("Stanze") %></td></tr>
    <%end if %>
    <input type="hidden" name="Persone" value="<%=Request.Form("Persone") %>"/>
    <% if (Request.Form("Persone") <> "") then
    %><tr>
    <td>numero persone </td>
    <td><%=Request.Form("Persone") %></td></tr>
    <%end if %>

    <tr>
    <td colspan="2"><br />
    <input type="submit" value="conferma">
    <label>
    <input type="button" value="Indietro" onClick="javascript:history.back()" name="button">
    </label></td></tr>
    </table></form>

    
    
     **invio.asp**
    
     Questa è la pagina che processerà tutti i dati immessi e successivamente manderà la mail al nostro indirizzo e-mail? Dove è scritto "[email protected]" andrà l?indirizzo della vostra mail ![image](http://www.pikadilly.it/blog/wp-includes/images/smilies/icon_wink.gif)
    Il codice seguente andrà scritto prima del doctype della pagina.
    
    

    <%@LANGUAGE=?VBSCRIPT? CODEPAGE=?1252″%>
    <%
    Dim IP
    IP=Request.ServerVariables(?HTTP_X_FORWARDED_FOR?)
    If IP=?" Then
    IP=Request.ServerVariables(?REMOTE_ADDR?)
    End If
    mittente = [email protected]?
    messaggio = ?Nome: ? & Request.Form(?Nome?) & vbCrLf &_
    ?Cognome: ? & Request.Form(?Cognome?) & vbCrLf &_
    ?Numero_telefono : ? & Request.Form(?Telefono?) & vbCrLf &_
    ?E-mail: ? & Request.Form(?Mail?) & vbCrLf &_
    ?Data_Arrivo: ? & Request.Form(?Arrivo?) & vbCrLf &_
    ?Data_partenza: ? & Request.Form(?Partenza?) & vbCrLf &_
    ?Numero_stanze: ? & Request.Form(?Stanze?) & vbCrLf &_
    ?Numero_persone: ? & Request.Form(?Persone?) & vbCrLf
    messaggio = messaggio & ?Informazioni: ? & Request.Form(?info?)& vbCrLf & ?INDIRIZZO ip: ? & IP
    ?Invio email
    Set Mail = Server.CreateObject(?CDO.Message?)
    Mail.To = mittente
    Mail.From = Request.Form(?Mail?)
    Mail.Subject = ?Prenotazione stanze?
    Mail.TextBody = messaggio
    Mail.Send
    Set Mail = nothing
    %>

    
    Nel body metterete un bel "La prenotazione è stata inviata" e via...la mail arriverà dritta alla vostra casella di posta.
    Per le formattazioni usate i fogli di stile mi raccomando ;)
    
    La form funziona quindi non dovrebbero esserci problemi, basta settare i paramentri giusti e provarla ;)
    Buon lavoro :)

  • User Newbie

    Ciao, ho provato ad usare questo form, ma nel momento in cui confermo e passo alla pagina invio.asp mi da errore.
    Non sono molto pratica del codice, ho provato a sistemare varie virgolette, ma il discorso non cambia.
    Spero puoi aiutarmi