login  Naam:   Wachtwoord: 
Registreer je!
 Forum

@ in PHP.

Offline Nanon - 09/04/2007 17:59
Avatar van NanonPHP interesse Hoi,

Ik zie redelijk vaak nog in bepaalde scripts een '@' teken staan, en ik weet niet waar het precies voor staat. Maak het veel uit als je deze niet gebruikt?

Bijvoorbeeld:

  1. <?php
  2.  
  3. $query = @$database->dbquery( "SELECT count(1) FROM `private_messages` WHERE mid='".$my_id."' AND read = '0' AND type = '1'" );
  4. $nieuwpm = @mysql_result( $query, 0 );
  5.  
  6. ?>

7 antwoorden

Gesponsorde links
Offline Dark_Paul - 09/04/2007 18:05
Avatar van Dark_Paul PHP ver gevorderde Die '@' onderdrukt een bepaald soort foutmelding, ik weet zo niet meer welke.
Offline Ibrahim - 09/04/2007 18:21
Avatar van Ibrahim PHP expert Dark_paul, hij onderdrukt gewoon foutmeldingen (hoewel dit niet bij voldermort gebeurde )
Offline Gerard - 09/04/2007 19:09
Avatar van Gerard Ouwe rakker My honest opinion
Offline JBke - 09/04/2007 19:13 (laatste wijziging 09/04/2007 19:15)
Avatar van JBke PHP gevorderde Hij onderdrukt inderdaad errorroporting voor niet fatale errors, als het script dus wel verder kan gaan. Bij een parse error bvb zal het wel doorkomen. De @ wordt vaak gebruikt bij een sql query dan kan je een eigen foutmelding maken en die tonen.

Maar moet me aansluiten bij proximus dat je de @ best zo weinig mogelijk gebruikt of bvb enkel op eigen toegankelijke admin pagina's. Werk netjes en werk met error_reporting.

Grtz.
Offline Grayen - 09/04/2007 19:54
Avatar van Grayen PHP ver gevorderde
Citaat:
Nu klinkt dat misschien gek omdat je dan dus niet 'precies ziet wat er mis is, als er iets mis is', maar dat heeft allemaal met beveiliging te maken. Wanneer jij niets toont wat er mis is gegaan met een bepaalde handeling kan iemand daar ook minder snel misbruik van maken omdat hij dus niet precies weet in welk deel van de code het mis is gegaan.


Ik ben het volledig eens met Proximus. Alleen dat je het als webmaster niet ziet als er iets mis is, is wel waar, maar er zijn genoeg mogelijkheden om dit achter de schermen toch wel zichtbaar te maken voor de webmaster. Een goed voorbeeld hiervan is het script van Frederic die bij een foutmelding een emailtje naar je stuurt.

http://www.site...amp;id=813
Offline ikkedikke - 09/04/2007 20:39
Avatar van ikkedikke PHP expert er is een verschil tussen het logniveau en display niveau, zie php.ini.
Offline nemesiskoen - 09/04/2007 21:34
Avatar van nemesiskoen Gouden medaille

PHP expert
What about: offline testen en online laten draaien. Dan komen er geen fouten en dan moet je je niet gaan bezig houden met mailtjes (al dan niet automatisch) te versturen. Als er dan iets verkeerd gaat met de db of met de server dan heb je er niets aan dat je een mailtje krijgt met "dit script kon niet worden uitgevoer...[foutmelding]". En zeker niet als je +1000 bezoekers per dag hebt. Als de db een dagje vaag doet zit je mailbox volgespamd. (true je kan hier een apparte mailbox voor aanmaken, eigenlijk aangeraden, maar dat is hondenwerk om dat op orde te houden)
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.283s