Creare un quiz con php

Newbi

Nuovo Utente
27 Mag 2014
8
0
0
Ciao a tutti! ^^

Volevo creare un quiz tipo il gioco di reazione a catena 'quando dove come perchè'

Ho creato un file HTML:
<html>
<head>
<center>
</head>
<body style="background-color: WHITESMOKE;">
<table style="text-align: left; width: 573px; height: 1000px;"
bgcolor="LIGHTCYAN" border="1" cellpadding="10" cellspacing="10">
<tbody>
<tr>
<td style="vertical-align: top;">
<form action="quiz1.php" method="post" name="Iscrizione Oline">
<center><strong><span style="font-size: x-large;">COME, QUANDO, DOVE, PERCHE </span></strong></center>
<center></center><hr>
<br>
<center><b>Indizio 1: Quando </b><br><br>

QUANDO L'INSEGNANTE HA FATTO LA SUA LEZIONE
<br><br>Prima risposta: <input name="risposta1" required="" type="text">
<br><br>
<input type="submit" value="Conferma"></center></form>
</td></center>
</tr>
</tbody>
</table>
</body>
</html>

e un file PHP
<html>
<head>
<center>
</head>
<body style="background-color: WHITESMOKE;">
<table style="text-align: left; width: 573px; height: 1000px;"
bgcolor="LIGHTCYAN" border="1" cellpadding="10" cellspacing="10">
<tbody>
<tr>
<td style="vertical-align: top;">
<form action="quiz1.php" method="post" name="Iscrizione Oline">
<center><strong><span style="font-size: x-large;">COME, QUANDO, DOVE, PERCHE </span></strong></center>
<center></center><hr>
<br>
<center><b>Indizio 1: Quando </b><br><br>

QUANDO L'INSEGNANTE HA FATTO LA SUA LEZIONE <br><br>

<?php

if ($_POST['risposta1'] == "gruppi")
{
print 'Risposta Esatta. Hai guadagnato 5 punti!';
}
else
{
print 'Risposta Sbagliata. Ritenta!';
}
?>

</center>
</td>
</tr>
</tbody>
</table>
</body>
</html>

Se inserisco la parola corretta 'gruppi' mi dà 'risposta esatta' in caso contrario 'sbagliata' e questo è molto elementare XD

Non riesco a fare le seguenti cose ed in giro non sono riuscito a trovare nulla o non sono riuscito ad applicarla:
-volevo dare un'altra possibilità di risposta al giocatore e quindi, se la risposta è sbagliata, vorrei creare un nuovo spazio 'seconda possibilità'
- Se anche la seconda possibilità fosse sbagliata vorrei mettere il secondo indizio 'quando' con la solita struttura di sopra (uno spazio dove l'utente può scrivere una parola)

Mi potete per piacere dire quale funzione usare e se possibile farmi un esempio?

Scusate, ma sto iniziando ora ad avvicinarmi a questi linguaggi :/
 

Night Assassin

Utente Attivo
16 Mar 2013
200
0
0
Sotto l'if di controllo nella parte else inserisci un altro form in cui controlli la risposta

Inviato con Tapatalk Free da Android
 

Newbi

Nuovo Utente
27 Mag 2014
8
0
0
Sotto l'if di controllo nella parte else inserisci un altro form in cui controlli la risposta

Inviato con Tapatalk Free da Android

Ora l'ho messo a punto per bene, però non riesco a far due cose:
- la risposta nel database è segnata come 'MAGIA' se inserisco 'Magia' non la da corretta. Come faccio a farla validare?
- prende una random dal database, ma quando clicco su avanti per andare al passaggio successivo mi passa al secondo indizio di un altra riga! Come faccio a lasciare sempre gli indizi della parola iniziale?

<?php
$username="";
$password="";
$database="";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Impossibile selezionare il database");
$query="SELECT * FROM quiz ORDER BY RAND() LIMIT 1";
$risultati=mysql_query($query);

$num=mysql_numrows($risultati);

mysql_close();




$i=0;
while ($i < $num) {
$esatta=mysql_result($risultati,$i,"esatta");
$indizio1=mysql_result($risultati,$i,"indizio1");
$indizio2=mysql_result($risultati,$i,"indizio2");
$indizio3=mysql_result($risultati,$i,"indizio3");
$indizio4=mysql_result($risultati,$i,"indizio4");


...
 

Night Assassin

Utente Attivo
16 Mar 2013
200
0
0
per la soluzione basta che trasformi in maiuscolo la risposta data dall'utente prima di fare il controllo. (esiste una funzione php)

è il secondo quesito o memorizzi qualcosa nelle sessioni oppure inserisci un campo hidden


Inviato con Tapatalk Free da Android
 

Newbi

Nuovo Utente
27 Mag 2014
8
0
0
Grazie!

Provvedo a cerca la funzione ^^

Per la seconda cosa dovrei memorizzare di preciso? O cosa dovrei fare con hidden?
 

Night Assassin

Utente Attivo
16 Mar 2013
200
0
0
O crei una sessione in cui memorizzi l'id dell'indovinello a cui l'utente sta rispondendo. Il metodo hidden é meno sicuro e più complicato

Inviato con Tapatalk Free da Android
 

Newbi

Nuovo Utente
27 Mag 2014
8
0
0
O crei una sessione in cui memorizzi l'id dell'indovinello a cui l'utente sta rispondendo. Il metodo hidden é meno sicuro e più complicato

Inviato con Tapatalk Free da Android

Mi potresti dire da dove partire per creare la sessione? <

Scusa ma su questo argomento non so molto .-.
 

Night Assassin

Utente Attivo
16 Mar 2013
200
0
0
L'array php $_SESSION può contenere dei dati che inserisci tu e vengono memorizzati nel pc (cookie). Unica condizione é che in ogni pagina in cui usi le sessioni devi scrivere all'inizio session_start();
Ad esempio scrivi $_SESSION[id_quiz]=$id_estratto_a_caso;
Così ogni volta selezioni il quiz in base all'id memorizzato nella variabile $_SESSION[id_quiz] disponibile in tutte le pagine del tuo sito.

Inviato con Tapatalk Free da Android
 

Newbi

Nuovo Utente
27 Mag 2014
8
0
0
L'array php $_SESSION può contenere dei dati che inserisci tu e vengono memorizzati nel pc (cookie). Unica condizione é che in ogni pagina in cui usi le sessioni devi scrivere all'inizio session_start();
Ad esempio scrivi $_SESSION[id_quiz]=$id_estratto_a_caso;
Così ogni volta selezioni il quiz in base all'id memorizzato nella variabile $_SESSION[id_quiz] disponibile in tutte le pagine del tuo sito.

Inviato con Tapatalk Free da Android

Io avrei scritto questo, non so se può andare bene...

<?php

session_start();

$username="XXX";
$password="XXX";
$database="XXX";

mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Impossibile selezionare il database");
$query="SELECT * FROM quiz ORDER BY RAND() LIMIT 1";
$risultati=mysql_query($query);
$num=mysql_numrows($risultati);

mysql_close();


$i=0;
while ($i < $num) {
$id=mysql_result($risultati,$i,"id");
$esatta=mysql_result($risultati,$i,"esatta");
$indizio1=mysql_result($risultati,$i,"indizio1");
$indizio2=mysql_result($risultati,$i,"indizio2");
$indizio3=mysql_result($risultati,$i,"indizio3");
$indizio4=mysql_result($risultati,$i,"indizio4");

$_SESSION['id']=$id;
$_SESSION['esatta']=$esatta;
$_SESSION['indizio1']=$indizio1;
$_SESSION['indizio2']=$indizio2;
$_SESSION['indizio3']=$indizio3;
$_SESSION['indizio4']=$indizio4;


if (isset($_POST[passaggi]))
{

if ($_POST[passaggi]=='zero')
session_start();
{
print '<center>Ecco il primo indizio (quando) e le tre possibilit&agrave;! Se indovinerai giadagnerai 5 galeoni!<br><br><hr><br><i> 1 Indizio: Quando</i><br><br><b>';
print $indizio1=$_SESSION["indizio1"];
print ' </b><br><br><hr><br> Risposta 1 <input type="text" name="risposta1" value="" /><br><br>
Risposta 2 <input type="text" name="risposta2" value="" /><br><br>
Risposta 3 <input type="text" name="risposta3" value="" /><br><br>

<input type="hidden" name="passaggi" value="primo"><br/>
<input type="submit" name="Submit" value="Invia" /><br><br><br>';

}


if ($_POST[passaggi]=='primo')
session_start();
{

if ($returnValue = strtoupper($_POST['risposta1']) == $esatta || $returnValue = strtoupper($_POST['risposta2']) == $esatta || $returnValue = strtoupper($_POST['risposta3']) == $esatta)
{
print '<br><br><center><font color="green">Risposta Esatta. Hai guadagnato 5 punti!</font></center> ' ;
break;
}
if ($returnValue = strtoupper($_POST['risposta1']) != $esatta || $returnValue = strtoupper($_POST['risposta2']) != $esatta || $returnValue = strtoupper($_POST['risposta3']) != $esatta)

{
print ' <center> <b><font color="red">Risposta Sbagliata. Ritenta con un nuovo indizio!</font>
</b><br><br>Ecco il secondo indizio (dove) e le due possibilit&agrave;! Se indovinerai giadagnerai 3 galeoni!<br><br><hr>
<br><i> 1 Indizio: Quando</i><br><br><b>';
print $indizio1=$_SESSION["indizio1"];
print '</b><br><br> <hr><br><i> 2 Indizio: Dove</i><br><br><b>';
print $indizio2=$_SESSION["indizio2"];
print '$</b><br><br><hr><br><br>
Risposta 4: <input name="risposta4" required="" type="text"><br><br>
Risposta 5: <input name="risposta5" required="" type="text"><br><br>
<input type="hidden" name="passaggi" value="secondo"><br/>
<input type="submit" name="Submit" value="Invia" /><br><br><br> ';
}
}

[...]

Ho un problema, praticamente quando vado sulla pagina mi dà tutti gli indizi invece io vorrei che ne desse uno per volta se la risposta è sbagliata. Da cosa potrebbe essere dovuto?
 

Newbi

Nuovo Utente
27 Mag 2014
8
0
0
In una pagina HTML ho scritto le regole del gioco e inserito un pulsante
Codice:
<center><input type="hidden" name="passaggi" value="zero"><br/>
    <input type="submit" name="Submit" value="INIZIA A GIOCARE!" /></center>

che rimanda alla pagina con tutto il codice sopra
Codice:
if (isset($_POST[passaggi]))
{

if ($_POST[passaggi]=='zero')
session_start();
{
print '<center>Ecco il primo indizio (quando) e le tre possibilit&agrave;! Se indovinerai giadagnerai 5 galeoni!<br><br><hr><br><i> 1 Indizio: Quando</i><br><br><b>'; 

[...]
 
Discussioni simili
Autore Titolo Forum Risposte Data
amphioxus creare un quiz con Javascript Javascript 0
AntoCastro [PHP] Creare un sito di quiz a catena PHP 17
V Creare quiz a "completamento" PHP 2
B come creare i quiz???? Discussioni Varie 1
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
F Creare elementi html con javascript Javascript 4
Shyson Modificare codice e creare link PHP 0
Cosina Creare bottone delete in form upload PHP 5
Cosina Creare bottone delete in form upload PHP 1
M Creare un campo input select quantità di un numero intero prelevato dal db PHP 3
L Creare una forma geometrica Photoshop 1
M [Cerco] aiutanti per creare sito Offerte e Richieste di Lavoro e/o Collaborazione 8
S Libreria PHP per creare file dwg o dxf PHP 0
R Come creare sistema Add to homescreen PHP 3
L Creare un countdown con giorno specifico della settimana PHP 3
W Creare link di una dato Classic ASP 0
W creare file .jar Java 2
M Creare con il Vb 2010 Il Classico Notes di Windows Vista Visual Basic 1
MarcoGrazia Creare una password Snippet Javascript 0
J creare pagina php di prenotazione PHP 5
A Creare un modulo di ricerca avanzata con dreamweaver HTML e CSS 0
INTEROPERABILITY Sviluppatrice/formatrice creare APP Offerte e Richieste di Lavoro e/o Collaborazione 0
L Creare una pagina pre-home WordPress 1
G Creare side-bar non visibile da dispositivi mobile HTML e CSS 0
L creare oggetti da una classe tramite un form Javascript 0
Web93 CREARE SITO WEB COMICS CON WORDPRESS WordPress 0
maxnegri Contare sessioni aperte e creare condizione PHP 1
A Come creare pulsante donazione PayPal HTML e CSS 5
L [CERCO] Creare blog su WordPress con tema Divi Offerte e Richieste di Lavoro e/o Collaborazione 3
F Creare un set di date a seconda del frazionamento scelto da inserire in MySQL PHP 6
R [Photoshop] Creare Azione Photoshop 1
F [PHP] creare tabella e tasto cerca PHP 3
A Creare con Javascript un percorso all'interno di uno spazio Javascript 0
B [PHP] Creare PDF dopo inserimento dati form PHP 4
A [HTML] Creare sito web per eLearnig HTML e CSS 2
R Bootstrap 4 - creare una finestra di testo responsive sopra un Carousel jQuery 1
Spenalzo Creare tabelle multiple con Access via VBA MS Access 2
R [PHP] Creare sistema random PHP 3
D [PHP] Consigli su come creare form PHP 1
I Creare Qsl radioamatore con testo editabile Presentati al Forum 1
T [PHP] Creare Honeypot per form contatti PHP 10
S [PHP] Creare collegamento filtri di ricerca al database PHP 6
Z Creare VirtualHost Apache2 con PHP? Programmazione 0
max_400 [HTML] Come creare un jpg animata (non gif animata) HTML e CSS 3
A Come creare un framset Sviluppo app per Android 1
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
X [Apache] Creare sito clone/preservare codice sorgente Apache 7
E [PHP] creare temporary table per dati da xml PHP 2
M [MySQL] CREARE UN LINK SU UN DETERMINATO CAMPO DI UNA TABELLA RISULTATO DI UNA QUERY SQL MySQL 3
P [Photoshop CC] Come posso creare quest'effetto - cerchi concentrici Windows e Software 6

Discussioni simili