Trouver une ressource (Nouvelle version du moteur, plus rapide & pertinent, essayez le !)
Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !
GESTION DES ERREURS (ENREGISTREMENT EN BASE DE DONNÉE)
Information sur la source
Description
Ce code enregistre les erreurs PHP rencontrées dans une base de donnée, il stoppe le script si ces erreurs sont trop importante, et enregistre la date où l'erreur s'est produite.
Ce code est une variante du code de Samiby. Ayant trouvé le script très interressant je m'en suis inspiré pour en faire une petite variante.
Source
- <?php
- function erreurphp( $errno , $errmsg , $errfichier , $errligne , $errcontext ){
- $date = date( 'd/m/Y H:i:s' );
- switch( $errno ){
- //gestion des erreurs importantes
- case 1:
- case 16:
- case 64:
- case 256:
- //Enregistrement de l'erreur
- ecriture_base( $date , $errno , $errmsg , $errfichier , $errligne , 0 );
- //arret du script
- die( 'Erreur : Rééssayez plus tard.' );
- //Gestion des erreurs moyennement importantes
- case 2:
- case 4:
- case 32:
- case 128:
- case 512:
- //Enregistrement de l'erreur
- ecriture_base( $date , $errno , $errmsg , $errfichier , $errligne , 1 );
- break;
- //Sinon, si c'est juste un 'Notice' (avertissement)
- case 8:
- case 1024:
- ecriture_base( $date , $errno , $errmsg , $errfichier , $errligne , 2 );
- break;
- }
- }
-
- //toutes les erreurs doivent être reportées
- error_reporting( E_ALL );
- //Quand on rencontre une erreur, on appelle la fonction erreurphp()
- $error_handler = set_error_handler("erreurphp");
-
- //La fonction qui écrit dans le fichier
- function ecriture_base( $date , $errno , $errmsg , $errfichier, $errligne, $type_erreur){
-
- //Connexion à la base de donnée
- include ("config/sql.inc.php");
- $connexion_db = mysql_connect("$host","$login","$pass");
- mysql_select_db("$bdd","$connexion_db");
-
- //Enregistrement des données en base
- $sql = "INSERT INTO $table_erreur (date,errno,errmsg,errfichier,errligne,type_erreur) VALUES('$date','$errno,'$errmsg','$errfichier','$errligne','$type_erreur')";
- mysql_query($sql);
-
- //fermeture connexion à la base de donnée
- mysql_close($connexion_db);
- }
-
- ?>
<?php
function erreurphp( $errno , $errmsg , $errfichier , $errligne , $errcontext ){
$date = date( 'd/m/Y H:i:s' );
switch( $errno ){
//gestion des erreurs importantes
case 1:
case 16:
case 64:
case 256:
//Enregistrement de l'erreur
ecriture_base( $date , $errno , $errmsg , $errfichier , $errligne , 0 );
//arret du script
die( 'Erreur : Rééssayez plus tard.' );
//Gestion des erreurs moyennement importantes
case 2:
case 4:
case 32:
case 128:
case 512:
//Enregistrement de l'erreur
ecriture_base( $date , $errno , $errmsg , $errfichier , $errligne , 1 );
break;
//Sinon, si c'est juste un 'Notice' (avertissement)
case 8:
case 1024:
ecriture_base( $date , $errno , $errmsg , $errfichier , $errligne , 2 );
break;
}
}
//toutes les erreurs doivent être reportées
error_reporting( E_ALL );
//Quand on rencontre une erreur, on appelle la fonction erreurphp()
$error_handler = set_error_handler("erreurphp");
//La fonction qui écrit dans le fichier
function ecriture_base( $date , $errno , $errmsg , $errfichier, $errligne, $type_erreur){
//Connexion à la base de donnée
include ("config/sql.inc.php");
$connexion_db = mysql_connect("$host","$login","$pass");
mysql_select_db("$bdd","$connexion_db");
//Enregistrement des données en base
$sql = "INSERT INTO $table_erreur (date,errno,errmsg,errfichier,errligne,type_erreur) VALUES('$date','$errno,'$errmsg','$errfichier','$errligne','$type_erreur')";
mysql_query($sql);
//fermeture connexion à la base de donnée
mysql_close($connexion_db);
}
?>
Sources de la même categorie
Commentaires
|
|