gestion des erreurs - PHP - Programmation
Marsh Posté le 27-11-2008 à 17:49:07
Tu n'a qu'à les tester avec isset() :
http://fr.php.net/isset
Et tu peux activer l'affichage des notices pour t'aider
Code : |
Marsh Posté le 27-11-2008 à 18:07:56
J'ai mis
Code :
|
L'erreur ne s'affiche plus, mais l'execution est stopée. Comment dire de quitter la fonction en cours et de continuer le reste ?
Marsh Posté le 27-11-2008 à 18:26:58
J'ai essayé isset, voilà la suite:
L'erreur est sur cette ligne:
Code :
|
Dans la page spécifié 'title' est introuvable .
Le problème c'est que des fois il y a ce mot !
Marsh Posté le 27-11-2008 à 18:31:18
...
Quelle est l'erreur exacte ?
As tu essayé avec isset ?
Marsh Posté le 27-11-2008 à 18:43:00
oui,
voilà la valeur de $contenu:
302 Moved
The document has moved here.
Voilà l'erreur affichée en dessous:
Fatal error: Call to a member function getElementsByTagName() on a non-object in mon_url on line 473
Marsh Posté le 27-11-2008 à 18:46:25
Le code:
Code :
|
Marsh Posté le 27-11-2008 à 18:46:32
le problème vient de ta requête CURL, elle échoue.
Du coup impossible de lire $contenu puisqu'il est invalide
N'oublie pas de tester avec isset(), je me répète, mais j'ai l'impression que tu ne le fais pas
Si la variable n'est pas ok annule le traitement bien sur.
Marsh Posté le 27-11-2008 à 18:55:47
On a posté presque en meme temps, tu vois qqch d'autre à mettre ?
juste avant $doc il manque echo $contenu;
Dans le fichier xml il y a bien qqch, sauf qu'il manque les balise non ?
Marsh Posté le 27-11-2008 à 18:56:52
Ne jamais mettre d'@ devant une fonction, c'est le mal, ça cache tous les problèmes.
Ne jamais mettre l' "error_reporting" à 0 sur un serveur de test : c'est encore plus le mal, ça cache vraiment tous les problèmes.
Pour le reste (commence par lire la doc) c'est un bon point de départ pour savoir ce que retourne chaque fonction et donc comment tester le résultat (isset() ne sert à rien si on obtient un booléen )
PS : Vu le texte de ton $contenu, c'est normal que ta page gueule : t'es tombé sur une page de redirection et non pas sur une page (x)html.
Marsh Posté le 27-11-2008 à 18:58:23
RTFM :
http://fr.php.net/isset
isset() vérifie l'existence d'une variable, si tu l'initialise juste avant pas besoin de tester son existence, teste juste sa validité (pour $doc, par exemple, qu'il contienne un objet DOM correct).
Ensuite, le problème vient de ta requete CURL, regarde le message d'erreur.
EDIT :
Marsh Posté le 27-11-2008 à 18:59:56
Oui, mais si j'oublie de mettre à jour mon lien xml, je ne veux pas qu'il tombe le site !
Je règle les autres problème ...
Marsh Posté le 27-11-2008 à 19:05:16
J'ai supprimé le @ et viré error_reporting(0)
Code :
|
Marsh Posté le 27-11-2008 à 19:07:00
et bien le fichier XML n'est pas correct
il te suffit de le corriger à partir des indications qui te sont données.
Marsh Posté le 27-11-2008 à 19:11:22
Ben déjà quand t'as un fichier qui commence par un nombre, tu es sur que ça n'est pas du xml.
Ca t'éliminera déjà toutes les redirections et les messages d'erreurs envoyé par un serveur web.
Pour savoir si c'est du xml, franchement à par le parser je ne voit pas comment on pourrait le deviner.
Marsh Posté le 27-11-2008 à 16:52:53
Bonjour, il arrive que '$lien' bloque ou que 'title' n'existe pas, comment faire pour éviter que le site continue son traitement ?
code: