Sven: Sind ein Paar Script-Fehler okay?

Moin,

ich habe mir gestern mal das error.log meines Apache angesehen und fast den Schlag gekriegt (weil das log etwa 4,5 GB groß war).

Bemängelt wurden allerdings hauptsächlich Sachen, wie das hier:

if($_GET['id']) .....

was korrekterweise natürlich heißen müsste:

if(isset($_GET['id']) .....

So ist es mit vielen kleinen Dingen, die sich beim Ablauf nicht bemerkbar machen. Habt ihr solche Sachen auch? Ist das oben gezeigte Beispiel schlimm?

Ich bin zwar schon am korrigieren, aber ich frage mich, ob das die Arbeit eigentlich wert ist, oder ob es gar nichts bringt?

Gruß
Sven

  1. Hai Sven,

    Ich bin zwar schon am korrigieren, aber ich frage mich,
    ob das die Arbeit eigentlich wert ist, oder ob es gar nichts bringt?

    also weisste,
    einer richtigen Schlampe ist sowas total egal!
    Nur Weicheier liefern Code ohne Notien ab ...

    mbG Rolf

  2. Moin,

    ich habe mir gestern mal das error.log meines Apache angesehen und fast den Schlag gekriegt (weil das log etwa 4,5 GB groß war).

    Seit dem letzten Serverumzug, mein Provider legte meine Domäne auf einen anderen Server, habe ich keinen Zugang mehr zu error- und access.log.

    Was da quantitativ anwächst ist mir somit auch wurscht. Quality: alle meine Scripts werden sorgsam auf einem lokalen Server getestet. Pragma strict und perl -w sind ein Muss, für PHP gibt es bestimmt ähnliche Mechanismen.

    Viele Grüße,
    Hotte

  3. Hallo

    ich habe mir gestern mal das error.log meines Apache angesehen und fast den Schlag gekriegt (weil das log etwa 4,5 GB groß war).

    Bemängelt wurden allerdings hauptsächlich Sachen, wie das hier:

    if($_GET['id']) .....

    So ist es mit vielen kleinen Dingen, die sich beim Ablauf nicht bemerkbar machen. Habt ihr solche Sachen auch? Ist das oben gezeigte Beispiel schlimm?

    Das ist eine Notice, welches ausgegeben wird, wenn sowas geschieht oder auch Variablen benutzt werden, ohne vorher initialisiert zu werden. Um solche Fehler aufzuspüren, setze an den Anfang einer verskripteten Seite folgenden Code:

    ini_set('display_errors', 1);  
    error_reporting(E_ALL);
    

    Der git dir zu jeglichem auftretenden Fehler die passende Meldung auf dem Bildschirm aus.

    Ich bin zwar schon am korrigieren, aber ich frage mich, ob das die Arbeit eigentlich wert ist, oder ob es gar nichts bringt?

    Nun ja, das Errorlog würde wohl _erheblich_ kleiner ausfallen. :-)

    Tschö, Auge

    --
    Die Musik drückt aus, was nicht gesagt werden kann und worüber es unmöglich ist zu schweigen.
    (Victor Hugo)
    Veranstaltungsdatenbank Vdb 0.2
  4. Ich bin zwar schon am korrigieren, aber ich frage mich, ob das die Arbeit eigentlich wert ist, oder ob es gar nichts bringt?

    Gruß
    Sven

    Hi Sven,

    ich hab mir vor ner Weile die gleiche Frage gestellt und es ausprobiert. Hab bestimmte Szenarien nachgestellt und dann nen Loadtest mit httpload drüber laufen lassen. Ergebnis: es bringt was! Wieviel kann ich dir nicht mehr zu 100% sagen, aber ich hab irgendwas von doppelter Geschwindigkeit in Erinnerung. Ich pass da auf jeden Fall seitdem drauf auf.

    Andi

  5. Yerf!

    Bemängelt wurden allerdings hauptsächlich Sachen, wie das hier:

    if($_GET['id']) .....

    was korrekterweise natürlich heißen müsste:

    if(isset($_GET['id']) .....

    So ist es mit vielen kleinen Dingen, die sich beim Ablauf nicht bemerkbar machen. Habt ihr solche Sachen auch? Ist das oben gezeigte Beispiel schlimm?

    Es gibt zumindest Momente, in denen sich die 2 Varianten unterschiedlich verhalten (Das 2. prüft, ob die Variable einen Wert enthält, das erste, ober der enthaltene Wert als false interpretiert werden kann, dass passiert z.B. auch bei einem Wert wie 0). Was jeweils gewünscht ist muss der Programmierer selbst wissen.

    Ich bin zwar schon am korrigieren, aber ich frage mich, ob das die Arbeit eigentlich wert ist, oder ob es gar nichts bringt?

    Ich würde dazu raten, Warnings immer ernst zu nehmen, denn sie deuten auf problematische Konstrukte hin.

    Gruß,

    Harlequin

    --
    <!--[if IE]>This page is best viewed with a webbrowser. Get one today!<![endif]-->
  6. Hi Sven,

    if($_GET['id']) .....
    if(isset($_GET['id']) .....

    Ist dir bewusst, dass diese beiden Abfragen unterschiedliche Ergebnisse liefern können?
    Gesetzt dem Fall:

    ~~~php $_GET['id'] = 0;

    if($_GET['id'])       { /* evaluiert zu false, da 0 als false betrachtet wird in PHP / }
      if(isset($_GET['id']) { /
    evaluiert zu true, da die Variable existiert */              }

      
    Je nach Szenario kannst du mit der ersten Abfrage also Probleme kriegen, wenn du nur prüfen willst, ob eine bestimmte Variable gesetzt ist.  
      
      
    Viele Grüße,  
      ~ Dennis.
    
    -- 
    Mein [SelfCode](http://community.de.selfhtml.org/fanprojekte/selfcode.htm): [ie:{ fl:( br:> va:) ls:\[ fo:) rl:( n4:# ss:) de:\] js:| ch:{ sh:| mo:} zu:|](http://www.peter.in-berlin.de/projekte/selfcode/?code=ie%3A%7B+fl%3A%28+br%3A%3E+va%3A%29+ls%3A%5B+fo%3A%29+rl%3A%28+n4%3A%23+ss%3A%29+de%3A%5D+js%3A%7C+ch%3A%7B+sh%3A%7C+mo%3A%7D+zu%3A%7C)