Warning: Undefined variable

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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!

    Comment


    • #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

      Comment


      • #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

        Comment


        • #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

          Comment


          • #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

            Comment


            • #7
              benutz ma statt

              $name

              $_POST['name']

              mfg

              Comment


              • #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

                Comment


                • #9
                  Hi trashar,
                  klappt leider auch net.

                  Comment


                  • #10
                    veraltetes lehrbuch!

                    Comment


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

                      Comment


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

                        Comment


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

                          Comment


                          • #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";
                            ?>
                            Last edited by DSB; 18-10-2003, 12:44.

                            Comment


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

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

                              Comment

                              Working...
                              X