Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    40

    Quiz online, come procedere?

    Ciao a tutti,
    mi hanno chiesto di realizzare una specie di quiz/gioco online con queste caratteristiche:
    - sistema di registrazione utenti e possibilità di vedere le statistiche in real time dell'avanzamento delle risposte da parte degli "avversari"
    - domande a risposta multipla di cui solo una è quella corretta
    - tentativi disponibili di risposta limitati (se si superano si viene squalificati)
    - a seguito di un errore si può riprovare a rispondere solo dopo tot tempo

    Questo in linea di massima. Come mi consigliereste di procedere? Non ho molta esperienza in php, ho realizzato qualcosa ma questo mi sembra un po' complesso.. C'è qualche base open source con la quale partire? Qual è il modo più semplice?

    Grazie sincero.

    Flaquiz

  2. #2

    Re: Quiz online, come procedere?

    Originariamente inviato da Flaquiz
    Ciao a tutti,
    mi hanno chiesto di realizzare una specie di quiz/gioco online con queste caratteristiche:
    - sistema di registrazione utenti e possibilità di vedere le statistiche in real time dell'avanzamento delle risposte da parte degli "avversari"
    - domande a risposta multipla di cui solo una è quella corretta
    - tentativi disponibili di risposta limitati (se si superano si viene squalificati)
    - a seguito di un errore si può riprovare a rispondere solo dopo tot tempo

    Questo in linea di massima. Come mi consigliereste di procedere? Non ho molta esperienza in php, ho realizzato qualcosa ma questo mi sembra un po' complesso.. C'è qualche base open source con la quale partire? Qual è il modo più semplice?

    Grazie sincero.

    Flaquiz
    bè è un po' lungo da spiegare... iniziamo dandoti una dritta per il db

    io farei

    UTENTI
    uid // id dell'utente bigint not null auto increment
    user // username varchar(30)
    password // varchar(32)
    in_gara // bool (true se l'utente può giocare, false se viene squalificato)

    DOMANDE
    did // id della domanda
    domanda // testo della domanda

    RISPOSTE
    rid // id della risposta
    did // id della domanda di riferimento
    risposta // testo della risposta
    corretta // BOOLEANA true se la risposta è corretta

    UTENTI_RISPOSTE
    sid // id statistica
    uid // id utente
    did // id domanda
    rid // id risposta
    esito // BOOLEANO true se l'utente ha azzeccato, false se ha sbagliato

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    40

    temporizzazioni...

    Ti ringrazio infinitamente per il tuo aiuto, non avrei pensato all'esito booleano true/false.
    Resta il fatto che la parte che più mi è oscura è quella dei limiti/temporizzazioni. Per il limite di 3 risposte sbagliate devo impostare la condizione "se per quell'utente l'esito è false per 3 volte in_gara diventa false"? Non so dove sbattere la testa invece per impostare il "timeout" dopo una risposta sbagliata (devono passare 10 minuti per poter rispondere di nuovo)

    Flaquiz

  4. #4

    Re: temporizzazioni...

    Originariamente inviato da Flaquiz
    Ti ringrazio infinitamente per il tuo aiuto, non avrei pensato all'esito booleano true/false.
    Resta il fatto che la parte che più mi è oscura è quella dei limiti/temporizzazioni. Per il limite di 3 risposte sbagliate devo impostare la condizione "se per quell'utente l'esito è false per 3 volte in_gara diventa false"?
    Prima memorizzi la risposta in UTENTI_RISPOSTE, poi fai un query del tipo
    SELECT COUNT(sid) FROM utenti_risposte WHERE uid='$idUtente' AND esito=false

    prelevi il risultato e vedi se è il caso di aggiornare in_gara o no

    Non so dove sbattere la testa invece per impostare il "timeout" dopo una risposta sbagliata (devono passare 10 minuti per poter rispondere di nuovo)

    Flaquiz [/QUOTE]

    UTENTI_RISPOSTE
    sid // id statistica
    uid // id utente
    did // id domanda
    rid // id risposta
    esito // BOOLEANO true se l'utente ha azzeccato, false se ha sbagliato
    quando // ora risposta

    in questo modo, memorizzi anche l'orario in cui la risposta viene data, magari in formato DATETIME

    quindi, quando l'utente accede a questa domanda, verifichi se questa precedentemente
    - ha avuto esito positivo
    - ha avuto esito negativo almeno 10 minuti fa

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2009
    Messaggi
    40
    L'ora! Non ci avevo pensato! Sei un grande!
    Grazie! Temo che più avanti avrò bisogno di altro sostegno..
    Ciao!

    Flaquiz

  6. #6

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.