Waarom is "or die" niet goed?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Hugo Maes

Hugo Maes

18/07/2011 21:48:39
Quote Anchor link
Al enkele weken lees ik regelmatig wat hier op het forum verschijnt van vragen en antwoorden. Opvallend is dat regelmatig korte antwoorden gegeven worden waar beginners zoals ik weinig of niets mee aan kunnen.
"Pas op voor SQL injection!!", of "or die is niet goed!"
Nu heb ik hier een boek van 59 euro (PHP5 en MySQL) waar men bv niets anders gebruikt dan "Or die"
Kan er eens iemand ruim en duidelijk uitleggen waarom dat dan wel niet goed is, en wat er dan in de plaats kan (moet?) gebruikt worden?

Verder véél lof voor dit forum, m'n project is volledig draaiende en dat is voor een stuk te danken aan antwoorden die ik hier aantrof! :-)
 
PHP hulp

PHP hulp

29/03/2024 08:14:34
 
Veur Heur

Veur Heur

18/07/2011 22:03:00
Quote Anchor link
or die() is een veel gebruikte maar foute manier van foutafhandeling. Het kapt je script af en geeft daarmee een onvoorspelbaar gedrag van je script. Het is dus beter te checken of je query is gelukt en daar de vervolgstappen op te baseren.

Dus bijv.

if(query gelukt) {
//mail bijv. het verzonden+opgeslagen formulier
}else echo 'verdorie een fout';
 
Serge Girard

Serge Girard

18/07/2011 22:15:50
Quote Anchor link
Opolo: }else echo 'verdorie een fout'; is toch ook maar een magere oplossing ...!
 
Wouter J

Wouter J

18/07/2011 22:29:26
Quote Anchor link
Je zegt met or die tegen een script: Voer dit uit en mocht je iets fout gaan of mocht je iets niet lukken dan moet je dood gaan.
Dat gebeurd ook niet met jou als je een fout maakt.

Daarom dat je beter goede foutafhandeling kunt gebruiken. Je hebt dan de volledige controle over wat er met je fout gebeurd, waar het naartoe gaat, wie het kan zien, enz. Met or die heb je dat niet.
 
Php knipper

php knipper

19/07/2011 10:14:36
Quote Anchor link
Is dat toevallig dit boek Afbeelding
 
Hugo Maes

Hugo Maes

19/07/2011 11:13:50
Quote Anchor link
Nee, het is deze hier:
Titel van het boek:
PHP 5 en MySQL het complete HANDBoek
Auteur(s): Tim Converse, Joyce Park

Prijs: € 59 ,95
Aantal pagina's: 1060
ISBN: 9039522812
 
Tele text

Tele text

21/07/2011 21:59:31
Quote Anchor link
met or die krijg je toch de melding wát er fout is, en bij tekst niet? Of zit ik fout?
 
- Ariën  -
Beheerder

- Ariën -

21/07/2011 22:04:56
Quote Anchor link
Ja, je zit fout. die() laat je script stoppen. Je kan er ook een string in plaatsen, zie het als de tekst op een grafsteen.

die("Hier stopte dit script op: ".date("j-M-Y"));
Gewijzigd op 21/07/2011 22:05:10 door - Ariën -
 
Pim -

Pim -

22/07/2011 05:14:23
Quote Anchor link
De vergelijking met mensen is nogal simplistisch. Met or die beperk je de mogelijkheid om de foutafhandeling later te veranderen, maar niet-flexibel scripten is hier vrij normaal. Het enige geldige argument om het niet te gebruiken is volgens mij omdat het simpelweg je layout verpest, omdat je de onderkant of ook de bovenkant van je html mist.
 
- Ariën  -
Beheerder

- Ariën -

22/07/2011 09:00:50
Quote Anchor link
En eventuele andere acties die normaal daarna in je script zouden plaatsvinden. Denk aan parsetime-tellertjes, statistieken tellers of weet ik nog meer.
 
Hugo Maes

Hugo Maes

22/07/2011 18:19:28
Quote Anchor link
Dank jullie voor de antwoorden, ik ben alweer wat wijzer geworden :-)
 



Overzicht Reageren

 
 

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.