Warning: Undefined variable

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

  • Warning: Undefined variable

    Hallo,
    Folgendes PHP-Skript

    <FORM ACTION="listing74.php" METHOD="post">
    Name:<BR>
    <INPUT TYPE="text" NAME="name">
    <BR>
    User:<BR>
    <INPUT TYPE="text" NAME="user" VALUE="root">
    <BR>
    Passwort:<BR>
    <INPUT TYPE="password" NAME="pass">
    <BR><INPUT TYPE="submit" VALUE="abschicken"><BR>
    </FORM>
    <?
    echo "$name<br>";
    echo "$user<br>";
    echo "$pass";
    ?>


    erzeugt leider komischerweise folgende Fehlermeldungen

    Warning: Undefined variable: name in f:\apache\apache\htdocs\listing74.php on line 14
    Warning: Undefined variable: user in f:\apache\apache\htdocs\listing74.php on line 15
    Warning: Undefined variable: pass in f:\apache\apache\htdocs\listing74.php on line 16

    Was noch viel schlimmer ist: Ich weiß nicht, wo der Fehler liegt. Kann mir vielleicht jemand weiterhelfen?

  • #2
    *puh*

    was wundert dich daran???
    Übersetzt die Fehlermeldung mal, vielleicht verstehst du sie dann!
    ne suche hätte nicht geschadet!
    EDIT:
    Kriegst nen Bonus weil du neu hier bist: musst natürlich ne veriable erst zuweisen, bevor du sie verwendest!

    Kommentar


    • #3
      1. is das kein Fehler sondern eine Warning ( lies mal richtig )
      2. kannst Du warnings ausschalten
      3. solltest Du kein register_globals verwenden sondern in Deinem Fall das superglobale $_POST array oder bei php < 4.1.0 das $HTTP_POST_VARS array
      Beantworte nie Threads mit mehr als 15 followups...
      Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

      Kommentar


      • #4
        beim ersten aufruf des scripts bekommt der trotzdem die warnings

        gibt 2 möglichkeiten:

        1.) ganz sauber.. also checken ob es die variabel gibt (isset()) und nur dann ausgeben

        oder
        2.) php.ini
        error_reporting = E_ALL & ~E_NOTICE

        so einstellen

        musst halt nach suchen
        zwar nich ganz sauber aber geht
        mfg

        Kommentar


        • #5
          btw.
          das hier <FORM ACTION="listing74.php" METHOD="post">
          lässt vermuten Du arbeitest aus einem Buch heraus. Schmeiss es weg und kauf Dir ein neues, der Code ist dann jedenfalls nicht mehr aktuell und schien auf php 4.0.6 erprobt zu sein...
          Beantworte nie Threads mit mehr als 15 followups...
          Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

          Kommentar


          • #6
            Hi all,
            vielen, vielen Dank für die schnellen und reichlichen Antworten.
            Leider hab ich gemerkt, dass ich mich nicht klar genu ausgedrückt hab, was genau mein Problem ist.
            Mein Problem besteht fordergründig darin, dass, wenn ich in irgend ein Textfeld, z.B. "Name" irgendwas reinschreibe und dann den abschicken-Button klicke, dass dann normalerweise weiter unten das stehen sollte, was ich vorher im Textfeld eingegeben hatte.
            Also wenn ich unter Namen "Yusuf" reinschreib, auf "abschicken" klick, dann sollte "Yusuf" unten auf der Seiter erscheinen, tut es aber nicht.
            Das Merkwürdige ist auch, dass ich diese Vorlage 1:1 aus einem Lehrbuch kopiert habe.
            Für eure Mühen bedanke ich mich im Voraus

            Kommentar


            • #7
              benutz ma statt

              $name

              $_POST['name']

              mfg

              Kommentar


              • #8
                siehe oben neues Buch kaufen
                Beantworte nie Threads mit mehr als 15 followups...
                Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

                Kommentar


                • #9
                  Hi trashar,
                  klappt leider auch net.

                  Kommentar


                  • #10
                    veraltetes lehrbuch!

                    Kommentar


                    • #11
                      kennt jemand ein gutes online-tutorial über PHP?

                      Kommentar


                      • #12
                        http://schattenbaum.net/php grundlagen lesen und php können
                        EDIT:
                        evtl auch veraltet.

                        Kommentar


                        • #13
                          besten dank,
                          allen "anwesenden" noch ein gesegnetes wochende.
                          ciao ciao

                          Kommentar


                          • #14
                            Wenn das Formular noch nicht abgeschickt wurde, existieren die Variablen noch nicht. Das musst Du abfragen.
                            PHP-Code:
                            <?php
                            // Wurde das Formular abgeschickt oder ist das der Erstaufruf der Seite?
                            if ((isset($_POST['gesendet'])) && ($_POST['gesendet']=="abschicken"))
                            {
                              
                            // Ja -> Werte aus POSTumgebung holen
                              
                            $name=$_POST['name'];
                              
                            $user=$_POST['user'];
                              
                            $pass=$_POST['pass'];
                            }
                            else
                            {
                              
                            // Nein -> Dummywerte setzen
                              
                            $name="nix eingegeben";$user="nix";$pass="nix";
                            }
                            ?>
                            <FORM ACTION="listing74.php" METHOD="post">
                            Name:<BR>
                            <INPUT TYPE="text" NAME="name">
                            <BR>
                            User:<BR>
                            <INPUT TYPE="text" NAME="user" VALUE="root">
                            <BR>
                            Passwort:<BR>
                            <INPUT TYPE="password" NAME="pass">
                            <BR><INPUT TYPE="submit" NAME="gesendet" VALUE="abschicken"><BR>
                            </FORM>
                            <?
                            echo "$name<br>";
                            echo "$user<br>";
                            echo "$pass";
                            ?>
                            Zuletzt geändert von DSB; 18.10.2003, 13:44.

                            Kommentar


                            • #15
                              @DSB: wäre es in dem zusammenhang nicht universeller

                              PHP-Code:
                              if(isset($_POST) && !empty($_POST))
                                
                              // Abgeschickt 
                              zu nutzen?

                              Kommentar

                              Lädt...
                              X