Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Risposte multiple

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133

    Risposte multiple

    Ciao a tutti!

    Come faccio per favore a fare una domanda con risposte giuste multiple? Esempio: domanda 1, risposta giusta la A e la B, la C, la D e la E errate...

    Questo è solo per una risposta giusta

    codice HTML:
    <form action="php.php" method="post">
    
    
    [b]1) :[/b]</p>
    <input type="radio" name="R1" value="1"></input>
    
    <input type="radio" name="R1" value="2"></input>
    
    <input type="radio" name="R1" value="3"></input>
    
    <input type="radio" name="R1" value="4"></input>
    
    <input type="radio" name="R1" value="5"></input>
    
    
    
    <input type="submit" value="Rispondi" />
    </form>
    Codice PHP:
    $risposta_corretta_domanda1=3;

    $frase1=isset($_POST['R1'])?$_POST['R1']:"";

    $punteggio 0;      // variabile del risultato

    if($frase1 == $risposta_corretta_domanda1) { 
    $punteggio++; 
    echo 
    "[b] Risposta alla domanda 1 [/b] : [b]<u>[i]<font color= green> ESATTA! </font>[/i][/b][i]</u>[/i]

    "

    } else {
    if (
    $frase1 == "") echo "[b] Domanda 1 [/b] : [b]<u>[i] NON HAI RISPOSTO [/i][/b][i]</u>[/i]

    "
    ;
    else echo 
    "[b] Risposta alla domanda 1 [/b] : [b]<u>[i]<font color= red> ERRATA! </font>[/i][/b][i]</u>[/i] 

    <font color= red> RIPROVA </font>

    "
    ;


    $tot = ($punteggio == 1) ? "$punteggio punto" "$punteggio punti"
    $punteggio=$_SESSION['punteggio']; 
    echo 
    "Hai totalizzato $tot"
    Grazie!

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    Altra cosuccia ragazzi, ho provato a mettere un'immagine .gif in caso di risposta giusta ed errata, ho provato a metterla in ogni parte del codice ma non mi esce fuori, dove si mette???

    if ($frase1 == "") echo " Domanda 1 : <u> NON HAI RISPOSTO </u>

    ";

    Grazie

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    beh.. se dichiari questo
    Codice PHP:
    $risposta_corretta_domanda1=3
    non credo puoi..
    dovresti fare tipo:
    Codice PHP:
    $risposta_corretta_domanda1 1,2,3;
    $singoli_voti explode(","$risposta_corretta_domanda1); 
    poi avresti un array con le risposte corrette da confrontare.. e bla, bla, bla...
    ma se invece fai: (scrivo a naso..)
    Codice PHP:
    if($frase1 == or $frase1 == or $frase1 == 3) {
    $punteggio++; 
    //eccetera 
    allora è diverso.. certo come gestione è un casino.. con tante domande intendo..

    sulla seconda domanda: a me funziona perfettamente il tuo codice: se non rispondo mi scrive non hai risposto

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    Grazie telegio, gentilissimo!

    Va bene la seconda opzione, le domande sono circa 30...pensavo fosse più difficile

    Sai mica come posso mettere l'immagine .gif? Ho provato in vari punti del codice per la risposta giusta ad esempio ma non mi viene...

    Grazie

  5. #5
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    non avevo capito
    Codice PHP:

    echo "[b] Risposta alla domanda 1 [/b] : [b]<u>[i]<font color= green> ESATTA! </font>[/i][/b][i]</u>[/i]

     - - - - - <img src=\"nome_immagine.gif\" >"
    ;
    } else {
    if (
    $frase1 == "") echo "[b] Domanda 1 [/b] : [b]<u>[i] NON HAI RISPOSTO [/i][/b][i]</u>[/i]

     - -  - - - - - <img src=\"nome_SBAGLIATA.gif\" >"
    ;
    else echo 
    "[b] Risposta alla domanda 1 [/b] : [b]<u>[i]<font color= red> ERRATA! </font>[/i][/b][i]</u>[/i] 

    <font color= red> RIPROVA </font>

    - - - - - <img src=\"nome_immagine.gif\" >"
    ;

    DEVI METTERE GLI SLASH... sostituisci il nome dell'immagine tuo lasciando il resto invariato..

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    Ciao!
    Ho provato ma mi da errore

    Codice PHP:
    <?php
    $risposta_corretta_domanda1
    =2,4;


    $frase1=isset($_POST['R1'])?$_POST['R1']:"";

    $punteggio 0;      // variabile del risultato


    if($frase1 == or $frase2 == or $frase1 == 4  $risposta_corretta_domanda1) { 
    $punteggio++; 
    echo 
    "[b] Risposta alla domanda 1 [/b]: [b]<u>[i]<font color= green> ESATTA! </font>[/i][/b][i]</u>[/i]

    "

    } else {
    if (
    $frase1 == "") echo "[b] Domanda 1 [/b]: [b]<u>[i] NON HAI RISPOSTO [/i][/b][i]</u>[/i]

    "
    ;
    else echo 
    "[b] Risposta alla domanda 1 [/b]: [b]<u>[i]<font color= red> ERRATA! </font>[/i][/b][i]</u>[/i] 

    <font color= red> RIPROVA </font>

    "
    ;



    $tot = ($punteggio == 1) ? "$punteggio punto" "$punteggio punti"
    $punteggio=$_SESSION['punteggio']; 
    echo 
    "Hai totalizzato $tot";
    Parse error: syntax error, unexpected ',' in C:\HostingSpaces\\wwwroot\risposte.php on line 29
    La riga 29 è questa: $risposta_corretta_domanda1=2,4;

    Inoltre, nel codice html come faccio a cliccare su due opzioni? L'avevo fatto ma non me lo ricordo...

    codice HTML:
    <form action="risposte.php" method="post">
    
    
    [b]1) :[/b]</p>
    <input type="radio" name="R1" value="1"></input>
    
    <input type="radio" name="R1" value="2"></input>
    
    <input type="radio" name="R1" value="3"></input>
    
    <input type="radio" name="R1" value="4"></input>
    
    
    
    <input type="submit" value="Rispondi" />
    </form>
    Grazie!

  7. #7
    Inoltre, nel codice html come faccio a cliccare su due opzioni? L'avevo fatto ma non me lo ricordo...
    Con i radiobutton non è possibile l'opzione multipla!!E' possibile una sola scelta,quindi nel tuo caso è meglio ricorrere ai checkbox.Ti ho dato una correzione al codice,apportanto diverse modifiche,questo è solo per renderti l'idea,perche' lo script va migliorato...
    Per il controllo se è stata data la risposta o meno,io ricorrerei a javascript,così nel caso i checkbox selezionati siano inferiri a 2 mandare un alert con messaggio di non aver completato la risposta,e nel caso di due checkbox selezionati disabilitare gli altri due....ora è tardii,spero di averti reso l'idea....

    codice:
    <form action="risposte.php" method="post">
    
    <input type="checkbox" name="R1[]" value="1" />
    
    <input type="checkbox" name="R1[]" value="2" />
    
    <input type="checkbox" name="R1[]" value="3" />
    
    <input type="checkbox" name="R1[]" value="4" />
    
    
    
    <input type="submit" value="Rispondi" />
    </form>
    Codice PHP:
     <?php
     session_start
    ();
    $risposta_corretta1="2";
    $risposta_corretta2="4";


    $risposte=$_POST['R1'];


           if(!isset(
    $_SESSION['punteggio']))
           {
    $punteggio 0;
         
    $_SESSION['punteggio']=$punteggio;
    }
     else
     {
     
    $punteggio=$_SESSION['punteggio'];
     }

      if(
    $risposte[0]==$risposta_corretta1&&$risposte[1]==$risposta_corretta2)
         {
    $punteggio++;
         echo 
    "[b] Risposta alla domanda 1 [/b]: [b]<u>[i]<font color= green> ESATTA! </font>[/i][/b][i]</u>[/i]

    "
    ;
        }
    else{
        echo 
    "[b] Risposta alla domanda 1 [/b]: [b]<u>[i]<font color= red> ERRATA! </font>[/i][/b][i]</u>[/i] 

               
    <font color= red> RIPROVA </font>

    "
    ;
        }






    $tot = ($punteggio == 1) ? "$punteggio punto" "$punteggio punti";
     
    $_SESSION['punteggio']=$punteggio;
    echo 
    "Hai totalizzato $tot";
    ?>

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    Grazie EDI73, però in caso di seconda domanda mi si incasina, non sò come mettere il codice, ho provato così ma nulla...
    Codice PHP:
    <?php
    if(!isset($_SESSION)){session_start();}  

    require(
    'config.php');

    if(!isset(
    $_SESSION['login']))
    {
    header('Location: index.php');
    exit;
    }
        
    $default mysql_fetch_array(mysql_query("SELECT cognome_utente, nome_utente FROM utenti WHERE id = '{$_SESSION['login']}' LIMIT 1"));


    ?>


    <?php

    $db_host 
    '';
    $db_utente '';
    $db_password '';
    $db_nomedb '';

    $dbh=mysql_connect ($db_host$db_utente$db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);
    ?>

    <?php 
    session_start
    (); 
    $risposta_corretta1="2"
    $risposta_corretta2="4"
    $risposta_corretta1="1"
    $risposta_corretta2="2"



    $risposte=$_POST['R1']; 
    $risposte=$_POST['R2']; 


           if(!isset(
    $_SESSION['punteggio'])) 
           { 
    $punteggio 0
         
    $_SESSION['punteggio']=$punteggio

    else 

    $punteggio=$_SESSION['punteggio']; 


      if(
    $risposte[0]==$risposta_corretta1&&$risposte[1]==$risposta_corretta2
         { 
    $punteggio++; 
         echo 
    "[b] Risposta alla domanda 1 [/b]: [b]<u>[i]<font color= green> ESATTA! </font>[/i][/b][i]</u>[/i]

    "

        } 
    else{ 
        echo 
    "[b] Risposta alla domanda 1 [/b]: [b]<u>[i]<font color= red> ERRATA! </font>[/i][/b][i]</u>[/i] 
     
               
    <font color= red> RIPROVA </font>

    "

        } 


    if(!isset(
    $_SESSION['punteggio'])) 
           { 
    $punteggio 0
         
    $_SESSION['punteggio']=$punteggio

    else 

    $punteggio=$_SESSION['punteggio']; 


      if(
    $risposte[0]==$risposta_corretta1&&$risposte[1]==$risposta_corretta2
         { 
    $punteggio++; 
         echo 
    "[b] Risposta alla domanda 2 [/b]: [b]<u>[i]<font color= green> ESATTA! </font>[/i][/b][i]</u>[/i]

    "

        } 
    else{ 
        echo 
    "[b] Risposta alla domanda 2 [/b]: [b]<u>[i]<font color= red> ERRATA! </font>[/i][/b][i]</u>[/i] 
     
               
    <font color= red> RIPROVA </font>

    "

        } 




    $tot = ($punteggio == 1) ? "$punteggio punto" "$punteggio punti"
    $_SESSION['punteggio']=$punteggio
    echo 
    "Hai totalizzato $tot"
    ?>
    Nel caso della seconda domanda, le risposte giuste sono la numero 1 e la numero 2.

    L'alert non mi serve perchè le risposte possono essere anche tutte giuste e anche tutte false Sono cattivo!!! I checkbox vanno benissimo, non ci pensavo

    Grazie in anticipo!

  9. #9
    Quello che t'ho postato era un esempio di come fare!per quello che ho capito vuoi fare una specie di quiz con domande a successione??in tal caso il ragionamento va affrontato diversamente,ora non ho tempo,casomai domani ti spiego la logica su come fare

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    133
    Ok, ti ringrazio EDI

    Sono circa 30 domande


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.