[PHP] problème boucle infini
Résolu/Fermé
boucleurfou
-
26 janv. 2008 à 21:36
Pi_Xi Messages postés 2244 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 22 janvier 2016 - 26 janv. 2008 à 23:09
Pi_Xi Messages postés 2244 Date d'inscription samedi 24 mars 2007 Statut Membre Dernière intervention 22 janvier 2016 - 26 janv. 2008 à 23:09
A voir également:
- [PHP] problème boucle infini
- Easy php - Télécharger - Divers Web & Internet
- Signe infini clavier - Forum MacOS
- Le signe INFINI - Forum Windows 10
- Utiliser ticket kadéos infini sur internet - Forum Consommation & Internet
- Aide ticket infini (sur internet) fnac ✓ - Forum Consommation & Internet
6 réponses
Pi_Xi
Messages postés
2244
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
22 janvier 2016
149
26 janv. 2008 à 21:54
26 janv. 2008 à 21:54
Bonsoir,
$ipok = 1 => $ipok toujours != 0
donc tu tournes en rond ;o)
$ipok = 1; $fileip = fopen('ip.txt', 'r'); while($ipok != 0 OR !feof($fileip))Y'a qqch qui va pas là ...
$ipok = 1 => $ipok toujours != 0
donc tu tournes en rond ;o)
while($ipok != 0 OR !feof($fileip))
{
if (fgets($fileip) == $ip) $ipok=0;
else $ipok=1;
}
si la ligne du fichier correspond a l'ip alors $ipok = 0 ^^
et de toute façon grace a "OR !feof($fileip)" quand on arrive à la fin du fichier la boucle doit s'arréter... Normalement
Et c'est ça que je comprend pas!!!
please help me!
Merci d'avance,
Aurevoir.
{
if (fgets($fileip) == $ip) $ipok=0;
else $ipok=1;
}
si la ligne du fichier correspond a l'ip alors $ipok = 0 ^^
et de toute façon grace a "OR !feof($fileip)" quand on arrive à la fin du fichier la boucle doit s'arréter... Normalement
Et c'est ça que je comprend pas!!!
please help me!
Merci d'avance,
Aurevoir.
Pi_Xi
Messages postés
2244
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
22 janvier 2016
149
26 janv. 2008 à 22:17
26 janv. 2008 à 22:17
oué chuis kc, verrai ça plus tard ;o)
C'est pourtant super simple :o(
C'est pourtant super simple :o(
Je crois vraiment que tu te trompes :S
$ipok n'est pas une constante et les instruction dans la boucle permettent de changer la valeur de $ipok donc la boucle peut avoir une fin.
la boucle ne remonte pas jusqu'à la définition de la variable $ipok=1; donc logiquement je pense que le problème ne vient pas d'ici.
Si tu penses vraiment (malgrès ma réponse) que tu as raison, peut tu m'aider à corriger mon script?
Merci d'avance!
$ipok n'est pas une constante et les instruction dans la boucle permettent de changer la valeur de $ipok donc la boucle peut avoir une fin.
la boucle ne remonte pas jusqu'à la définition de la variable $ipok=1; donc logiquement je pense que le problème ne vient pas d'ici.
Si tu penses vraiment (malgrès ma réponse) que tu as raison, peut tu m'aider à corriger mon script?
Merci d'avance!
Pi_Xi
Messages postés
2244
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
22 janvier 2016
149
26 janv. 2008 à 22:28
26 janv. 2008 à 22:28
oui j'ai bien compris, c mon boulot quand même le dev ;o)
>> je pense qu'il fait une boucle infini car j'obtient une page totalement vide et dépourvu d'erreur alors que quelque soit la valeur de $ipok on affiche quelque chose
Insère des tests pour voir où ça coince ...
>> je pense qu'il fait une boucle infini car j'obtient une page totalement vide et dépourvu d'erreur alors que quelque soit la valeur de $ipok on affiche quelque chose
Insère des tests pour voir où ça coince ...
J'ai inséré des tests ^^ mais rien ne s'affiche T-T
j'ai essayer plusieurs fois de mettre des echo mais la page reste toujours totalement blanche c'est ça que je comprend pas
Merci beaucoup de ton aide, mais le problème demeure :p
PS:j'ai le droit de poster mon lien ici pour que tu puisses jeter un coup d'oeil?
j'ai essayer plusieurs fois de mettre des echo mais la page reste toujours totalement blanche c'est ça que je comprend pas
Merci beaucoup de ton aide, mais le problème demeure :p
PS:j'ai le droit de poster mon lien ici pour que tu puisses jeter un coup d'oeil?
Pi_Xi
Messages postés
2244
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
22 janvier 2016
149
26 janv. 2008 à 22:34
26 janv. 2008 à 22:34
tu as le droit mais ça ne sert à rien.
Faudrait que je le teste en local ton script mais g pas le temps là pis chuis vraiment hs ^^
EDIT: mets des tests partout:
Tiens-moi au courant ! ^^
Faudrait que je le teste en local ton script mais g pas le temps là pis chuis vraiment hs ^^
EDIT: mets des tests partout:
$ip=$REMOTE_ADDR; echo "IP = $ip"; $ipok = 1; $fileip = fopen('ip.txt', 'r'); echo "Je suis avant le while"; while($ipok != 0 OR !feof($fileip)) { $getIp = fgets($fileip); if ($getIp == $ip) {$ipok=0; print_r($getIp); echo "ipok est à zero";} else {$ipok=1; echo "ipok est à 1";} } fclose($fileip); echo "Je suis après le while"; if($ipok) { echo "version 1"; $fileip = fopen('ip.txt', 'a'); fputs($fileip, "\n"); fputs($fileip, $ip); fclose($fileip); } else echo "version 2";Si RIEN n'apparaît, le pb est ailleurs ...
Tiens-moi au courant ! ^^
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai mit la boucle en commentaire et la page marche bien,
j'ai aussi fait tes tests:
ET J'AI TROUVER LE PROBLèME!
et finalement,en quelque sorte, c'est moi qui avais raison :p
le problème ne venait pas de $ipok
mais de la définition de la boucle:
il fallait écrire: while($ipok != 0 AND !feof($fileip))
au lieu de : while($ipok != 0 OR !feof($fileip))
ta solution n'était pas bonne :p mais tu ma poussé à chercher.
je n'y serais pas arrivé sans toi alors merci beaucoup!!!!!
Aurevoir.
et encore merci!
j'ai aussi fait tes tests:
ET J'AI TROUVER LE PROBLèME!
et finalement,en quelque sorte, c'est moi qui avais raison :p
le problème ne venait pas de $ipok
mais de la définition de la boucle:
il fallait écrire: while($ipok != 0 AND !feof($fileip))
au lieu de : while($ipok != 0 OR !feof($fileip))
ta solution n'était pas bonne :p mais tu ma poussé à chercher.
je n'y serais pas arrivé sans toi alors merci beaucoup!!!!!
Aurevoir.
et encore merci!
Pi_Xi
Messages postés
2244
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
22 janvier 2016
149
26 janv. 2008 à 23:06
26 janv. 2008 à 23:06
lol forcément tu avais raison pisque g sorti une grosse connerie au début ! Pis j'ai apporté zéro soluce dans ma première réponse, je l'ai compris juste après avoir validé le message ... on fait tous des erreurs hein.
Et oui, quand ça marche pas et qu'on comprend pas pourquoi, faut mettre des tests partout et l'erreur saute aux yeux ^^
J'y avais pensé au && en plus :o) Mais je me suis pas vraiment plongée dans ton code, chuis vraiment pas en état là .
Bref, tant mieux si ça fonctionne ;o)
Bonne prog !!
Et oui, quand ça marche pas et qu'on comprend pas pourquoi, faut mettre des tests partout et l'erreur saute aux yeux ^^
J'y avais pensé au && en plus :o) Mais je me suis pas vraiment plongée dans ton code, chuis vraiment pas en état là .
Bref, tant mieux si ça fonctionne ;o)
Bonne prog !!
dit moi :S
comment on met le sujet en "résolu"? je trouve pas xD
(La honte quand même, se planter sur une boucle pendant 2h30.... *Va réviser ses cours de php...* xD)
comment on met le sujet en "résolu"? je trouve pas xD
(La honte quand même, se planter sur une boucle pendant 2h30.... *Va réviser ses cours de php...* xD)
Pi_Xi
Messages postés
2244
Date d'inscription
samedi 24 mars 2007
Statut
Membre
Dernière intervention
22 janvier 2016
149
26 janv. 2008 à 23:09
26 janv. 2008 à 23:09
T'en verras d'ot, ça arrive à tout le monde, même aux meilleurs de galérer qq heures sur des conneries ;o) Surtout après qq longues heures de prog intensive.
Le statut résolu, chais pu, ça m'a toujours semblé évident de basculer le statut du sujet ^^
Ptet quand tu édite une réponse, tu as moyen de mettre résolu.
Le statut résolu, chais pu, ça m'a toujours semblé évident de basculer le statut du sujet ^^
Ptet quand tu édite une réponse, tu as moyen de mettre résolu.