Werte im Link an ein Formular übergeben

kingmar

Grünschnabel
Hallo
Ich habe eine Tabelle angelegt und hier erscheinen Zahlen von 1-500. Die Zahlen kommen aus einer Datenbank. Ich habe in jedes Feld ein OK oder BELEGT Button eingefügt und möchte nun bei den OK Feldern ein Link generieren, der zu einem anfrage.php Dokument führt, wo der Benutzer seine Daten einträgt (Name, Adresse usw.). Wie kann ich bei dem Link den Wert des angeklickten Feldes mit übergeben. Dieser soll dann in einer nicht editierbaren Textbox in anfrage.php erscheinen....?
 
Ich gehe mal davon aus, dass du einen normalen Link eingebaut hast.
PHP:
echo '<a href="anfrage.php?id='.$row->id.'">Eintragen</a>';

Du hast theoretisch zwei Möglichkeiten. Die obrige verwendet eine Übertragung durch GET. Du kannst in der Datei anfrage.php mit $_GET['id'] auf den Wert zugreifen.

Praktisch möglich, aber meiner Meinung nach übertrieben, wäre eine Übermittlung mit POST. Dadurch entsteht aber viel mehr Quellcode, wodurch die Ladezeit steigt.

PHP:
echo '<form name="eintragen" action="anfrage.php" method="post">';
   echo '<input type="hidden" name="id" value="'.$row->id.'" />';
   echo '<input type="submit" value="Eintragen" name="submit" />';
echo '</form>';

Zugriff auf die einzutragende ID: $_POST['id']

Ich gehe jeweils davon aus, dass du eine Datenbankabfrage machst, welche eine Whileschleife benutzt und die aktuelle Datenzeile $row heißt.
 
Um dann bei dem Beispiel von Lime zu bleiben:
Du übergibst mit dem Formular per POST die ID an die Datei anfrage.php.
Dort musst Du den Wert abholen und in das nicht beschreibbare Feld schreiben:
PHP:
if (isset($_POST['id']))   // wenn die id gefüllt ist
{
// Übergabe des Wertes an die Variable $id. Falls Du den Wert noch irgendwo anders brauchst. Ansonsten kannst Du im folgenden auch statt $id $_POST['id'] verwenden
$id=$_POST['id']; //  hier ggf noch weitere Formularfelder definieren
echo "\n<input name='idfeld' type='text' value='$id' readonly />";
//  hier ggf noch weitere Formularfelder definieren
} //end if isset
 
Zurück