errorhandler
error_handler.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?php
//Configuratie
$mailenbijerror = TRUE; //Moet er naar jou gemailt worden als er een fout is opgetreden? Verander TRUE/FALSE
$mailennaar = "jouwe-mailadres@ext"; //Als er gemailt word, waarnaartoe is het dan....
$sitenaam = "jouwsitenaam"; //Je sitenaam invullen
$errorhandler = TRUE; //Moet de error_handler het doen of wil je gewoon die andere errortjes? Verander TRUE/FALSE
$echo = TRUE; //Stuur naar de gebruiker of er een fout is opgetreden of niet.
$zegbijerror = "Er is een fout opgetreden op deze pagina.<br /><br />"; //Wat moet er op het scherm staan als er geëchot word?
//Functie HIER NIET AANZITTEN
function error_handler($errno, $errmsg, $errfile, $errline, $vars){
//Zorgen dat deze variabelen beschikbaar zijn
global $mailenbijerror;
global $mailennaar;
global $sitenaam;
global $echo;
global $zegbijerror;
//Errornummers omzetten naar tekst error
$errors = array(
1=>'E_ERROR',
2=>'E_WARNING',
4=>'E_PARSE',
8=>'E_NOTICE',
16=>'E_CORE_ERROR',
32=>'E_CORE_WARNING',
64=>'E_COMPILE_ERROR',
128=>'E_COMPILE_WARNING',
256=>'E_USER_ERROR',
512=>'E_USER_WARNING',
1024=>'E_USER_NOTICE'
);
//Wat gegevenstjes verzamelen
$ip = $_SERVER['REMOTE_ADDR'];
$url = $_SERVER['REQUEST_URI'];
$browser = $_SERVER['HTTP_USER_AGENT'];
$host = $_SERVER['HTTP_HOST'];
$errordate = date('Y:m:d:H:i:s');
$errorname = $errors[$errno];
$errormsg = $errmsg;
$errorfile = $errfile;
$errorline = $errline;
//Eventueel iets naar gebruiker sturen
if($echo==TRUE){
echo $zegbijerror;
}
$onderwerp = "Error: ".$errorname;
$headers = "From: Error Handler ".$sitenaam."\r\n";
$headers .= "Return-Path: No-Replay\r\n";
$headers .= "Reply-To: No-repy\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$bericht = '<html>
<head>
<title>Errors</title>
</head>
<body bgcolor="#000000" text="#FFFFFF">
<h1>Error: '.$errorname.'</h1><br>
<h3>Ey ouwe vriend!<br>
Ik heb euhm, hoe zal ik het zeggen?<br>
Niet zo goed nieuws!<br>
Er is namelijk een foutje opgetreden op '.$sitenaam.'^^<br>
Ik hoop dat je het niet erg vind, want ik heb het niet veroorzaak!<br>
Nou ja hier komt de informatie dan:</h3><br><br>
Op '.$errordate.' is er in het bestand '.$errorfile.' een vervelende fout opgetreden.<br>
Ip van gebruiker: '.$ip.'<br>
Url van gebruiker: '.$url.'<br>
Browser van gebruiker: '.$browser.'<br>
Host: '.$host.'<br>
<br>
<h2>Technische gegevens</h2>
Error naam: '.$errorname.'<br>
Error message: '.$errormsg.'<br>
Error file: '.$errorfile.'<br>
Error line: '.$errorline.'<br>
<br>
Groetjes de error handler!
</body>
</html>';
if(!$mailenbijerror){}else{
@mail($mailennaar,$onderwerp,$bericht,$headers);
}
}
if($errorhandler==TRUE){
set_error_handler('error_handler');
}
?>
//Configuratie
$mailenbijerror = TRUE; //Moet er naar jou gemailt worden als er een fout is opgetreden? Verander TRUE/FALSE
$mailennaar = "jouwe-mailadres@ext"; //Als er gemailt word, waarnaartoe is het dan....
$sitenaam = "jouwsitenaam"; //Je sitenaam invullen
$errorhandler = TRUE; //Moet de error_handler het doen of wil je gewoon die andere errortjes? Verander TRUE/FALSE
$echo = TRUE; //Stuur naar de gebruiker of er een fout is opgetreden of niet.
$zegbijerror = "Er is een fout opgetreden op deze pagina.<br /><br />"; //Wat moet er op het scherm staan als er geëchot word?
//Functie HIER NIET AANZITTEN
function error_handler($errno, $errmsg, $errfile, $errline, $vars){
//Zorgen dat deze variabelen beschikbaar zijn
global $mailenbijerror;
global $mailennaar;
global $sitenaam;
global $echo;
global $zegbijerror;
//Errornummers omzetten naar tekst error
$errors = array(
1=>'E_ERROR',
2=>'E_WARNING',
4=>'E_PARSE',
8=>'E_NOTICE',
16=>'E_CORE_ERROR',
32=>'E_CORE_WARNING',
64=>'E_COMPILE_ERROR',
128=>'E_COMPILE_WARNING',
256=>'E_USER_ERROR',
512=>'E_USER_WARNING',
1024=>'E_USER_NOTICE'
);
//Wat gegevenstjes verzamelen
$ip = $_SERVER['REMOTE_ADDR'];
$url = $_SERVER['REQUEST_URI'];
$browser = $_SERVER['HTTP_USER_AGENT'];
$host = $_SERVER['HTTP_HOST'];
$errordate = date('Y:m:d:H:i:s');
$errorname = $errors[$errno];
$errormsg = $errmsg;
$errorfile = $errfile;
$errorline = $errline;
//Eventueel iets naar gebruiker sturen
if($echo==TRUE){
echo $zegbijerror;
}
$onderwerp = "Error: ".$errorname;
$headers = "From: Error Handler ".$sitenaam."\r\n";
$headers .= "Return-Path: No-Replay\r\n";
$headers .= "Reply-To: No-repy\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$bericht = '<html>
<head>
<title>Errors</title>
</head>
<body bgcolor="#000000" text="#FFFFFF">
<h1>Error: '.$errorname.'</h1><br>
<h3>Ey ouwe vriend!<br>
Ik heb euhm, hoe zal ik het zeggen?<br>
Niet zo goed nieuws!<br>
Er is namelijk een foutje opgetreden op '.$sitenaam.'^^<br>
Ik hoop dat je het niet erg vind, want ik heb het niet veroorzaak!<br>
Nou ja hier komt de informatie dan:</h3><br><br>
Op '.$errordate.' is er in het bestand '.$errorfile.' een vervelende fout opgetreden.<br>
Ip van gebruiker: '.$ip.'<br>
Url van gebruiker: '.$url.'<br>
Browser van gebruiker: '.$browser.'<br>
Host: '.$host.'<br>
<br>
<h2>Technische gegevens</h2>
Error naam: '.$errorname.'<br>
Error message: '.$errormsg.'<br>
Error file: '.$errorfile.'<br>
Error line: '.$errorline.'<br>
<br>
Groetjes de error handler!
</body>
</html>';
if(!$mailenbijerror){}else{
@mail($mailennaar,$onderwerp,$bericht,$headers);
}
}
if($errorhandler==TRUE){
set_error_handler('error_handler');
}
?>