Übergabe von Formulardaten

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

  • Übergabe von Formulardaten

    Hallo zusammen,

    kurz zu mir. Ich mache mometan ein Praktikum und soll im Rahmen des Praktikums erste Schritte in PHP machen.

    Meine Firma möchte, dass ich das Vorschlagswesen als Webanwendung umsetzte.

    Nun ja ich habe nun ein Eingabeformular...allerdings werden die Werte nicht in die DB übernommen. Um den Fehler einzugrenzen...es wird aber ein Tupel in der Datenbank erzeugt(leer)!
    Hier das Formular...
    ...
    form name="eingabe_vorschlag" method="POST" action="vorschlag_ein.php">
    <table width="100%" border="0">
    <tr>
    <td width="82%"><div align="right">Datum: </div></td>
    <td width="18%"><input name:"e_datum" type="text" id="e_datum" size ="20" value="<? echo $e_datum?>" disabled="true"">
    </td>
    </tr>
    </table>

    </p>
    <table width="100%" border="0">
    <tr>
    <td width="15%">Kurztitel: </td>
    <td width="85%"><input name:"kurztitel" type="text" id="kurztitel" size="90" maxlength="100" ></td>
    </tr>
    <tr>
    <td>Vorname:</td>
    <td><input name:"vorname" type="text" id="vorname" size="25" maxlength="25" ></td>
    </tr>
    <tr>
    <td>Nachname:</td>
    <td><input name:"nachname" type="text" id="nachname" size="25" maxlength="25"></td>
    </tr>
    <tr>
    <td>Telefon :</td>
    <td><input name="telefon" type="text" id="nachname" size="15" maxlength="15">
    (falls vorhanden)</td>
    </tr>
    <tr>
    <td>Memo:</td>
    <td><input name="mail" type="text" id="mail" size="20" maxlenght="20">
    (falls vorhanden) </td>
    </tr>
    <tr>
    <td>Standort:</td>
    <td><select name="lokation"><option value="Dortmund">Dortmund</option>
    <option value="Werne">Werne</option></select></td>
    </tr>
    </table>
    <p>Ist-Zustand: <br>
    <textarea name="ist_zustand" cols="90" rows="10" id="ist_zustand">aktueller Zustand</textarea>
    </p>
    <p>Soll-Zustand: <br>
    <textarea name="soll_zustand" cols="90" rows="10" id="soll_zustand">Vorteile</textarea>
    </p>
    <p>Kosten: <br>
    <textarea name="kosten" cols="90" rows="10" id="kosten">Mögliche Kosten/Aufwand</textarea>
    </p>
    <table width="100%" border="0">
    <tr>
    <td width="18%"><input type="submit" name="submit" value="Abschicken">
    </td>
    <td width="82%"><input type="reset" name="reset" value="Löschen"></td>
    </tr>
    </table>....
    und nun das PHP Script:
    <?
    include "config.php";
    $status_id = 1;
    $e_datum = date("d, M, Y");
    mysql_select_db($db_name, $linkID) or die ("Keine Verbindung zur Datenbank möglich!");
    $query_save = "INSERT INTO vorschlag(status_id,e_datum,kurztitel,vorname,nachname,telefon,mail,lokation,ist_zustand,soll_zustan d,kosten) VALUES ('$status_id','$e_datum','$kurztitel','$vorname','$nachname','$telefon','$mail','$lokation','$ist_zu stand','$soll_zustand','$kosten')";
    mysql_query($query_save);
    mysql_insert_id();
    mysql_error();
    if (isset($status_id) ){
    echo "Werte: $status_id";
    echo "Vorschlag eingereicht!<p>";
    }
    ?>
    Der Webserver schmeiß mir folgende Meldung zu jeder Variable raus:
    Notice: Undefined variable: kurztitel in D:\Data\Common\webvorschlagw\vorschlag_ein.php on line 8

    Ich bin echtdankbar für jede Hilfe! Wo liegt mein Fehler?

    DANKE und liebe Grüße
    Thrasher

  • #2
    http://de.php.net/register_globals

    register_globals ist bei dir wahrscheinlich aus und du musst $_POST, $_GET oder $_REQUEST (etc.) nutzen.

    Ist sowieso besser

    Gruß,
    Flo.

    Kommentar


    • #3
      Hi flo,

      register_globals darf auf dem Server net ausgeshaltet werden!
      Habe mich in der Hinsicht schon schlau gemacht. Ich muss dann mit isset() arbeiten!

      Was meinst du denn ich solle mit mehr $_Post arbeiten...

      Hast du ein Beispiel?

      Vielen Dank!

      Liebe Grüße
      Thrasher

      Kommentar


      • #4
        Warum darf das nicht ausgeschaltet werden? klappen dann die anderen scripts nicht mehr?
        Schon schlecht...

        Aber wie gesagt, ich würde von vornherein mit den superglobalen Variablen arbeiten.
        Guck doch einfach mal den Link an in meinem anderen Post.

        Da stehts gut beschrieben.

        Es ist einfach so, dass die Daten die per GET, POST oder so übertragen werden alle in $_GET, $_POST und so stehen!

        Das heißt wenn ein Formularfeld den Namen 'username' hat, steht nach dem Abschicken in PHP die Variable $_POST['username'] der Wert.
        Das gleiche mit GET-Werten:
        Wenn man eine Seite so aufruft: url.de/index.php?id=2
        dann kann man mit $_GET['id'] die Variable 'id' auslesen. Diese hat den Inhalt '2'.

        Das ist grob erklärt ^^ Genauer gibts das, wie gesagt, bei dem Link da.

        Mit isset() zu arbeiten bringt dir nichts, da die Variablen nicht mehr zu erreichen sind, wenn register_globals eines Tages auf 'off' steht

        Gruß,
        Flo.

        Kommentar

        Lädt...
        X