Problème avec php
Fermé
Thomas MARTIN
-
18 mai 2011 à 19:30
Kzim27 Messages postés 16 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 19 juillet 2011 - 20 mai 2011 à 19:18
Kzim27 Messages postés 16 Date d'inscription mardi 17 mai 2011 Statut Membre Dernière intervention 19 juillet 2011 - 20 mai 2011 à 19:18
A voir également:
- Problème avec php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Bouton php - Forum PHP
- Php alert - Forum PHP
- \R php ✓ - Forum PHP
5 réponses
Kzim27
Messages postés
16
Date d'inscription
mardi 17 mai 2011
Statut
Membre
Dernière intervention
19 juillet 2011
4
18 mai 2011 à 19:47
18 mai 2011 à 19:47
Je ne suis pas sur que tu puisse faire ca:
peux être essai:
file('reponse_q0.txt')[$i]
peux être essai:
for($i=0;$i<count($_POST['choix0']);$i++) { $fileData = file('reponse_q0.txt') if(!($_POST['choix0'][$i] == $fileData[$i])){$comparaison = False}; };
Merci, mais ça marche toujours pas.
Cette fois, il me met
( ! ) Parse error: syntax error, unexpected T_IF in C:\Program Files\wamp\www\Info222\test.php on line 13
line13 désigne la même ligne, celle en gras dans mon premier message.
Cette fois, il me met
( ! ) Parse error: syntax error, unexpected T_IF in C:\Program Files\wamp\www\Info222\test.php on line 13
line13 désigne la même ligne, celle en gras dans mon premier message.
Kzim27
Messages postés
16
Date d'inscription
mardi 17 mai 2011
Statut
Membre
Dernière intervention
19 juillet 2011
4
19 mai 2011 à 16:11
19 mai 2011 à 16:11
essaie comme ca:
<?php $score = 0; if(count($_POST['choix0']) == count(file('reponse_q0.txt'))) { $comparaison = True; for($i=0;$i<count($_POST['choix0']);$i++) { $fileData = file('index.php'); if(!($_POST['choix0'][$i] == $fileData[$i])) { $comparaison = False; } } if($comparaison) { $score = $score + 1; } } echo "Votre score est de $score !"; ?>
Ca marche mieux, merci beaucoup, il n'y a plus de message d'erreur. Apparemment, il ne fallait pas mettre de ; après les {}, c'est bien ça ?
Toutefois, il y a un autre problème :
Le score était tout le temps de 0.
En fait, on rentre dans la boucle suivante
if(!($_POST['choix0'][$i] == $fileData[$i]))
{
$comparaison = False;
}
Pour l'indice $i = 0. Quelqu'un aurait-il une idée de pourquoi ?
Inexplicablement, il semblerait que $fileData[0] renvoit "3 ", 3 suivi d'un espace.
Pourtant, fileData fait référence à reponse_q0.txt, un fichier texte qui contient uniquement 3 sur la première ligne.
Ok, en fait, il semblerait que le problème soit présent sur toutes les lignes sauf le dernière, apparemment l'espace est là à cause du retour charriot dans le fichier texte.
En ajoutant FILE_IGNORE_NEW_LINES comme second argument à file, on peut éviter cela.
Du coup, tout marche pour moi, merci beaucoup à vous tous !
Toutefois, il y a un autre problème :
Le score était tout le temps de 0.
En fait, on rentre dans la boucle suivante
if(!($_POST['choix0'][$i] == $fileData[$i]))
{
$comparaison = False;
}
Pour l'indice $i = 0. Quelqu'un aurait-il une idée de pourquoi ?
Inexplicablement, il semblerait que $fileData[0] renvoit "3 ", 3 suivi d'un espace.
Pourtant, fileData fait référence à reponse_q0.txt, un fichier texte qui contient uniquement 3 sur la première ligne.
Ok, en fait, il semblerait que le problème soit présent sur toutes les lignes sauf le dernière, apparemment l'espace est là à cause du retour charriot dans le fichier texte.
En ajoutant FILE_IGNORE_NEW_LINES comme second argument à file, on peut éviter cela.
Du coup, tout marche pour moi, merci beaucoup à vous tous !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Kzim27
Messages postés
16
Date d'inscription
mardi 17 mai 2011
Statut
Membre
Dernière intervention
19 juillet 2011
4
20 mai 2011 à 19:18
20 mai 2011 à 19:18
L'erreur venais qu'il manquais un ; apres $fileData = file('index.php')
Pour ton probleme je ne comprend pas bien.
devrais te donner
essaye d'isoler les morceau de ton code pour localiser le problème.
Pour ton probleme je ne comprend pas bien.
<?php $tableau = file('reponse_q0.txt'); print_r($tableau ) ; ?>
devrais te donner
Array ( [0] => 3 [1] => 4 )
essaye d'isoler les morceau de ton code pour localiser le problème.