Précédent   Forum des professionnels en informatique > PHP > Langage > Fichiers
Fichiers Forum d'entraide sur les fichiers avec PHP. Avant de poster -> FAQ fichiers et Sources fichiers
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 25/04/2007, 11h22   #1
Invité régulier
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : février 2007
Messages : 44
Points : 9
Points : 9
Par défaut créer un questionnaire à partir de liste déroulante

Bonjour à tous le forum,

je voudrais créer un quizz, il y a une question les personnes doivent choisir une réponse dans une liste déroulante.

exemple :
la bonne réponse étalon
voici le code :

Code HTML :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<form action="etalon1.php" method="post" >
Le nom du mâle ?
<select name="liste">
<option value="ane" name="ane">Ane</option>
<option value="belier" name="belier">Bélier</option>
<option value="bouc" name=">Bouc</option>
<option value="canard" name=">Canard</option>
<option value="chat" name=">Chat</option>
<option value="chien" name=">Chien</option>
<option value="coq" name=">Coq</option>
<option value="dindon" name=">Dindon</option>
<option value="etalon" name="Etalon">Etalon</option>
<option value="jars" name=">Jars</option>
<option value="lapin" name=">Lapin</option>
<option value="pigeon" name=">Pigeon</option>
<option value="pintade" name=">Pintade</option>
<option value="taureau" name=">Taureau</option>
<option value="verrat" name=">Vérrat</option>
</select>
</form>

je voudrais par le php, savoir si la réponse est bonne ou fausse et savoir le nombre de bonnes réponses et le nombre de mauvaises réponses a la fin du quizz.

Merci d'avance à tous
dudu134 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 11h33   #2
Membre du Club
 
Étudiant
Inscription : mars 2006
Messages : 70
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2006
Messages : 70
Points : 56
Points : 56
Ben tout dépend si tu as une base de données pour les réponses.

Si ce n'est pas le cas, que tu veux mettre les réponses en "dur", il te suffit d'écrire cela :
Code :
1
2
3
4
5
6
7
8
 
if (isset($_POST['liste']))
{
    if($_POST['liste'] == 'etalon')
        echo "Bonne réponse";
    else
        echo "Mauvaise réponse";
}
godzinho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 11h39   #3
Invité régulier
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : février 2007
Messages : 44
Points : 9
Points : 9
Par défaut re

bonjour godzinho,

je ne veux pas de base de donnée,
j'ai essayé le code, rien s'écrit
dudu134 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 15h16   #4
Invité régulier
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : février 2007
Messages : 44
Points : 9
Points : 9
Par défaut re

J'ai mis mon fichier dans easy php, maintenant ça marche.

j' ai plusieurs questions et je voudrais comptabiliser les mauvaises réponses et les bonnes réponses.

Merci d'avance
dudu134 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 15h26   #5
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
Salut
si tu testes toutes tes réponses avec le genre de bloc qu'a proposé godzinho, il te suffit de rajouter une variable "nombre de bonnes réponses" et l'incrémenter après la phrase "bonne réponse !"
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 15h30   #6
Membre du Club
 
Étudiant
Inscription : mars 2006
Messages : 70
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2006
Messages : 70
Points : 56
Points : 56
Ben il te faut créer une variable qui te servira de compteur.
Code :
1
2
3
4
5
6
7
8
9
10
 
$cpt = 0;
if (isset($_POST['liste']))
{
    if($_POST['liste'] == 'etalon')
        echo "Bonne réponse";
        $cpt++;
    else
        echo "Mauvaise réponse";
}
Tu fais de meme pour chaque autre bonne réponse, mais sa va etre long si tu dois faire sa à chaque fois !!!

Fais voir ton code en entier (pièce jointe)
godzinho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 15h42   #7
Invité régulier
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : février 2007
Messages : 44
Points : 9
Points : 9
Par défaut re

voici mon fichier
Fichiers attachés
Type de fichier : php etalon.php (6,3 Ko, 2 affichages)
Type de fichier : php etalon1.php (339 octets, 3 affichages)
dudu134 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 15h53   #8
Membre du Club
 
Étudiant
Inscription : mars 2006
Messages : 70
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2006
Messages : 70
Points : 56
Points : 56
Ok, en fait maintenant il faut que tu renommes tes select pour distinguer chaque question et tu ne créé qu'un seul formulaire.

Par exemple :
Code :
1
2
3
4
5
6
7
 
<form method="post" action="etalon1.php">
    <select name="liste1">
    ...
    <select name="liste2">
    ...
</form>
Ensuite il faut que dans ton fichier etalon1.php tu vérifies que la réponse est correcte.

Tu dois donc pour chaque question faire :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 
$cpt=0;
if (isset($_POST['liste1']))
{
    if($_POST['liste1'] == 'bonne_réponse')
        echo "Bonne réponse";
        $cpt++;
    else
        echo "Mauvaise réponse";
}
 
if (isset($_POST['liste2']))
{
    if($_POST['liste2'] == 'bonne_réponse')
        echo "Bonne réponse";
        $cpt++;
    else
        echo "Mauvaise réponse";
}
 
....
godzinho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h02   #9
Invité régulier
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : février 2007
Messages : 44
Points : 9
Points : 9
Par défaut re

Je te remercie de ton aide,

@+
dudu134 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h15   #10
Invité régulier
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : février 2007
Messages : 44
Points : 9
Points : 9
Par défaut re

j'ai éssayé et j'ai une erreur :

<?php
echo 'Question 1'
$cpt=1;
if (isset($_POST['liste']))
{
if($_POST['liste'] == 'etalon')
echo "Bonne réponse";
$cpt++;
else
echo "Mauvaise réponse";
}
<br>
<br>
echo 'Question 1'
if (isset($_POST['liste1']))
{
if($_POST['liste1'] == 'mammifere')
echo "Bonne réponse";
$cpt++;
else
echo "Mauvaise réponse";
}

<br>
<br>
echo 'Question 1'
if (isset($_POST['liste2']))
{
if($_POST['liste2'] == 'chaud')
echo "Bonne réponse";
$cpt++;
else
echo "Mauvaise réponse";
}
<br>
<br>
echo 'Question 1'
if (isset($_POST['liste3']))
{
if($_POST['liste3'] == 'jument')
echo "Bonne réponse";
$cpt++;
else
echo "Mauvaise réponse";
}
<br>
<br>
echo 'Question 1'
if (isset($_POST['liste4']))
{
if($_POST['liste4'] == 'pelage')
echo "Bonne réponse";
$cpt++;
else
echo "Mauvaise réponse";
}
<br>
<br>
echo 'Question 1'
if (isset($_POST['liste5']))
{
if($_POST['liste5'] == 'ovipare')
echo "Bonne réponse";
$cpt++;
else
echo "Mauvaise réponse";
}
<br>
<br>
echo 'Question 1'
if (isset($_POST['liste6']))
{
if($_POST['liste6'] == 'poulain')
echo "Bonne réponse";
$cpt++;
else
echo "Mauvaise réponse";
}
<br>
<br>
echo 'Question 1'
if (isset($_POST['liste7']))
{
if($_POST['liste7'] == 'herbivore')
echo "Bonne réponse";
$cpt++;
else
echo "Mauvaise réponse";
}
<br>
<br>
echo 'Question 1'
if (isset($_POST['liste8']))
{
if($_POST['liste8'] == 'hennit')
echo "Bonne réponse";
$cpt++;
else
echo "Mauvaise réponse";
}
?>

dans le navigateur, il me marque ce message d'erreur :

Parse error: parse error, expecting `','' or `';'' in c:\program files\easyphp1-8\www\images\etalon1.php on line 10
dudu134 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h25   #11
Membre du Club
 
Étudiant
Inscription : mars 2006
Messages : 70
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2006
Messages : 70
Points : 56
Points : 56
Bon va falloir que t'apprennes sérieusement le php
Pourtant je ne suis pas très très bon.

C'est une erreur de syntaxe.

Faut écrire :
Code :
1
2
 
echo "Question 1";
Tu as oublié le ;

Voilà, bonne continuation.
godzinho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h27   #12
Invité régulier
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : février 2007
Messages : 44
Points : 9
Points : 9
Par défaut re

excuse moi pour le ";" , mais il y a une autre erreur
dudu134 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h29   #13
Membre du Club
 
Étudiant
Inscription : mars 2006
Messages : 70
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2006
Messages : 70
Points : 56
Points : 56
ok, mais c'est quoi l'erreur.
godzinho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h30   #14
Invité régulier
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : février 2007
Messages : 44
Points : 9
Points : 9
Par défaut re

l'erreur :


Parse error: parse error in c:\program files\easyphp1-8\www\images\etalon1.php on line 16
dudu134 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h32   #15
Membre régulier
 
Inscription : mars 2006
Messages : 168
Détails du profil
Informations forums :
Inscription : mars 2006
Messages : 168
Points : 99
Points : 99
Bonjour,

if (isset($_POST['liste1']))
{
if($_POST['liste1'] == 'mammifere')
echo "Bonne réponse";
$cpt++;
else
echo "Mauvaise réponse";
}


tu met un deuxieme if mais tu met pas les {}
jem27 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h33   #16
Membre du Club
 
Étudiant
Inscription : mars 2006
Messages : 70
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2006
Messages : 70
Points : 56
Points : 56
Ah oui, dsl ce coup-ci c'est moi qui ai fait une erreur de syntaxe :

Dans chaque if il faut mettre les accolades comme suit :
Code :
1
2
3
4
5
6
7
8
9
10
11
 
if (isset($_POST['liste3']))
{
    if($_POST['liste3'] == 'jument')
    {
        echo "Bonne réponse";
        $cpt++;
    }
    else
        echo "Mauvaise réponse";
}
godzinho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h38   #17
Invité régulier
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : février 2007
Messages : 44
Points : 9
Points : 9
Par défaut re

ce n'est pas "{}"
dudu134 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h40   #18
Membre du Club
 
Étudiant
Inscription : mars 2006
Messages : 70
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2006
Messages : 70
Points : 56
Points : 56
Ton formulaire est en ligne ??

Si oui, donne l'adresse du site sinon envoi les nouveaux fichiers, merci.

Soit plus clair dans ce que tu demandes et pense à mettre les balises pour le code.
godzinho est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h44   #19
Invité régulier
 
Inscription : février 2007
Messages : 44
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : février 2007
Messages : 44
Points : 9
Points : 9
Par défaut re

je ne vois pas ou le mettre
dudu134 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/04/2007, 16h45   #20
Membre du Club
 
Étudiant
Inscription : mars 2006
Messages : 70
Détails du profil
Informations personnelles :
Âge : 26
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : mars 2006
Messages : 70
Points : 56
Points : 56
Envoie les nouveaux fichiers stp !!!
godzinho est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 16h10.


 
 
 
 
Partenaires

Hébergement Web