/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Generel @
Fra : Thomas Lindgaard


Dato : 04-06-02 11:49

Davs

Hvis man f.eks. kalder mysql_connect og ikke gider at have eventuelle fejl
smidt i hovedet kan man jo sætte et @ foran - kan man også gøre lidt mere
generelt?

Hvis jeg har en flok sider, hvor der ikke står et eneste @, kan jeg så på
en eller anden måde fortælle PHP, at hvis der sker en fejl, så skal fejlen
ikke skrives ud men der skal laves et redirect til "Der er sket en fejl"-
siden eller noget lignende (så brugeren ikke ser en halvfærdig side med 42
fejlmeddelelser)?

Mvh.
/Thomas

 
 
Jonas Koch Bentzen (04-06-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 04-06-02 12:15

Thomas Lindgaard skrev:

> Davs
>
> Hvis man f.eks. kalder mysql_connect og ikke gider at have eventuelle
> fejl smidt i hovedet kan man jo sætte et @ foran - kan man også gøre
> lidt mere generelt?
>
> Hvis jeg har en flok sider, hvor der ikke står et eneste @, kan jeg så
> på en eller anden måde fortælle PHP, at hvis der sker en fejl, så skal
> fejlen ikke skrives ud men der skal laves et redirect til "Der er sket
> en fejl"- siden eller noget lignende (så brugeren ikke ser en
> halvfærdig side med 42 fejlmeddelelser)?

Ja, brug PHP's glimrende fejlhåndteringsfunktioner set_error_handler()
og trigger_error(). Se
http://dk.php.net/manual/en/features.error-handling.php.

Et eksempel:

<?php
# Fejl skal håndteres af vores hjemmelavede funktion fejl():
set_error_handler("fejl");

function fejl($type, $besked) {
echo "Fejl: $besked\n";

# Afslutter siden:
echo "</body></html>";
exit;
}


# Den her mislykkes og bliver fanget af fejlfunktionen:
mysql_connect("eksempel.dk", "kdk", "kdkd");

Vi kan også kalde fejlfunktionen manuelt vha. trigger_error(), hvis det
skulle blive nødvendigt:
if (!isset($noedvendigVariabel)) {
trigger_error("Variablen \$noedvendigVariabel er ikke sat.");
}
?>

--
Jonas Koch Bentzen

Thomas Lindgaard (04-06-2002)
Kommentar
Fra : Thomas Lindgaard


Dato : 04-06-02 13:18

Jonas Koch Bentzen <ingen.email@eksempel.dk> wrote in news:adi7eq$1fp$1
@sunsite.dk:

> Ja, brug PHP's glimrende fejlh†ndteringsfunktioner set_error_handler()
> og trigger_error(). Se
> http://dk.php.net/manual/en/features.error-handling.php.

Den er lækkerfin og vil blive kigget på når jeg har rettet alle de andre
bugs - tak skal De have :)

Mvh.
/Thomas

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste