Un semplice Quiz in Asp

Siti dinamici con ASP
Impara a creare siti dinamici professionali con ASP

Scritto da Luca Ruggiero nella sezione Asp

Molti siti mettono a disposizione dei propri utenti dei Quiz o dei Test valutativi per verificare delle conoscenze, oppure dei quiz generici come semplici passatempo. La soluzione server-side è ottimale perchè è possibile utilizzare un codice molto più snello rispetto ad un codice client-side, in modo da far si che l'utente non sbirci le risposte esatte nel codice sorgente stesso della pagina... anche se mi fanno morire dalle risate quelli che imbrogliano al solitario :-)

Di seguito vi propongo un codice molto semplice commentato nelle sue fasi salienti:

<%@LANGUAGE = JScript%>
<html>
    <head>
        <title>Un semplice Quiz in Asp</title>
    </head>
<body>

<h2 align="center">Quiz</h2>

<table width="40%" align="center">
<form method="post" action="quiz.asp?r=OK">
    <tr>
        <td>
            <b>1) Qual'è la capitale dell'Italia?</b><br>
            <input type="radio" name="dom_1" value="A"> Roma<br>
            <input type="radio" name="dom_1" value="B"> Napoli<br>
            <input type="radio" name="dom_1" value="C"> Milano<br>
            <b>2) Di che colore era il cavallo di Napoleone?</b><br>
            <input type="radio" name="dom_2" value="A"> Nero<br>
            <input type="radio" name="dom_2" value="B"> Bianco<br>
            <input type="radio" name="dom_2" value="C"> Trasparente O_o<br>
            <b>3) Qual'è il nome di Tasso?</b><br>
            <input type="radio" name="dom_3" value="A"> Giuseppe<br>
            <input type="radio" name="dom_3" value="B"> Tiberio<br>
            <input type="radio" name="dom_3" value="C"> Torquato<br>
            <b>4) Come viene chiamata la vecchia capitale di Malta?</b><br>
            <input type="radio" name="dom_4" value="A"> Silent City<br>
            <input type="radio" name="dom_4" value="B"> Dead Town<br>
            <input type="radio" name="dom_4" value="C"> Spirits City<br>
            <b>5) Chi è l'autore del romanzo Dracula?</b><br>
            <input type="radio" name="dom_5" value="A"> Robert L. Stevenson<br>
            <input type="radio" name="dom_5" value="B"> Bram Stocker<br>
            <input type="radio" name="dom_5" value="C"> F. F. Coppola<br>
        </td>
    </tr>
    <tr>
        <td align="right"><input type="submit" value="Verifica"></td>
    </tr>
    <tr>
        <td align="center">
            <%
                // CONTROLLO CHE IL QUIZ VENGA VERIFICATO DALL'UTENTE
                var r = new String(Request.QueryString("r"));
                // CONTROLLO CHE L'UTENTE EFFETTUI IL QUIZ
                if (r != "OK") Response.Write(" ");
                else
                {
                    // RECUPERO I VOTI
                    var dom_1 = Request.Form("dom_1");
                    var dom_2 = Request.Form("dom_2");
                    var dom_3 = Request.Form("dom_3");
                    var dom_4 = Request.Form("dom_4");
                    var dom_5 = Request.Form("dom_5");
                    // INCREMENTO LE RISPOSTE ESATTE
                    var ris = 0;
                    if (dom_1 == "A") ris += 1;
                    if (dom_2 == "B") ris += 1;
                    if (dom_3 == "C") ris += 1;
                    if (dom_4 == "A") ris += 1;
                    if (dom_5 == "B") ris += 1;
                    // STAMPO A VIDEO IL RISULTATO
                    Response.Write("Hai risposto esattamente a " + ris + " domande!");
                }
            %>
        </td>
    </tr>
</form>
</table>

</body>
</html>
I radio button che compongono le varie risposte hanno, per convenzione, un nome del tipo dom_NumeroProgressivo che torna utile per ampliare il Quiz, nell'esempio composto da 5 domande. La sesta sarà identificata come dom_6.

Lascio a voi il compito di migliorarlo ed ampliarlo, invitandovi sul Forum per discuterne insieme.

I più cliccati della sezione Asp

:: Un semplice form mail in Asp (51.682)

:: Creazione di un Guestbook in Asp (50.782)

:: Creazione di un'area di accesso riservato in Asp (45.422)

:: Connessione ad un database MySql con Asp (25.044)

:: Connessione ad un database Microsoft SQL Server con Asp (24.069)

:: Asp e database (23.123)

:: Differenza tra i metodi get e post e recupero dei dati, attraverso Asp (22.301)

:: Una semplice area di accesso riservato senza DB in Asp (21.383)

:: Riscrivere le URL con Asp (19.743)

:: Creazione di un Sondaggio in Asp (19.100)

IN EVIDENZA
DOWNLOAD