Undefined variable

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

  • Undefined variable

    Hi,
    Ich arbeite seit einem halben Jahr mit WAMP (von apachefriends) unter Windows ME.
    Jetzt bin ich bei einem Kumpel und will mit dem selben System weiterarbeiten.
    Aufeinmal will meine selbstgebaute PHP-Engine jede Variable definiert haben,.... ansondten Fehlermeldung. 'Undefined variable'
    Ich dachte PHP braucht keine definierten Variablen.
    Hat jemand eine Idee ?
    callt

  • #2
    aehn .... das sind warnmeldungen die du erhaelst oda ????

    also variablen sollten schon initialisiert werden ...
    oft werden nur die fehlermeldungen in der php.ini unterdrueckt ... also besser gesagt bei vielen installationen gibt er WARNUNGEN nicht aus ... sondern nur fehler ....
    haste da ne neuere version von wamp dir geholt???

    mfg
    kapitaeniglo


    http://www.php-resource.de/forum/sho...threadid=12383

    hab da mal ne aeltere diskussion hervorgekrammt ... wenn es warnungen sind findest dort wo du was aendern musst .....

    Kommentar


    • #3
      Nein,
      Ich habe die Version wampp13cs.
      Dieselbe die ich zu Hause benutze.
      Auf meinem Server bei Puretec funktioniert alles.
      Auch auf Linux Red Hat habe ich den geschriebenen Code geladen. Ohne Probs.

      Das was ich hier sehe ist mir echt neu.

      Mit @$var funktioniert natürlich alles, aber ich will nicht etwa 50 Dateien mit etwa 10000 Zeilen Code mit@@@@@@ umschreiben.

      callt

      Kommentar


      • #4
        OK das wars

        http://www.php-resource.de/forum/sh...&threadid=12383

        hab da mal ne aeltere diskussion hervorgekrammt ... wenn es warnungen sind findest dort wo du was aendern musst .....

        Das wars.

        das Forum ist echt supercool

        Danke nochmal

        callt

        Kommentar


        • #5
          aber um nochmal zu erwahnen ... korrekt ist mein vorschlag dort nicht ... gut wenn deine projekte bei puretec etc. laufen wirste wahrscheinlich dort NIE probleme mit haben, da puretec sich hueten wird die warnungen einzuschalten .....

          solltest also wenn es geht deine variablen (vor allem die arrays) initialiseren ...

          mfg
          kapitaeniglo

          @hilfe hier im forum:
          jau ... da kann ich dir nur zustimmen ....

          Kommentar


          • #6
            die in dem verlinkten thema empfohlene mothode ist nicht sinnvoll.

            es hängt zwar tatsächlich mit dem error_reporting() zusammen, nur behebt das herabsetzen desselben nicht das eigentliche problem.
            es wird nur versteckt.

            uninitailisierte variablen bieten häufig manipulations und angriffsmöglichkeiten auf das script, die im schlimmsten fall zu schweren sicherheitslücken führen.

            wenn du dein script sauber programmiert hättest, würden diese warnungen nicht angezeigt werden, ganz gleich bei welchem error_reporting().
            ich kann dir nur raten, dein script nochmals komplett zu überarbeiten und an aktuelle php techniken anzupassen - auch wenn das etwas zeit in anspruch nimmt.

            ausserdem kann man den error_reporting() level direkt im script angeben und sollte dies auch immer tun.
            das mit dem ändern der einstellungen in der php.ini wie in dem verlinkten thema beschrieben ist wenig sinnvoll bei lokalen installationen.
            wenn - dann könnte man das auf einem öffentlichen webserver ändern.

            aber wie gesagt, die php.ini einstellung kann man ignorieren, da man das immer direkt im script angeben sollte (naja... eigentlich MUSS!).

            am besten direkt nach dem einleitenden
            <?php

            PHP-Code:
            <?php

            error_reporting 
            (E_ALL);

            .....
            E_ALL bedeutet, dass alle fehler, warnungen, hinweise...was auch immer ausgegeben werden. während der programmierung sollte man das auch immer so angeben um alle fehler/probleme sofort zu entdecken.

            wenn das script dann später irgendwo im einsatz ist, ist es sinnvoll das error_reporting() etwas herunterzusetzen.

            error_reporting (E_ERROR | E_WARNING | E_PARSE);

            ist hier der standard.

            warum sollte (MUSS!) man das direkt im script angeben?

            ganz einfach.

            wenn es im script nicht angegeben ist, wird die einstellungen aus der php.ini verwendet. wenn man das script nur für sich selbst nutzt mag das kein problem sein. wenn man es aber veröffentlicht, dann wird es unter den verschiedensten php konfigurationen laufen und wie da die einstellungen zur fehlerausgabe aussehen weiß man nie...
            martin

            Kommentar


            • #7
              Trotz allem sollte man auf seinem Entwicklungs-System möglichst viele Meldungen anzeigen lassen ... das hilft immens bei der Fehlersuche!
              carpe noctem

              [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
              [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

              Kommentar

              Lädt...
              X