|
Funkcja is_error to nakładka na wbudowaną funkcję error_log. Poniższa funkcja doskonale sprawdza się w raportowaniu i analizie przeróżnych błędów i wydarzeń, które często dzieją się w jakiś wyjątkowych niestandardowych sytuacjach np. brak połączenia z baza danych.
<?php
/***************************\
^ Grupa: TS
^ www.Twoja-Strona.Net
^ Funkcja: is_error
-----------------------
Wymagane: PHP >= 3
-----------------------
+ Funkcja przeznaczona
do wykrywania błędów w
skrypcie lub naruszających
bezpieczeństwo zdarzeń
-----------------------
+ Zastosowanie:
- Kontrola błędów
- Dziennik zdarzeń
\***************************/
function is_error($typ=0, $name='', $message='Błąd ogólny', $exit=0) {
/*===========================*\
+ $message - typ string
+ $typ - typ: int (0,3)
+ $exit - typ: int (0,1)
+ $name - typ: string
\*===========================*/
$typ = ($typ > 3 || $typ < 0) ? 3 : $typ;
$errmsg = "Data (".date("Y-m-d, H:i:s").") ~Błąd w skrypcie w pliku '".__FILE__."', w linii '".__LINE__."': $message\n";
if (!eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-]+.)+[a-z]{2,6}$", $name) && $typ == 1) {
return false;
} else {
if (@error_log($errmsg, $typ, $name)) {
if ($exit == 1) {echo exit($errmsg);}
return true;
} else {
return false;
}
}
}
/* Przykład wykorzystania funkcji */
if ($_POST[password] != 'haslo') {
// Błąd zostanie zapisany w pliku "errorlog.txt"
is_error(3, 'errorlog.txt', 'Błąd logowania');
// Powiadomienie o błędzie emailem
is_error(1, 'adres@email', 'Błąd logowania');
// Błąd zostanie zapisany w pliku "errorlog2.txt", i nastąpi zakończenie wykonywania skryptu
is_error(3, 'errorlog2.txt', 'Błąd logowania', 1);
}
?>
Autor: As Prawa autorskie © . Wszelkie Prawa Zastrzeżone.
Opublikowane: 2006-09-14 (219 odsłon)  [ Wróć ] Biblioteka index |