errorhandler

Gesponsorde koppelingen

PHP script bestanden

  1. errorhandler

« Lees de omschrijving en reacties

error_handler.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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');
}

?>

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.