Tach!
$SQL = "UPDATE lieferschein SET GEWICHT = '<? echo $kg ?>' WHERE REC\_ID = '$id'";
Das is quatsch, afaik.
Benutz doch einfach
$SQL = "UPDATE lieferschein SET GEWICHT = '$kg' WHERE REC_ID = '$id'";
wie du es bei $id auch gemacht hast.
Zuzüglich musst du auch noch auf den Kontextwechsel achten, sowohl für $id, als auch für $kg.
Und für sein echo $SQL den Kontextwechsel zu HTML, denn dann hätte er das Problem an obigem Konstrukt sehen können. Alternativ täte es auch ein Blick in die Quellcode-Ansicht des Browsers.
Was übrigens auch noch Quatsch ist,
$k = $_POST['kilo'];
$kg = $k['$key'];
statt
$kg = $_POST['kilo'][$key];
zu verwenden.
dedlfix.