Zweipunktnull
Commander
- Registriert
- Dez. 2004
- Beiträge
- 2.546
Hallo!
Ich hab hier ein Problem mit meinem News-System.
Neue News erstellen funktioniert. Ältere News löschen funktioniert auch.
Allerdings habe ich Probleme, wenn ich ältere News bearbeiten möchte.
(Da der Quellcode ziemlich lang ist werde ich nur die relevanten Zeilen hier hineinschreiben.)
Also, jeder News werden folgende Buttons vorangestellt:
Nun kommt der "Auswertungsteil":
Wenn ich nun auf den Button
klicke wird der gewünschte Datensatz korrekt ausgelesen und in das Formular geschrieben.
Nun ändere ich den Titel oder die News und drücke auf den submit button. Nun wird die Änderung allerdings nicht in MySQL gespeichert! Der Datensatz wird einfach nicht "geupdatet"! Wieso nicht?
Wo ist der Fehler in meinem Quellcode?
Ich sitze da schon ewig dran und würde mich freuen, wenn mir einer von euch helfen könnte.
MfG
Valentin
Ich hab hier ein Problem mit meinem News-System.
Neue News erstellen funktioniert. Ältere News löschen funktioniert auch.
Allerdings habe ich Probleme, wenn ich ältere News bearbeiten möchte.
(Da der Quellcode ziemlich lang ist werde ich nur die relevanten Zeilen hier hineinschreiben.)
Also, jeder News werden folgende Buttons vorangestellt:
PHP:
[ <a href='$_SERVER[PHP_SELF]?update=$datensatz[id]'>News bearbeiten</a> ]
[ <a href='$_SERVER[PHP_SELF]?delete=$datensatz[id]'>News löschen</a> ]
PHP:
if (isset($_GET['update'])) {
$sql = "SELECT * FROM news WHERE id='$_GET[update]'";
$abfrage = mysql_query($sql);
$datensatz = mysql_fetch_assoc($abfrage);
echo <<<FORMULAR
<p>
Hallo <b>{$_SESSION['user']}</b>! Herzlich Willkommen beim ValentinTools News-System!<br></br>
Hier hast du die Möglichkeit News zu bearbeiten.
</p>
<form action="{$_SERVER['PHP_SELF']}" method="post">
<input name="id" type="hidden" value="{$_GET['update']}"></input>
<p>
Titel<br></br>
<input name="titel" type="text" size="75" maxlength="90" value="{$datensatz['headline']}"></input>
</p>
<p>
News <small>(HTML-Code erlaubt)</small><br></br>
<textarea name="news" cols="75" rows="15">{$datensatz['news']}</textarea>
</p>
<p>
<input name="update" type="submit" value="Speichern"></input>
</p>
</form>
FORMULAR;
}
else {
echo <<<FORMULAR
<p>
Hallo <b>{$_SESSION['user']}</b>! Herzlich Willkommen beim ValentinTools News-System!<br></br>
Hier hast du die Möglichkeit News einzutragen.
</p>
<form action="{$_SERVER['PHP_SELF']}" method="post">
<p>
Titel<br></br>
<input name="titel" type="text" size="75" maxlength="90"></input>
</p>
<p>
News <small>(HTML-Code erlaubt)</small><br></br>
<textarea name="news" cols="75" rows="15"></textarea>
</p>
<p>
<input name="insert" type="submit" value="Eintragen"></input>
</p>
</form>
FORMULAR;
}
if (isset($_POST['insert'])) {
$datum = date('d.m.Y, H:i') . " Uhr";
$sql = "INSERT INTO news VALUES ('', '$datum', '$_SESSION[user]', '$_POST[titel]', '$_POST[news]')";
mysql_query($sql);
}
if (isset($_POST['update'])) {
$sql = "UPDATE news SET headline=$_POST[titel], news=$_POST[news] WHERE id=$_POST[id]";
mysql_query($sql);
}
if (isset($_GET['delete'])) {
$sql = "DELETE FROM news WHERE id='$_GET[delete]'";
mysql_query($sql);
}
PHP:
[ <a href='$_SERVER[PHP_SELF]?update=$datensatz[id]'>News bearbeiten</a> ]
Nun ändere ich den Titel oder die News und drücke auf den submit button. Nun wird die Änderung allerdings nicht in MySQL gespeichert! Der Datensatz wird einfach nicht "geupdatet"! Wieso nicht?
Wo ist der Fehler in meinem Quellcode?
Ich sitze da schon ewig dran und würde mich freuen, wenn mir einer von euch helfen könnte.
MfG
Valentin