Was mache ich falsch :-(

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

  • Was mache ich falsch :-(

    hallo.....

    hab hier ein Eingabeformular das wie folgt auschaut:


    <html>
    <!-- Creation date: 05.02.2003 -->
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>LEIHGABE</title>
    <meta name="description" content="">
    <meta name="keywords" content="">
    <meta name="author" content="hellspawn">
    <meta name="generator" content="">
    </head>
    <body>
    <form action="input.php" method="post">
    Modellbezeichnung: <input type="text" name="modell" size="15" maxlength="256" style="position: absolute; left:150px;">

    <div style="position: absolute; left:275px">X</div>

    <input type="text" name="anzahl" size="2" style="position: absolute; left:300px;"> </br></br>

    Seriennummer<input type="text" name="seriennummer" size="10" style="position: absolute; left:150px;"> </br></br>

    Name : <input type="text" name="besitzer" size="20" style="position: absolute; left:150px";></br></br>

    Leihdatum: <input type="text" name="leihdatum" size="10" style="position: absolute; left:150px";></br></br>

    Voraus. Rückgabe: <input type="text" name="vorrueckgabe" size="10" style="position: absolute; left:150px";></br></br>

    Rückgabe: <input type="text" name="rueckgabe" size="10" style="position: absolute; left:150px";></br></br>

    Sachbearbeiter: <input type="text" name="bearbeiter" size="10" style="position: absolute; left:150px";></br></br>

    Bemerkung: <textarea name="bemerkung" cols="30" rows="9"style="position: absolute; left:150px">
    </textarea>

    <input type="submit" value="Speichern" style="position: absolute; left:150px; top:450px;">
    <!-- input type="submit" value="Datensatz suchen" style="position: absolute; left:250px; top:450px;"> -->
    </form>
    </body>
    </html>




    Sobald ich den Speicherbutton betätige soll er alle eingegebenen Daten in die Datenbank (MySQL) einfügen. Die .php datei sieht so aus:


    <html>
    <!-- Creation date: 05.02.2003 -->
    <head>
    <title></title>
    <meta name="description" content="">
    <meta name="keywords" content="">
    <meta name="author" content="hellspawn">
    <meta name="generator" content="">
    </head>
    <body>
    <?php

    $link=mysql_connect("","","");
    if ($link)
    { echo "Verbunden";}
    else
    {echo "nicht verbunden";};

    mysql_select_db("support",$link);


    $sql = "insert into leihen (leiher,model,bearbeiter,bemerkung,leihdatum,rueckgabe,vorrueckgabe,seriennumer,anzahl)
    values ('$besitzer', '$modell', '$bearbeiter', '$bemerkung', '$leihdatum', '$rueckgabe', '$vorrueckgabe', '$seriennummer', '$anzahl' )";
    ?>
    </body>
    </html>


    aber wenn ich die Speicherbutton anklicke bekomme ich folgede Fehlermeldungen:

    Notice: Undefined variable: besitzer in d:\support\input.php on line 23

    Notice: Undefined variable: modell in d:\support\input.php on line 23

    Notice: Undefined variable: bearbeiter in d:\support\input.php on line 23

    Notice: Undefined variable: bemerkung in d:\support\input.php on line 23

    Notice: Undefined variable: leihdatum in d:\support\input.php on line 23

    Notice: Undefined variable: rueckgabe in d:\support\input.php on line 23

    Notice: Undefined variable: vorrueckgabe in d:\support\input.php on line 23

    Notice: Undefined variable: seriennummer in d:\support\input.php on line 23

    Notice: Undefined variable: anzahl in d:\support\input.php on line 23


    Kann mir da jemand weiterhelfen?? Komme einfach nicht weiter :-(
    Bedanke mich im voraus!!
    BackBone

  • #2
    register_globals?

    lösung: $_POST['seriennummer']

    EDIT:
    etwas weniger quellcode, dafür in den entsprechenden tags hätte es aber auch getan, das liest sich eh keiner wirklich durch (mich eingeschlossen)
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      hm.....
      muss dazu sagen das ich "anfänger" bin. Leider sagt mir deine Antwort nix!
      Was bedeutet das nun und wie kann ich mein Problem beheben??

      thx
      BackBone

      Kommentar


      • #4
        vielleicht, dass du statt $seriennummer $_POST['seriennummer'] verwenden sollst?
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          so dann

          ich bin anfänger deshalb versuche ich das mal zu erklären!
          hoffe es das stimmt

          du hast ja dein html formular. mit "POST" versendet!!
          <input type...... name="seriennummer"...>
          // das hier "seriennummer wird zur variable
          // $seriennummer

          da du diese "variable" ja POSTest und zwar an name.php
          musst name.php ja irgendwie wissen was $seriennummer ist, und wo es herkommt. und da es diese var. in name.php noch gar nicht definiert ist

          deshalb macht man das in php so
          $_POST['seriennummer'] // halt wie beim array
          $seriennummer = $_POST['seriennummer'] // um das nen bissle ordentlicher zu haben

          und dann kannste ganz normal
          $sql = "insert into leihen (leiher,model,bearbeiter,bemerkung,leihdatum,rueckgabe,vorrueckgabe,seriennumer,anzahl)
          values ('$besitzer', '$modell', '$bearbeiter', '$bemerkung', '$leihdatum', '$rueckgabe', '$vorrueckgabe', '$seriennummer', '$anzahl' )";
          ?>
          thx Mukraker

          Kommentar


          • #6
            Aber dann frage ich mich warum das nicht in meinem MySQL&PHP Buch beschrieben ist.

            Zumindest steht da nix mit $_POST['seriennummer']
            Oder ist das eine version bedingt?
            BackBone

            Kommentar


            • #7
              weil dein buch alt ist?

              früher ging es so wie du's probiert hast.
              jetzt geht's auch, aber nur wenn register_globals den richtigen (falschen ) wert hat

              es macht die sache zwar auf den ersten blick besser, aber auch unsicherer. das ganze gilt ja nicht nur für POST und GET sondern auch für SESSION

              stell dir vor, du arbeitest mit sessions und speicherst in der session irgendwo logged_in=1

              du kannst jetzt so prüfen:
              • if ($_SESSION['logged_in']==1)

                oder
              • if($logged_in==1)
              wenn du letztere möglichkeit nimmst, und eine seite, die nur erreichbar sein soll, wenn der user eingeloggt is, so aufgerufen wird (in der adressleiste) www.domain.tls/geheim.php?logged_in=1 hast du verloren, da du ja logged_in mit wert 1 als parameter übergibst, deine session-variable also überschrieben wird.

              beim oberen fall passiert dir das nich
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                hm.....ok hab´s geändert. Jetzt kommt auch kein Fehler. Aber die Daten werden nicht in die Datenbank eingefügt. :-(
                Was mache ich denn nun falsch???

                PS: das Buch ist net alt! Ist vom Juni-2002
                BackBone

                Kommentar

                Lädt...
                X