Martin: Datenübergabe

Hallo Leute,

irgendwie hänge ich da gerade fest. Ich habe ein php-Script mit einer Variablen $id. Dann möchte ich in dem Script noch ein paar Daten über ein html-Formular erfassen (hier als Bsp.: datum und dann alle an das php-Schript formular_neuedaten.php übergeben.

Hier einmal mein Code.

.....
echo "$id";
MYSQL_CLOSE();
?>

<p> </p>
<form method="post" action="formular_neuedaten.php?$id">

<input type="text" name="datum">

...........

So funktioniert es nicht. Wahrscheinlich weil formular_neuedaten.php?$id die Variable $id nicht erkennt, da sie außerhalb des php-Scriptes aufgerufen wird.

Jetzt gibt es zwei Möglichkeiten: Ich schaffe es, die Variable in das html-Formular zu übernehmen oder ich integriere das html-Formular in das php-Script. Mir ist aber nicht klar, wie das geht. Kann mir jemand sagen, wie ich das machen muß, dass sowohl die variable datum als auch die Variable $id an das Script formular_neuedaten.php übergeben wird?

Danke im voraus

Martin

  1. Hallo

    Am einfachsten geht's per hidden-Field:

    <form method="post" action="formular_neuedaten.php">
      <input type="hidden" name="id" value="<? echo $id; ?>">
      <input type="text" name="datum">
    ...

    Grüße aus Würzburg
    Julian

    1. Danke aus Stuttgart.

      Es funktioniert!!!

      Martin

      Hallo

      Am einfachsten geht's per hidden-Field:

      <form method="post" action="formular_neuedaten.php">
        <input type="hidden" name="id" value="<? echo $id; ?>">
        <input type="text" name="datum">
      ...

      Grüße aus Würzburg
      Julian

  2. Hallo Martin,

    die Daten aus deinem Formular werden nach dem Muster name=value uebertragen. Wenn Du zunaechst mal die Form-Method auf 'get' setzt, kannst du das in der Adresszeile des Browser sehen. Die URL sieht dann so aus
    seite.php?name1=value1&name2=value2 usw.

    In die empfangende Seite schreibst du:

    $name1=$_GET['name1'];
    $name2=$_GET['name2'];
    echo $name1;
    echo $name2;

    Soweit das Prinzip.
    Wenn Du in der Form 'method' wieder auf 'post' setzt, musst du auch $_GET durch $_POST ersetzen, aber zunaechst wuerde ich 'get' vorziehen, um zu sehen, was wirklich uebertragen wird.

    Dieter