Mini "or die" tutorial

Door Jan Koehoorn, 17 jaar geleden, 3.393x bekeken

Tip: "or die" niet gebruiken

Gesponsorde koppelingen

Inhoudsopgave

  1. Minitut

 

Er zijn 14 reacties op 'Mini or die tutorial'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Remco nvt
Remco nvt
17 jaar geleden
 
0 +1 -0 -1
Toch handig zo minitutorial. Wat me op het idee brengt voor een cat. Script snippers. Maar toch iets geleerd ;)


17 jaar geleden
 
0 +1 -0 -1
Ik gebruik OOP, ik doe alles op een heeeel andere, maar wel goede manier :)
Pim Vernooij
Pim Vernooij
17 jaar geleden
 
0 +1 -0 -1
ik heb dit toegepast op mijn database class, voorheen als er iets fout ging, kreeg ik 1 foutmelding, en daarna stopte het script. Nu ik trigger_error(); gebruik, worden ineens een stuk meer errors zichtbaar, omdat dezelfde verbinding door heel mijn systeem gebruikt word... wat heb je liever? 1 duidelijke foutmelding (bijvoorbeeld -> geen verbinding met database) of tientallen foutmeldingen, dwars door elkaar heen? ik ga denk ik maar een error class schrijven, waarbij naar een pagina refreshed word, met het goede error bericht ^^
Jelmer -
Jelmer -
17 jaar geleden
 
0 +1 -0 -1
@Pim: Je moet natuurlijk nadat hij heeft gezegt dat je query niet klopt (dus false in je if-loopje terug geeft) niet zo stom zijn om dan toch nog te gaan proberen om de resultaten te fetchen. Die moeten dus ook in de if-loop komen.

trigger_error() kan je volgens mij trouwens ook leuk verbergen met error_reporting(E_NONE);, voor die mensen die niet van foutmeldingen houden. Ga dan ook niet raar kijken als je een leeg scherm krijgt.

Mooie tutorial Jan, klein maar fijn. Echt zoiets wat mensen best wel eens mogen weten en mogen gaan gebruiken.
Mike de Klerk
Mike de Klerk
17 jaar geleden
 
0 +1 -0 -1
Het is inderdaad erg gebruiksonvriendelijk om een wit scherm met een error te krijgen. Een trigger error is helemaal geen gek idee voor er vervangen van die();
Maar ik zou als programmeur (of je moet in de dev versie zitten) geen mysql errors weergeven op het scherm! Een hacker die bezig is met rotzooien verkrijgt informatie uit zo een error. Hoe jij de tabellen bv noemt, als hij dan ergens mysql injections kan toepassen dan heeft hij de belangrijkste sleutel zojuist verkregen, de tabel naam! Ik zou eerlijk gezegd een error weergeven aan de gebruiker als: Sorry, door technische omstandigheden is uw verzoek niet mogelijk, de webmaster is op de hoogte gesteld." Of: "Door storing van de database kon uw verzoek niet worden uitgevoerd.". Een bezoeker heeft namelijk niks aan een mysql error, tevens als de bezoeker een leek is in programmeren wordt de mysql error niet begrepen. Je kunt jezelf inderdaad wel op de hoogte stelling wat goed naar voren komt in de tutorial. Je kunt jezelf wel een email sturen d.m.v. de mailfunctie met als inhoud de error en tijd en op welke pagina dit is veroorzaakt!

En ik zou het gebruik van "or die" niet perminent afraden! Als er iets belangrijks geladen moet worden wat nodig is voor bijvoorbeeld de beveiliging, maar dit proces heeft geafaald, dan kan het wel eens handig zijn dat de rest van het script totaal niet wordt uitgevoerd vanwege veiligheids overwegingen!
Jan Koehoorn
Jan Koehoorn
17 jaar geleden
 
0 +1 -0 -1
Mee eens. In de dev versie wil je weten wat er aan de hand is. Na een release geef je een algemeen bericht naar de gebruiker en log je je fouten.
Niels
Niels
17 jaar geleden
 
0 +1 -0 -1
@Jan: Mooie tut, ik gebruik het al een tijd, en heb er een class meegeschreven, die kijkt of de fout hoog genoeg is om hem te loggen, zoja dan wordt hij gelogd, ook kijkt hij of hij hoog genoeg is om hem te mailen, en daarna kijkt hij of de fout getoond kan worden ivm hackers etc ;)

Maar een mooie tut, voor diegene die het nog niet kenne :D
Raymonn
raymonn
17 jaar geleden
 
0 +1 -0 -1
handig, en helemaal is ie daardoor de rest van de pagina blijft weergeven! thx
Steff   an
Steff an
17 jaar geleden
 
0 +1 -0 -1
test
The Pope
The Pope
17 jaar geleden
 
0 +1 -0 -1
er is wel 1 nadeel als je deze manier gebruikt, vind ik, met or die() wordt alles afgebroken.
en trigger error kan het script de hele layout ook nog *laten we het bescheiden houden*: slopen
Jan Koehoorn
Jan Koehoorn
17 jaar geleden
 
0 +1 -0 -1
@ The Pope
dat is maar net hoe je het programmeert. Mijn lay-outs worden niet gesloopt door een foutmelding. Die komt gewoon in een keurige div met id 'melding' terecht. Met jouw manier krijgen gebruikers gewoon een wit scherm.
Barman V
Barman V
17 jaar geleden
 
0 +1 -0 -1
Ik gebruik de or die() ook niet, maar gebruik bijvoorbeeld
or $foutdb = mysql_error();
Nu kan ik deze melding netjes in een divje plaatsen ipv dat het over je scherm heen staat. Deze div kan ik vervolgens zelf zijn eigenschappen geven.

Maar een handige tutorial.
Gerben
Gerben
17 jaar geleden
 
0 +1 -0 -1
Ik werk met templates, en mijn script geeft prachtig een overzicht van de fout en informatie, geheel in de stijl van de website.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen


17 jaar geleden
 
0 +1 -0 -1
Wat ik vaak doe is bij alle controles $error benoemen als er iets verkeerd gaat, en dan if(isset($error)), of eigenlijk moet je bovenaan zetten $error=""; en dan bij het aanmaken van errors ipv $error=....,$error.= te gebruiken en dan if(!empty($error)){ echo($error); }

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Minitut

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

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.