PHP kennt Variable nicht...

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

  • PHP kennt Variable nicht...

    Hallo,

    ich habe ein seltsames Problem, das bei meiner etwas älteren Linux PHP Installation nicht auftritt, aber unter der neueren Windows PHP Version, die auf meinem Laptop läuft:

    Und zwar habe ich ein Formular, das verschiedene Pflichtfelder enthält. Ich prüfe nun, ob diese Pflichtfelder ausgefüllt sind, indem ich z. B. schreibe

    If $test!="" {
    echo "Das Pflichtfeld ist ausgefüllt";
    }
    else {
    echo "Sie haben etwas vergessen";
    }

    Das Problem hierbei: Ich kann die Variable gar nicht prüfen, wenn sie im Formular nicht mit einem Wert belegt wurde, weil mir dann PHP immer sagt, dass die Variable unbekannt ist.

    Meine Frage: Wie soll man prüfen, ob eine Variable leer oder voll ist, wenn mir PHP bei einer leeren Variable immer ne Fehlermeldung ausspuckt, weil die Variable scheinbar nicht übertragen wurde.

    Wie gesagt, das Problem besteht nur bei der neueren Windows Version, nicht bei der älteren Linux Variante.

    Danke,

    Patryn

  • #2
    ups... hab wohl das falsche Forum erwischt... bitte verschieben

    Kommentar


    • #3
      schau mal, ob auf deinem Laptop in der PHP.INI der wert register_globals auf OFF steht!

      versuchs mal so:
      $_POST[variable]

      gruss

      Kommentar


      • #4
        Hallo,

        diese Einstellung habe ich bereits verändert gehabt, d. h. die Variablen-Namen sind die Gleichen, wie der "name"-Wert in den Formular Feldern.

        Gibt es in der php.ini villeicht noch eine andere Option, die speziell dafür zuständig ist, dass PHP nur dann eine Variable erkennt, wenn diese einen Wert hat (selbst wenn dieser Null ist)?

        Grüße,

        Patryn

        Kommentar


        • #5
          Ja das Problem kenn ich irgendwoher

          Es kommt anscheinend nur bei Windows-Server vor (was ich mir aber kaum vorstellen kann) oder an irgendeiner merkwuerdigen Einstellung in der php.ini (keine Ahnung was das sein koennte)

          Aber so kannst du das Problem umgehen:

          PHP-Code:

          if (! isset($text)) {     // wenn nicht gesetz, $test mit leeren Inhalt fuellen
                
          $test "";


          if ( 
          $test != "")  {
               echo 
          "Das Pflichtfeld ist ausgefüllt";
          } else {
               echo 
          "Sie haben etwas vergessen";

          Also mit isset($var) kann man pruefen ob eine Variable gesetzt ist.

          Kommentar


          • #6
            Ok, es hat doch nix mit Windows zu tun, sondern liegt ganz einfach an dieser Einstellung in der php.ini:

            Code:
            ; - error_reporting = E_ALL        [Code Cleanliness, Security(?)]
            ;     By default, PHP surpresses errors of type E_NOTICE.  These error messages
            ;     are emitted for non-critical errors, but that could be a symptom of a bigger
            ;     problem.  Most notably, this will cause error messages about the use
            ;     of uninitialized variables to be displayed.
            Also damit bei uninitialisierten Variablen keine Notiz kommt:

            Code:
            error_reporting = E_ALL & ~E_NOTICE

            Kommentar


            • #7
              Super, vielen Dank für deine Hilfe.

              Patryn

              Kommentar

              Lädt...
              X