alainL
2014-09-01 07:32:30 UTC
Bonjour,
Un quizz comprend trois fichiers: questions.php, liste données.txt,
corrige.php
une question contient un numero, l'adresse d'une image, son vrai nom, et
deux faux noms soit 5 données dans une ligne d'enregistrement (les 3
noms seront affichés ds un ordre différent ), lignes numérotées de 1 à
XX dans un fichier texte (facile à compléter)
le programme "question" va donc chercher une ligne d'enregistrement dans
un ordre aléatoire et affiche l'image et les trois propositions....
mais je me suis aperçu que les données contenant (sans doute) un
caractère accentué n'étaient pas affichées.
( http://autourdalos.fr/html/quizz1q.php?Fnm=fleurs_septembre.txt )
J'ai vérifié la correspondance des encodages, tant dans le fichier
question que dans le fichier txt (en 8859-1 avec notepad) mais je
n'obtiens rien. (pareil pour le corrigé ... et pour les autres mois)
Un coup de main serait le bienvenu !! Merci à l'avance
Alain
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Voici qqs morceaux du code de la page question.php
=================================================================
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" >
<title>Quizz fleurs (questions)</title>
...............................................................
# lecture fichier, sélection aléatoire de 10 lignes
$Fnm=$_GET['Fnm'];
$inF = fopen($Fnm,'r');
for ($i=1;$i<$nb;$i++) {
#Lire quelques caractères s'arrête avant s'il rencontre \n ou la fin du
fichier !
$ligne[$i] = fgets($inF, 4096);
$donneesligne=explode(';',$ligne[$i]);
$numligne[$i]=$donneesligne[0];
# si rencontre la ligne choisie , indice(1 à 10 ) les 4 données
# $imgligne[1] : image pour la 1ère question, $nvligne: bonne reponse,
$nf et $nff: mauvaises réponses
if ($numligne[$i]==$origine){
$imgligne1=$donneesligne[1];
$nvligne1=htmlspecialchars($donneesligne[2], ENT_QUOTES);
$nfligne1=htmlspecialchars($donneesligne[3], ENT_QUOTES);
$nffligne1=htmlspecialchars($donneesligne[4], ENT_QUOTES);
}
else if ($numligne[$i]==$origine+$ajout){
$imgligne2=$donneesligne[1];
$nvligne2=htmlspecialchars($donneesligne[2], ENT_QUOTES);
$nfligne2=htmlspecialchars($donneesligne[3], ENT_QUOTES);
$nffligne2=htmlspecialchars($donneesligne[4], ENT_QUOTES);
}
............................................
print ("<form name='form1' method='post' action='quizz1r.php'>
<fieldset><legend></legend>
<img src='$imgligne1' alt='' ><br>
<label for='r_01'>
<input id='r_01' type='radio' name='reponse1' value='$nfligne1' >
$nfligne1
</label>
<label for='r_02'>
<input id='r_02' type='radio' name='reponse1' value='$nvligne1' >
$nvligne1
</label>
<label for='r_03'>
<input id='r_03' type='radio' name='reponse1' value='$nffligne1' >
$nffligne1
</label>
<input type='hidden' name='bonnereponse1' value='$nvligne1' >
<input type='hidden' name='image1' value='$imgligne1' >
</fieldset>
================================================================
AlainL
Un quizz comprend trois fichiers: questions.php, liste données.txt,
corrige.php
une question contient un numero, l'adresse d'une image, son vrai nom, et
deux faux noms soit 5 données dans une ligne d'enregistrement (les 3
noms seront affichés ds un ordre différent ), lignes numérotées de 1 à
XX dans un fichier texte (facile à compléter)
le programme "question" va donc chercher une ligne d'enregistrement dans
un ordre aléatoire et affiche l'image et les trois propositions....
mais je me suis aperçu que les données contenant (sans doute) un
caractère accentué n'étaient pas affichées.
( http://autourdalos.fr/html/quizz1q.php?Fnm=fleurs_septembre.txt )
J'ai vérifié la correspondance des encodages, tant dans le fichier
question que dans le fichier txt (en 8859-1 avec notepad) mais je
n'obtiens rien. (pareil pour le corrigé ... et pour les autres mois)
Un coup de main serait le bienvenu !! Merci à l'avance
Alain
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Voici qqs morceaux du code de la page question.php
=================================================================
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN'
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" >
<title>Quizz fleurs (questions)</title>
...............................................................
# lecture fichier, sélection aléatoire de 10 lignes
$Fnm=$_GET['Fnm'];
$inF = fopen($Fnm,'r');
for ($i=1;$i<$nb;$i++) {
#Lire quelques caractères s'arrête avant s'il rencontre \n ou la fin du
fichier !
$ligne[$i] = fgets($inF, 4096);
$donneesligne=explode(';',$ligne[$i]);
$numligne[$i]=$donneesligne[0];
# si rencontre la ligne choisie , indice(1 à 10 ) les 4 données
# $imgligne[1] : image pour la 1ère question, $nvligne: bonne reponse,
$nf et $nff: mauvaises réponses
if ($numligne[$i]==$origine){
$imgligne1=$donneesligne[1];
$nvligne1=htmlspecialchars($donneesligne[2], ENT_QUOTES);
$nfligne1=htmlspecialchars($donneesligne[3], ENT_QUOTES);
$nffligne1=htmlspecialchars($donneesligne[4], ENT_QUOTES);
}
else if ($numligne[$i]==$origine+$ajout){
$imgligne2=$donneesligne[1];
$nvligne2=htmlspecialchars($donneesligne[2], ENT_QUOTES);
$nfligne2=htmlspecialchars($donneesligne[3], ENT_QUOTES);
$nffligne2=htmlspecialchars($donneesligne[4], ENT_QUOTES);
}
............................................
print ("<form name='form1' method='post' action='quizz1r.php'>
<fieldset><legend></legend>
<img src='$imgligne1' alt='' ><br>
<label for='r_01'>
<input id='r_01' type='radio' name='reponse1' value='$nfligne1' >
$nfligne1
</label>
<label for='r_02'>
<input id='r_02' type='radio' name='reponse1' value='$nvligne1' >
$nvligne1
</label>
<label for='r_03'>
<input id='r_03' type='radio' name='reponse1' value='$nffligne1' >
$nffligne1
</label>
<input type='hidden' name='bonnereponse1' value='$nvligne1' >
<input type='hidden' name='image1' value='$imgligne1' >
</fieldset>
================================================================
AlainL