PHP
<?php
/**
* @author Patrick Rennings
* @copyright 2009
* @Filename Config.php
* @LastModified --/--/--
*/
error_reporting(E_ALL);
/**
* Defineren van standaard define's
*/
DEFINE( 'FILE_ROOT' , $_SERVER['DOCUMENT_ROOT'] );
DEFINE( 'ABSO_PATH' , FILE_ROOT . $_SERVER['SCRIPT_NAME'] );
DEFINE( 'DEBUG_MAIL' , '' );
DEFINE( 'DEBUG_MODE' , FALSE );
/**
* Opgeven van sql gegevens en verbinding maken
*/
DEFINE( 'HOST' , 'test' );
DEFINE( 'USER' , 'test' );
DEFINE( 'PASS' , 'test' );
DEFINE( 'DB' , 'test' );
if ( !defined( HOST ) || !defined( USER )) {
exit( 'Error accured, contact the server administrator.' );
}
else {
/**
* Verbinding met de server maken, indien fout error terug geven
*/
$DbConnect = mysql_connect( HOST , USER , PASS );
if ( !$DbConnect ) {
exit( 'Sql connection failed, contact the server administrator' );
}
/**
* Database selecteren, indien fout error terug geven
*/
if ( defined( DB )) {
exit( 'Error accured, contact the server administrator.' );
}
else {
$SelDatabase = mysql_select_db( DB , $DbConnect );
if ( !$SelDatabase ) {
exit( 'Database connection failed, contact the server administrator' );
}
}
}
/**
* Eigen Debug en error handler in geval van problemen wordt deze functie geactiveerd.
* Wanneer DEBUG_MODE op TRUE staat zal de informatie op de pagina worden weergeven anders bij een te
* ernstige fout zal dit naar de mail worden gestuurd.
*/
function Debug_Error_Handler ( $ErrorNum, $ErrorMes, $ErrorFile, $ErrorLine, $ErrorVar ) {
$ErrorMessage = ' Error has been found on line ' . $ErrorLine . ' in the file ' . $ErrorFile;
$ErrorMessage .= ' If you are not sure what to do with this send an email to ' . DEBUG_MAIL;
$ErrorMessage .= ' With the this number: ' . $ErrorNum;
$ErrorMessage .= ' Error accured at: ' . date('d-m-Y H:i:s') . ' Extra information: ' . print_r($ErrorVar);
if ( DEBUG_MODE ) {
echo $ErrorMessage;
}
else {
if ( DEBUG_MAIL ) {
error_log($ErrorMessage, 1, DEBUG_MAIL);
}
if ( $ErrorNum != E_NOTICE && $ErrorNum < 2048 ) {
echo ( 'Error accured, Contact the web administrator.' );
}
}
}
/**
* Set error handler naar eigen gemaakte functie
*/
set_error_handler( 'Debug_Error_Handler' );
?>
Toon Meer
nieuwe errorhandler met een sql connectie erbij simpel maar zeer effectief mailed alle gegevens naar je toe wanneer debug_mode op FALSE staat anders geeft hij het gewoon weer op de website.
C&R graag ;D