ASPcenter.net

22 febbraio 2010

Un sondaggio via email in ASP

Archiviato in: Quiz e Sondaggi — Tag:, , — lukeonweb @ 11:05

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.

Nessun commento »

Non c'è ancora nessun commento.

RSS feed dei commenti a questo articolo. TrackBack URL

Lascia un commento

ASPcenter.net è il blog italiano su ASP, ASP.Net, VB.Net, C# e Visual Studio - Funziona con WordPress