Fehlerteufelchen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fehlerteufelchen

    Auch porfis machen Fehler!

    und damit man auch was davon hat sollten sie nicht im verborgenen bleiben.

    deswegen. Gebt eure Nervigsten und störensten fehlerteufelchen zum besten.

    Und damit auch laie versteht was ich meine.

    (Geschicht)
    vor wenigen Tagen hatte ich ein Skript am wickel welches mir stundelang sorgen bereitete.

    leider hab ich den code jetzt nicht parat deswegen nur ein kleines beispiel

    das ganze sah ungefähr nach schema x so aus
    PHP-Code:

    $var
    ="1";
    if(
    $var=="1");
    echo 
    "richtig"
    laut meinem verständnis alles i.o. bis dahin. da der zustand ja war wahr. nun hatte ich das Skript bis zum erbrechen ausgebaut. und dann einfach dieses dumme
    $var="1"; auf $var="0"; gesetzt. somit war laut meinem verständnis auch immernoch alles I.O. doch nun began das Chaos. Das eigentlich Skript sorgte an der stelle das einige weitere Umgebungsvariablen abgefangen wurden. hmm mein kopf sagte mir das er das nun nicht tun sollte. trotzdem tat er es. Und ich glaub ich hab 4 stunden wie ein Dummes Reh auf den Code gestarrt bis ich dieses [COLOR=red];[/COLOR] hinter der if verzweigung endlich sah. Ich währe am liebsten glatt durch die wand gegangen. weil ich die ganze zeit damit zugebracht habe das skript zu zerlegen und mich zu fragen warum er dinge tut die er so nicht soll.

    (Geschichte zuende)

    Na hat wer noch sowas erheiterndes ?
    wie vergessene ;

    Mein fehler War dort das ich die IF verzweigung an die stelle Kopiert hatte. und nicht aufgepasst habe, wo der Cursor stand.
    PHp hat mir dann das $var="1" als nicht beendet angemeckert ... klar haste beim einfügen das ; verschluckt ... wer rechnet denn schon damit das man es einfach nur zig stellen weiter geschoben hat.

    So Long Wyveres.
    Bitte Beachten.
    Foren-Regeln
    Danke

  • #2
    Deswegen immer Klammern (ordentlich) setzen... immer.
    Nieder mit der Camel Case-Konvention

    Kommentar


    • #3
      Original geschrieben von Griecherus
      Deswegen immer Klammern (ordentlich) setzen... immer.
      Nützt einem aber auch wenig, wenn man erst mal per Copy&Paste sowas wie
      PHP-Code:
      if(bedingung);
      {
         
      // Aneisungen

      produziert hat ...
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #4
        Ein Großteil der "Hilf mir mal eben"-Gesuche die bei mir eintrudeln, sind auf

        PHP-Code:
        if($foo $bar
        Konstrukte zurückzuführen. Offensichtlich auch ein beliebter Fehler.
        [FONT="Helvetica"]twitter.com/unset[/FONT]

        Shitstorm Podcast – Wöchentliches Auskotzen

        Kommentar


        • #5
          Also ich auch mal:
          Habe ein Script welches einen header.php und einen footer.php includiert bekommt. In diesen beiden Files habe ich via $_SERVER['PHP_SELF'] festgestellt welche Seite gerade angezeigt wird (damit ich den Link auf die Seite nicht angebe, wenn die Seite bereits offen ist). Funzt soweit auch alles prächtig. Nur als ich letzte Woche die Gallerie einbauen wollte stiess ich auf ganz merkwürdige Probs:
          Der Titel (title-tag) und der Titel im <h1> wurden nicht aus dem Vorgabearray ausgelesen --> sie blieben einfach leer. Ich habe rumprobiert, gemacht und getan und kurz bevor ich aufgeben wollte habe ich mir den Inhalt von PHP_SELF angeben lassen. Und siehe da, der Inhalt entsprach nicht dem was ich erwartete. Denn für diese Gallerie schreibe ich die Seite von overview_nr.html auf start.php?pics=nr mittels .htaccess um. Im Array stand start.php doch ein echo $_SERVER['PHP_SELF'] ergab ein overview_nr.html.
          Das witzige ist, dass es auf dem lokalen Server (PHP 5.2/Win) wie erwartet funzt, nur auf'm Webserver (PHP 5.2/BSD) ging es schief. Durch den dump von $_SERVER habe ich dann herausgefunden, dass $_SERVER['ORIG_SCRIPT_NAME'] der Wert ist den ich suchte.

          Gruss

          tobi
          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

          Kommentar


          • #6
            mein liebling ist der:
            PHP-Code:
            for ($i 0$i count ($bla); $i++)
            {
               for (
            $a 0$a count($blubb); $i++)
               {
                  ...
               }

            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Ach, da fällt mir was ein, was mir mindestens einmal pro Einsatz passiert: Ich vergesse bei while-Schleifen immer den Ausdruck zu falsifieren. Je nach dem, was man macht, kann das sehr frustrierend sein, auch wenns es nur einmal vorkommt
              [FONT="Helvetica"]twitter.com/unset[/FONT]

              Shitstorm Podcast – Wöchentliches Auskotzen

              Kommentar


              • #8
                bei den beiden for schleifen fällt mir auch gerade was ein.
                Bedingt durch meinen Job hab ich Schülern die Absoluten Grundlagen beigebracht in PHP und bin immer wieder darauf gestossen.

                egal wie ich den Code an die tafel,über den beamer, oder Mündlich vorgekaut habe, sie haben es immer und immer wieder falsch gemacht.

                so wurde aus
                PHP-Code:
                for($i=0;$i<10;$i++)
                    {
                    
                #anweisung
                     
                for($a=0;$a<10;$a++)
                          {
                           
                #anweisung
                           
                }
                    
                #anweisung 
                    

                bei fast jedem irgenntwie immer
                PHP-Code:
                for($;=o;$;<10;$;++)
                    {
                    
                #anweisung
                     
                for($a=o;$a<10;$a++)
                          {
                           
                #anweisung
                           
                }
                    
                #anweisung 
                    

                und unser eins durfte sich dann bei 7 von 10 schülern an den total unsauber geschrieben code der meistens so aussah
                PHP-Code:
                for($;=0;$;<10;$;++){#ein haufen anweisungen
                #ein haufen anweisungen
                for(a=o;$a<10$;++){#jede menge schrott}#noch mehr schrott} 
                durch kämpfen und dennen erklären warum es nie und nimmer gehen kann.

                ps: hat schonmal wer von euch versucht 8-10 klässlern PHP beizubringen?
                Bitte Beachten.
                Foren-Regeln
                Danke

                Kommentar


                • #9
                  hat schonmal wer von euch versucht 8-10 klässlern PHP beizubringen?
                  nein, aber meinem vater, dass es in excel einen gewähltigen unterschied zwischen einer Null und einen kleinen O gibt

                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    Original geschrieben von Kropff
                    nein, aber meinem vater, dass es in excel einen gewähltigen unterschied zwischen einer Null und einen kleinen O gibt

                    peter
                    OffTopic:

                    Da kann ich ja nur froh sein das mein Vater in Punkto programmierung ein urgestein war

                    erinnert sich wer an die DDR zeit mit den guten alten ROBOTRON KC85 serie?
                    mein Alter herr hat damals darin C programme geschrieben. leider kann er heute kaum noch was davon und die Sau hats mir selber Nie beigebracht.

                    am besten erinnere ich mich noch daran wie er sich 3 monate eingeschlossen hat um auf eine Datasette ein Steuerprogramm zu schreiben.
                    Oo? 3 Monate ... kein Funken Tageslicht nur um sich die Steuererklärung zu erleichtern.

                    ich glaub in der zeit hat er damal sehr viel geflucht und Kaffee Getrunken ...

                    Bitte Beachten.
                    Foren-Regeln
                    Danke

                    Kommentar


                    • #11
                      hmm is nich grad php sondern delphi aber mein geilster fehler bisher war:
                      PHP-Code:
                      ...OnClientDisconnect...
                      begin
                      Connection
                      .Close;
                      end
                      dadurch erzeuge ich einen rekursiven aufruf, der in einen overflow mündet

                      ps: hat schonmal wer von euch versucht 8-10 klässlern PHP beizubringen?
                      jo ich mir selber
                      [font=dauphin]Die Seite für Spychos[/font]

                      Kommentar


                      • #12
                        Weis nicht ob es direkt zum Thema passt, aber was mich groß erstaunt das Google nichtmals einen Doctype angibt, undauch bei jedem Doctype den man testet Fehler erscheinen.

                        PS:
                        quotes: hat schonmal wer von euch versucht 8-10 klässlern PHP beizubringen?



                        jo ich mir selber
                        da dachte ich grad das ich mal nen kleinen witzt bringen könnte, da wird er schon benutzt. Aber wie man merkt ist es nicht gerade ohne weiteres möglich einen 8-10. Klässer das beizubringen ^^
                        Webdesign und Webentwicklung - Plunix.de

                        Kommentar


                        • #13
                          Original geschrieben von Lennie
                          da dachte ich grad das ich mal nen kleinen witzt bringen könnte, da wird er schon benutzt. Aber wie man merkt ist es nicht gerade ohne weiteres möglich einen 8-10. Klässer das beizubringen ^^
                          OffTopic:

                          ähm erlich da schafft man es eher einem hund das sprechen beizubringen als das die leute nach dem 4 mal schreiben einer For schleife selber anfangen zu denken wie die aufgebaut werden muss.

                          oder gleich ganz rabiat. der ECHO befehl. ich glaub den hab ich in meinen beispiel skripten unterlagen für die kiddis bis zum erbrechen genutzt. und werde trotzdem ständig gefragt was der macht.

                          am witzigsten ist jedoch.
                          du prangerst den Code in schriftgrösse höher als 20 eine stunde lang per Beamer an eine Tafel und sagst einfach nur Abschreiben. Und nach der Stunde hat es nicht einer Richtig abgetippt.



                          welcher Fehler mir auch noch ab und zu unterläuft sind variablen namen verdreher. manchmal kann das schon ziemlich nervtötend sein.
                          wenn z.b.
                          PHP-Code:
                          #per Copy ^^ zb. ein paar str_replaces 
                          $file="";
                          $file="";
                          $file="";
                          $file="";
                          $file=""
                          und dann fällt dir ein args eins vergessen. und du fügst per hand dann einfach
                          PHP-Code:
                          #per Copy ^^ zb. ein paar str_replaces 
                          $file="";
                          $file="";
                          $fiel=""#per hand eingetragen.
                          $file="";
                          $file="";
                          $file=""
                          und wunderst dich dann minutenlang warum es nicht klappt.
                          Bitte Beachten.
                          Foren-Regeln
                          Danke

                          Kommentar


                          • #14
                            Sagmal, bist du ein Lehrer oder ein Schüler der sich in einer AG um Wissensvermittlung bemüht?

                            Wenn bei mir übrigens etwas "minutenlang" nicht klappt, dann ist es entweder ein komplizierteres Problem, ich bin gerade in WordPad oder mein Debugging wäre grottig.
                            Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                            var_dump(), print_r(), debug_backtrace und echo.
                            Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                            Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                            Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                            Kommentar


                            • #15
                              Bei mir funktioniert meist eher das was man stumpf vorm auge hat und deshalb übersieht. das komplizierte lass ich in der regel eh weg. und mein debugging system ist sowieso grottig. Ansonsten komme ich bis jetzt nicht mit Highlightern Klar, und nutze seit dem Anfang des Programmmierens nur den Alten Windows integrierten editor.
                              Webdesign und Webentwicklung - Plunix.de

                              Kommentar

                              Lädt...
                              X