3xodius55
Messages postés91Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention16 septembre 2010
-
15 juin 2006 à 16:53
3xodius55
Messages postés91Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention16 septembre 2010
-
16 juin 2006 à 11:23
Bonjour,
Voilà le problème : je voudrai pouvoir afficher à l'ecran la cause d'une erreur sans son type, ni fichier concerné et numéro de ligne.
Voici un exemple :
Warning: DOMDocument::validate() [function.validate]: No declaration for element salut in C:\wamp\www\testXML\index.php on line 13
et je voudrai récupérer :
No declaration for element salut
Tout d'abord est-ce possible ?
Si oui, comment faire ? (ou quelles indications pourriez-vous me donner)
3xodius55
Messages postés91Date d'inscriptionmercredi 26 janvier 2005StatutMembreDernière intervention16 septembre 2010 16 juin 2006 à 11:23
Bonjour,
Tout d'abord merci de vos réponses ! C'est en cherchant dans la doc PHP sur DOMDocument->validate() que j'ai trouvé la méthode correspondant à mes besoins. voici la source (http://fr.php.net/manual/fr/function.dom-domdocument-validate.php): <?php
function staticerror($errno, $errstr, $errfile, $errline, $errcontext, $ret = false)
{
static $errs = array();
if ($ret === true) {
return $errs;
}
// suppression du texte $tag dans $errstr
$tag = 'DOMDocument::validate(): ';
$errs[] = str_replace($tag, '',$errstr);
}
// Load a document
$dom = new DOMDocument;
$dom->load('notre_xml.xml');
// gestion des erreurs affectées à la fonction staticerror
set_error_handler('staticerror');
// Desactive les balises HTML dans les messages d'erreurs.
$old = ini_set('html_errors', false);
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 15 juin 2006 à 22:54
Hello,
ça mérite une pub ça!!
http://www.phpcs.com/codes/PHP5-PHP-DEBUGGER-HELPER_38091.aspx Analyse mon code, il se sert justement de la gestion des erreurs personnalisée.
Bon il ne fait pas tout à fait ce que tu veux, mais il montre en tous cas que c'est possible.
Et set_error_handler () est très facile à utiliser.