Ankündigung

Einklappen
Keine Ankündigung bisher.

Sammlung der meistgemachten Fehler

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • drieling
    hat ein Thema erstellt Sammlung der meistgemachten Fehler.

    Sammlung der meistgemachten Fehler

    Sammlung der meistgemachten Fehler

    Zusammenwürfeln von irgendwelchem Code, ohne einen Hauch von Verständnis
    • Dokumentation des Entwicklers lesen
    • Kommentare im Quellcode beachten
    Generell Rückgabewerte nicht prüfen.
    • Variablen ausgeben lassen
    • SQL Querys ausgeben lassen
    • Überprüfen, ob drin steht, was drin stehen soll
    "headers already sent"
    • Vor dem header() darf keine Ausgabe erfolgen!
    PHP-Code:
    $ganz_langer_var_name_mit_2_oder_3_ziffern mysql_query('SELECT * FROM x'); 
    print(
    $ganz_langer_var_name_mit_2_oder_3_ziffern); 
    • Verwende sinnvolle und nach Möglichkeit kurze Variablen / Funktionsnamen um Fehler zu vermeiden
    Guter Link dazu: http://www.openwebboard.org/Tutorial...-Fragen_1.html

    Weitere Ideen bitte in folgenden Thread: Sammlung der meistgemachten Fehler

  • nikosch
    antwortet
    Update zu #2

    PHP-Code:
    <?

    echo 012 , ' kleine Jägermeister';

    $array = array (
                   010   => 'Zehn?'  ,
                   011   => 'Elf?'   ,
                   10    => 'Zehn!'  ,
                   '4'   => 'Vier'   ,
                   '012' => 'String'
                   );


    echo '<br>'  , $array[8];
    echo '<br>'  , $array['9'];
    echo '<br>'  , $array[012];   // geht auch anders herum
    echo '<br>'  , $array['012']; // String korrekt
    echo '<br>'  , $array[12];    // nicht definiert
    echo '<br>'  , $array[4];     // korrekt

    // numerische Schlüssel werden bei merge neu indexiert. Und die String-Schlüssel?
    $array = array_merge ($array , array ());

    echo '<br>'  , $array['012']; // kein Schlüsselwechsel
    echo '<br>'  , $array[4];     // nicht mehr definiert, Schlüsselwechsel

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    ORDER BY 'abc'

    http://www.php.de/php-einsteiger/494...tml#post384226
    http://www.php.de/php-einsteiger/493...atum-desc.html

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    if ($x == 'abc' || 'cde')
    http://www.php.de/php-einsteiger/495...-anzeigen.html

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Ungewöhnliche Fehlermeldung

    Fatal error: Can't use function return value in write context in ... on line ...

    empty (array_diff ($array1 , $array2));

    Gemeint ist: empty () verarbeitet natürlich nur Variablen, keine Ausdrücke

    Etwas komplexeres (weniger offensichtliches) Beispiel:

    PHP-Code:
    $i=1;

    assert ($i==1);
    assert ($i==2);

    assert ("$i==1");
    assert ("$i==2");

    assert ('$i==1');
    assert ('$i==2');

    assert (empty ($i));
    // assert ("empty ($i)");  // Parse error: syntax error, unexpected T_LNUMBER, expecting T_STRING or T_VARIABLE or '$' in assert.php(14) : assert code on line 1
    assert ('empty ($i);'); 

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Alter als Tabellenfeld und andere reservierte Wörter ohne Backticks.

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    http://www.php.de/php-einsteiger/444...t-bahnhof.html

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Da gabs doch auch mal was mit Arrays, deren String Schlüssel in INT umgewandelt wurde oder so interpretiert. Wenn ich den Thread nochmal finden würde...

    Einen Kommentar schreiben:


  • nikosch
    antwortet
    Frisch reingekommen. Vielleicht nicht verbreitet, aber heimtückisch:
    Nicht gesetzte Werte springen auch den Case 8, weil führende Nullen oktal interpretiert werden, 8 und 9 aber nicht existieren im Oktalbereich.
    PHP-Code:
    switch ($_GET['number'])
      {
      case 
    01:
        
    // ..
        
    break;

      case 
    08:
        
    // ..
        // entspricht case 0
        
    break;

      case 
    09:
        
    // ..
        // entspricht case 0
        
    break;

      case 
    10:
        
    // ..
        
    break;
      }

    var_dump (08); // int(0) 

    Einen Kommentar schreiben:

Lädt...
X