Cacher les erreurs de requetes
Bonsoir,
Voila j'aimerais gerer proprement les erreurs sql, j'ai vu qu'on pouvait les cacher en mettant le @ devant les fonctions php pour mysql, or certains le deconseille et ne trouve pas ca propre, moi je voudrais cacher les erreurs dans la page du visiteur (y compris sa source), et ensuite pouvoir envoyer l'erreur avec une fonction mail a mon adresse.
Auriez-vouqs des idées ? ou sinon y a til des moyens plus judicieux pour gerer les erreurs ?!
Ciao,
I am singing in the rain , I am happy again !!
le 24/04/2006 à 02:46
Bzh
Ce qui donne en pratique:
<?php
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
//Fonction de gestion des erreurs
function gestionnaire_erreur ($numero_erreur, $message_erreur, $fichier_erreur, $ligne_erreur)
{
$numero_erreur = mysql_real_escape_string($numero_erreur);
$message_erreur = mysql_real_escape_string($message_erreur);
$fichier_erreur = mysql_real_escape_string($fichier_erreur);
$ligne_erreur = mysql_real_escape_string($ligne_erreur);
$requette = 'INSERT INTO gestion_erreur(type_erreur, message, fichier, ligne, date) VALUES("'.$numero_erreur.'","'.$message_erreur.'","'.$fichier_erreur.'","'.$ligne_erreur.'",now() )';
@mysql_query($requette);
}
//Choix de la télérance des erreurs conseillé de mettre en total
error_reporting(E_ALL);
//On indique la fonction avec laquelle on gère les erreurs
$gestion_erreur = set_error_handler("gestionnaire_erreur");
/////////////////////////////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////////////////////////////////////
?>
Voila comment je gère mes erreurs...
Bye
Salut,
Merci bzh mais pourrait me mettre ou tu lances ton erreur, car moi j'essais mais ca marche pas, j'utilise le trigger_error, et rien n'est sauver, et le message d'erreur s'affiche quand meme.
Merci,
I am singing in the rain , I am happy again !!
le 24/04/2006 à 15:11
Bzh
Ah ?
tu as essayés par exemple en ouvrant un fichier qui n'existe pas ?
Les erreurs de syntaxes, il me semble bloque l'exécution du script...
Rajoute après le code de gestion d'erreurs:
<?php
$f = fopen("fichier_qui_nexiste_pas.txt","r");
?>
Ou bien, génère une erreur de syntaxe sql !!!
Voili....
Lefounard, modifie ta conf de PHP pour ne pas afficher l'erreur aussi...
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: