update DB durch eingabe in textfeldern

cya

Grünschnabel
Hallo zusammen
Ich möchte meine DB updaten, mit daten die ich in einem Formular eingebe. Die Felder sind schon gefüllt mit den Daten aus der DB, da ich die Daten Bearbeiten möchte.

Die Felder aus dem Formular will ich mit $_REQUEST übernehmen, was aber nicht ausgeführt wird.

Habe die gleiche Funktion mit einem Insert, da funktioniert alles Problemlos (Textfelder sind dort leer).

Nun, an was liegt es das die Inhalte der Textfelder nicht übernommen werden?

ich hoffe der kopierte Code reicht aus.
schon mal im Voraus danke für tipps und eure Hilfe! :)

PS: Datenbank ist via ODBC angebunden. PHP version 5. Apache 2.0.59

Coding & Fehlermeldung:
Formular
PHP:
 while($row = odbc_fetch_array($query))
{
#überschriften der unteren Felder ($row)
echo ("<td>"."Schlüssel: "."</td>\n");
echo ("<td>"."Nachname: "."</td>\n");
echo ("<td>"."Vorname: "."</td>\n");
echo ("<td>"."Strasse und Nummer: "."</td>\n");
echo ("<td>"."PLZ: "."</td>\n");
echo ("<td>"."Ort: "."</td>\n");
echo ("<td>"."Mobile: "."</td>\n");
echo ("<td>"."Geburtsdatum: "."</td>\n");
#neue Zeile öffnen (tr)
echo ("<tr><td width=\"0%\" valign=\"top\">\n");
echo $row['key']. "<td>";
//echo ("<input type=\"text\" name=\"key\" value=\"".$row['key']."\"></td><td>\n");
echo ("<input type=\"text\" name=\"nachname\" value=\"".$row['Name']. "\"></td><td>\n");
echo ("<input type=\"text\" name=\"vorname\" value=\"".$row['Vorname']. "\"></td><td>\n");
echo ("<input type=\"text\" name=\"str_u_nr\" value=\"".$row['Str_u_Nr']. "\"></td><td>\n");
echo ("<input type=\"text\" name=\"plz\" value=\"".$row['PLZ']. "\"></td><td>\n");
echo ("<input type=\"text\" name=\"ort\" value=\"".$row['Ort']. "\"></td><td>\n");
echo ("<input type=\"text\" name=\"mobile\" value=\"".$row['Mobile']. "\"></td><td>\n");
echo ("<input type=\"text\" name=\"gebDat\" value=\"".$row['GebDat']. "\"></td></tr>\n");
}
echo ("<form action=\"gespeichert.php\" method=\"post\" >");
#Button Speichern erstellen
echo ("<tr><td><br><input type=\"submit\" name=\"speichern_bearb\" value=\"Speichern\"></td>");
#Zeile Tabelle und form wird hier geschlossen
echo ("</tr></table></form>");

neues File (Daten hier übernehmen und ausgeben)
PHP:
 if(isset($_POST['speichern_bearb']))
{
echo "Verlinkung ok";
//übernimmt diese Daten nicht....
#Eingabe aus den Feldern lesen
$nachname = $_REQUEST["nachname"];
$vorname = $_REQUEST["vorname"];
$str_u_nr = $_REQUEST["str_u_nr"];
$plz = $_REQUEST["plz"];
$ort = $_REQUEST["ort"];
$mobile = $_REQUEST["mobile"];
$gebDat = $_REQUEST["gebDat"];
 
#Variablen aus Textfeldern übernehmen
$nachname_n = $nachname;
$vorname_n = $vorname;
$str_u_nr_n = $str_u_nr;
$plz_n = $plz;
$ort_n = $ort;
$mobile_n = $mobile;
$gebDat_n = $gebDat;
#Eingabe in Textfeldern hier ausgeben
echo "Nachname: $nachname_n <br>";
echo "Vorname: $vorname_n <br>";
echo "Strasse und Nummer: $str_u_nr_n <br>";
echo "PLZ: $plz_n <br>";
echo "Ort: $ort_n <br>";
echo "Mobile: $mobile_n <br>";
echo "GebDat: $gebDat_n <br><br>";
 
$sql = "UPDATE Personalien_MAs SET `Name` = '".$_POST['nachname']."', Vorname = '".$_POST['vorname']."',
Str_u_Nr = '".$_POST['str_u_nr']."', PLZ = '".$_POST['plz']."', Ort = '".$_POST['ort']."',
Mobile = '".$_POST['mobile']."', GebDat = '".$_POST['gebDat']."'";

Fehlermeldung: Notice: Undefined index: nachname in C:\wwwroot\gespeichert.php on line 20
etc....
 
Zuletzt bearbeitet:
Das ist keine Fehlermeldung, sondern nur eine Notice. Übernimm doch die Variablen per $_POST und nicht per $_REQUEST, wenn du weißt, aus welcher Quelle sie stammen.
 
Erstmals danke für deine Hilfe :)
Hab ich versucht wird auch nicht erkannt.

Hab den Fehler gefunden. Hab das <form> am falschen ort platziert....

Update funktioniert.
Danke und liebe Grüsse cya
 
Zurück