Ankündigung

Einklappen
Keine Ankündigung bisher.

Seltsames Zugriffsproblem

Einklappen

Neue Werbung 2019

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

  • Seltsames Zugriffsproblem

    Hallo Community,
    kann mir wer erklären warum beim untenstehenden - sehr einfachen - Code *seufz*, folgende Fehlermeldungen kommen bzw. warum ich in der IF-Schleife plötzlich nicht mehr auf das Array "TemplatePOS1_wo_CD" zugreifen bzw. Array zuweisen kann!??!?!

    Besten Dank,
    mfg

    Ausgabe
    Array ( [0] => 3 [1] => 5 [2] => 6 )
    Notice: Undefined variable: TemplatePOS1_wo_CD line 11
    Notice: Undefined variable: TemplatePOS1_wo_CD line 12


    PHP-Code:
    <?php
      $abfrage1
    =false;
      
    $abfrage2=false;

      
    $TemplatePos1 = array(3458);
      
    $TemplatePos1_wo_CD = array(356);

      
    print_r($TemplatePos1_wo_CD);

      if (
    $abfrage1==false && $abfrage2==false) {
        
    print_r($TemplatePOS1_wo_CD);
        
    $TemplatePOS1=$TemplatePOS1_wo_CD;
      }
    ?>

  • #2
    Variablen sind Case Sensitive!

    $TemplatePOS1_wo_CD != $TemplatePos1_wo_CD

    Erstere ist nicht definiert. Schalte einfach mal das Error Reporting höher.

    PHP-Code:
    error_reporting(E_ALL E_STRICT); 

    Kommentar


    • #3
      mein gott genau - oh mann peinlich
      glaub ich hätte noch stundenlang den fehler gesucht ohne diesen zu finden

      danke für den error reporting-tipp

      Kommentar


      • #4
        Mehr als ne Notice wird bei solchen Fehlern nicht kommen und diese sieht er bereits, da bringt auch höheres Error-Reporting nix.

        Kommentar


        • #5
          Nua so a tip nebenbei, verwende nicht so komplizierte Variablen namen, weil da musst dann immer aufpassen, dass du dich net verschreibst / vertippst.
          PHP-Code:
          if ( $humans >= ) {
             
          war ();

          Kommentar


          • #6
            http://www.php.de/beitragsarchiv/468...-schleife.html
            Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

            Kommentar


            • #7
              Zitat von draco88 Beitrag anzeigen
              Mehr als ne Notice wird bei solchen Fehlern nicht kommen und diese sieht er bereits, da bringt auch höheres Error-Reporting nix.
              Woher bist Du Dir da so sicher? Also ich kann noch nicht hellsehen.

              Kommentar


              • #8
                Zitat von Sascha Ahlers Beitrag anzeigen
                Woher bist Du Dir da so sicher? Also ich kann noch nicht hellsehen.
                Weil das das normale Verhalten von PHP ist?
                Beim Zugriff auf nicht existierende Variablen/Konstanten/Array-Indizes wird eine Notice ausgegeben, mehr nicht. Ein Error/Warning kann nur als Folgefehler auftreten, dies ist aber in dem gepostetem Codeabschnitt nicht möglich.

                Kommentar


                • #9
                  Zitat von draco88 Beitrag anzeigen
                  Weil das das normale Verhalten von PHP ist? [...]
                  Das normale Error Reporting schließt E_NOTICE aus. Daher wird per Default kein E_NOTICE ausgegeben. Und selbst wenn es anders wäre, woher weißt Du, wie das PHP dort konfiguriert ist?

                  [...] In PHP 4 and PHP 5 the default value is E_ALL & ~E_NOTICE. This setting does not show E_NOTICE level errors. You may want to show them during development. [...]

                  Quelle: PHP: Runtime Configuration - Manual

                  Kommentar


                  • #10
                    Mein Knecht, er schreibt doch
                    Mehr als ne Notice wird bei solchen Fehlern nicht kommen
                    Das bedeutet doch, dass wenns error_reporting an ist, du ne E_NOTICE bekommst.
                    Das ist absolut korrekt was er sagt. Wenn man debuggt, sollten generell alle Fehler angezeigt werden, daher auch ne Notice.
                    "My software never has bugs, it just develops random features."
                    "Real programmers don't comment. If it was hard to write, it should be hard to understand!"

                    Kommentar


                    • #11
                      Außerdem hat der TE ja oben geschrieben, dass er die Notices bekommt.

                      Kommentar


                      • #12
                        Ok, stimmt. Das muss ich komplett übersehen haben.

                        Kommentar

                        Lädt...
                        X