Voila mon code qui doit me permettre de comparer des nombres entrés par l'utilisateur à la page précédente et ceux contenus dans un fichier .txt. l'ordre des nombres n'intervient pas, c'est exactement le principe du loto. Mon pb vient du fait que le compte se fait mal pour le dernier nombre entré par l'utilisateur (celui qui se nomme nb[5]). voila le code :
<?
$fichier = 'reponses.txt';
$fp = fopen($fichier,'r');
while (!feof($fp)){ // On parcours le fichier
$bons = 0;
$comp = 'pas de bonus';
$ligne = fgets($fp,4096); // On se déplace d'une ligne
$gr = explode( "|",$ligne); // on prend toutes les valeurs entre les |
for ($j=0;$j<6;$j++){
for ($k=0;$k<6;$k++){
if ($gr[$j]==$nb[$k]){ // si un des nombres correspond à un du fichier
$bons = $bons+1; // on incrémente $bons
}
if ($gr[$j]==$bonus){
$comp = 'plus le bonus'; // si un des nombres correspond au bonus
}
}
}
echo "$gr[0], $gr[1], $gr[2], $gr[3], $gr[4], $gr[5], soit $bons bons, $comp<br>";
}
fclose($fp);
echo "$nb[0], $nb[1], $nb[2], $nb[3], $nb[4], $nb[5], $bonus";
?>
Voici à quoi ressemble le fichier reponses.txt
4|42|5|7|8|29
5|78|20|3|45|7
75|8|68|42|4|9
Si l'utilisateur a rentré un numéro bonus qui correspond au dernier numéro d'une ligne du fichier reponses il ne renvoie pas la mention "plus le bonus", de meme si un de ses numéros correspond avec le dernier d'une ligne, il n'est pas compté.
Merci d'avance de m'éclairer,
tonyo