Articoli Referenze Script FAQ Downloads ASP E-Commerce con ASP Menu Javascript Ricette Cocktail Registrazione domini Area Aziende



Un sondaggio via email in ASP

Home + Articoli + Quiz e Sondaggi + Articolo # 112
Autore: Luca Ruggiero

Concesso in esclusiva a Mr.Webmaster. Vietata la riproduzione.


Un semplice e simpatico sistema per ricevere opinioni dai propri utenti è quello di farsi spedire un sondaggio via email, soluzione adatta soprattutto ai siti amatoriali o che dispongono di uno spazio Web con supporto limitato di ASP, linguaggio con cui implementeremo l'esempio.

Il concetto è semplicissimo e non si distacca di molto da un semplice modulo per farsi contattare via email. Chiederemo all'utente il nome, l'email e poi lo sottoporremo alla domanda del sondaggio.

Segue un semplice codice di esempio da eseguire per intero nel file "sondaggio.asp" che utilizza l'oggetto CDOSYS per inviare la mail
<%@LANGUAGE = VBScript%>
<%
    Dim domanda
    domanda = "qual'è il tuo colore preferito?"
%>
<html>
<body>

<h1>Sondaggio</h1>
<form method="post" action="sondaggio.asp">
    Tuo nome<br>
    <input type="text" name="nome"><br>
    Tua email<br>
    <input type="text" name="email"><br>
    Domanda: <%=domanda%><br>
    <input type="radio" name="risp" value="rosso" checked> rosso<br>
    <input type="radio" name="risp" value="rosso"> giallo<br>
    <input type="radio" name="risp" value="rosso"> verde<br>
    <input type="radio" name="risp" value="rosso"> blu<br>
    <input type="submit" name="sondaggio" value="Rispondi">
</form>

<%
    If Request.Form("sondaggio") <> "" Then
        Dim nome, email, risp
        nome = Request.Form("nome")
        email = Request.Form("email")
        risp = Request.Form("risp")
        If nome = "" Then
            Response.Write "Inserisci il tuo nome"
        ElseIf InStr(email, "@") = 0 Then
            Response.Write "Inserisci la tua email"
        ElseIf risp = "" Then
            Response.Write "Vota il sondaggio"
        Else
            Dim MyMail
            Set MyMail = Server.CreateObject("CDO.Message")
            With MyMail
                .To = "tua@mail.ext" ' Qui la tua email
                .From = email
                .Subject = "Sondaggio: " & domanda
                .TextBody = nome & " ha risposto " & risp
                .Send
            End With
            Set MyMail = Nothing
            Response.Write "Sondaggio inviato via email, grazie!"
        End If
    End If
%>

</body>
</html>
Non credo ci sia bisogno di particolari commenti e delucidazioni tecniche. Consiglio di implementare il controllo sul corretto inserimento dell'email con le espressioni regolari al posto del più scarno
ElseIf InStr(email, "@") = 0 Then
e raccomando di inserire la propria email in questa riga
.To = "tua@mail.ext" ' Qui la tua email
E' inoltre doveroso specificare testualmente che l'email viene usata solo per eventuali risposte, che il sondaggio viene effettuato direttamente via posta elettronica e nessun dato verrà registrato su database ed utilizzato per secondi fini.

© 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Disclaimer | Privacy | Pubblicità | Supportaci | Staff | Contatti
  Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | AlVerde.net | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones