Php si erreur recommence
Résolu/Fermé
A voir également:
- Php si erreur recommence
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 1001 outlook - Accueil - Bureautique
- Erreur 5000 france tv - Forum iPhone
- Erreur g030 - Forum Bbox Bouygues
5 réponses
Je pense avoir trouvé une solution mais ce n'est pas élégant
j'utilise simplexml_load_string et vérifie plusieurs fois si c'est bon (2 fois dans cet exemple)
Pensez vous que ce code fonctionne (je ne peux pas simuler l'erreur)
// @ permet de ne pas afficher l'erreur
$xml = @simplexml_load_string($contenu);
// ! est en erreur
if(!$xml)
$xml = @simplexml_load_string($contenu);
else
if(!$xml)
$xml = @simplexml_load_string($contenu);
else
....
j'utilise simplexml_load_string et vérifie plusieurs fois si c'est bon (2 fois dans cet exemple)
Pensez vous que ce code fonctionne (je ne peux pas simuler l'erreur)
// @ permet de ne pas afficher l'erreur
$xml = @simplexml_load_string($contenu);
// ! est en erreur
if(!$xml)
$xml = @simplexml_load_string($contenu);
else
if(!$xml)
$xml = @simplexml_load_string($contenu);
else
....
et comme ça ?
//étiquette erreur pour le goto
erreur:
// @ permet de ne pas afficher l'erreur
$xml = @simplexml_load_string($contenu);
// ! est en erreur
if(!$xml)
goto erreur;
else
//étiquette erreur pour le goto
erreur:
// @ permet de ne pas afficher l'erreur
$xml = @simplexml_load_string($contenu);
// ! est en erreur
if(!$xml)
goto erreur;
else
Webster95
Messages postés
553
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
9 juillet 2013
142
1 sept. 2012 à 00:47
1 sept. 2012 à 00:47
Oui, en plaçant un flag tant que ton programme fonctionne .Du genre
En quelques sortes, je te traduit:
En clair, tu répète ta boucle jusqu'a que ta variable $xml ai fonctionné =)
$flag = true while($flag == true){ $xml = new SimpleXMLElement($contenu); //<= l'erreur est à cette ligne if($xml){ $flag = false; } }
En quelques sortes, je te traduit:
TANTQUE flag = vrai $xml = new SimpleXMLElement($contenu); SI$xml est rempli flag = faux FINSI FINTANTQUE
En clair, tu répète ta boucle jusqu'a que ta variable $xml ai fonctionné =)
Merci pour ta réponse, j'ai malheureusement une erreur
Parse error: syntax error, unexpected T_WHILE
la solution que j'évoque au dessus ne fonctionne pas car ma Version PHP est la 5.2.17 est n'est valable qu'à partir de 5.3.
Parse error: syntax error, unexpected T_WHILE
la solution que j'évoque au dessus ne fonctionne pas car ma Version PHP est la 5.2.17 est n'est valable qu'à partir de 5.3.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je suis passé à php 5.4.4, ma solution fonctionne ;-)
j'ai toujours une erreur de syntaxe avec la tienne .
Merci quand même @+
j'ai toujours une erreur de syntaxe avec la tienne .
Merci quand même @+
Webster95
Messages postés
553
Date d'inscription
lundi 5 novembre 2007
Statut
Membre
Dernière intervention
9 juillet 2013
142
1 sept. 2012 à 10:43
1 sept. 2012 à 10:43
C'est normal, j'ai oublié le ;
$flag = true; while($flag == true){ $xml = new SimpleXMLElement($contenu); //<= l'erreur est à cette ligne if($xml){ $flag = false; } }
1 sept. 2012 à 00:50
Regarde mon code en dessous, la boucle se préprete jusqu'a que ton code fonctionne.
Tu ne peux pas anticiper le nombre de fois que ton fichier va planter, cela peut etre 2, 3.. 10 fois !