Variable in Formfeld einladen?

DaKa

Mitglied
Also ich möchte in meinem Newssystem die Möglichkeit einbauen die News auch zu ändern.

Mit

<input type=\"text\" name=\"head\" value=\" ".$head." \">

kann ich ja eine Variable in das Textfeld reinladen. Nur wenn ich den Neuen Text jetzt speichern will, macht er nicht :-(
Ich wähl alles mithilfe der iD aus

<?
session_start ();
include ("db.php");
$ergebnis = mysql_query("SELECT msg, head, id FROM news WHERE admin = '$admin' ORDER BY id DESC LIMIT 3");
while($row = mysql_fetch_array($ergebnis)) {

$head = $row['head'];
$msg = $row['msg'];
$id = $row['id'];

echo "
<div align=\"center\">
&Uuml;berschrift
<input type=\"text\" name=\"head\" value=\" ".$head." \">
<input type=\"text\" name=\"newhead\">
Nachricht
<textarea name=\"msg\" rows=\"5\" cols=\"50\">".$msg."</textarea>
<input type=\"hidden\" name=\"newmsg\">
ID
<input type=\"text\" name=\"id\" value=\" ".$id." \">
</div>";
}
?>
<html>
<body>
<div align="center">ID auswählen
<input type="text" name="id">

<form name="form1" method="post" action="delcheck.php">
<input type="hidden" name="action" value="delid">
<input type="submit" value="Eintrag löschen" style="font-size: 11px;">

</form>
<form name="form2" method="post" action="upcheck.php">
<input type="hidden" name="action" value="update">
<input type="submit" value="Eintrag bearbeiten" style="font-size: 11px;">

</form>
</div>
</body>
</html>

update :

<?
session_start ();
include ("db.php");
if ($action == update){
$result = mysql_query("UPDATE news SET head = '$head', msg = '$msg' WHERE id = '$id'");
header ("location: post.php");
}else{
echo "Fehler";
};
?>

kann wer helfe`?
 
Also wenn ich das richtig sehe, hast du deine Eingabefelder gar nicht innerhalb eines Form-Tags. Dann werden die Daten, die du dort eingibst auch gar nicht an das Script übergeben.

Dann ist das Problem, dass du am Anfang der Datei die Datenbank ausliest und die z.B. die Variable $head wieder mit den Werten aus der Datenbank überschreibst. Du musst erst die Aktualisierung machen und dann wieder auslesen.
 
Zurück