CoolPolo
17-02-2006, 03:31
Hallo erstmal
Ich habe für mein Gästebuch eine seite erstellt mit der ich die Einträge editieren möchte. Die Einträge sind in einer mySQL-Datenbank gespeichert.
Ich habe eine Schaltfläche mit der ich den editierten Eintrag speichern will, das problem ist nur das dann nur der ursprüngliche Text erscheint und sonst nichts passiert. Ich finde im Code einfach keinen Fehler.
Ich hoffe Ihr könnt mir helfen.
//EDITIEREN
if($_POST['flag']==4 AND $_POST['IDgast'])
{
$_POST['absender'] = trim($_POST['absender']);
$_POST['email'] = trim($_POST['email']);
$_POST['betreff'] = trim($_POST['betreff']);
$_POST['message'] = trim($_POST['message']);
$_POST['absender'] = strip_tags($_POST['absender']);
$_POST['email'] = strip_tags($_POST['email']);
$_POST['betreff'] = strip_tags($_POST['betreff']);
$_POST['message'] = strip_tags($_POST['message']);
$_POST['absender'] = htmlentities($_POST['absender']);
$_POST['email'] = htmlentities($_POST['email']);
$_POST['betreff'] = htmlentities($_POST['betreff']);
$_POST['message'] = htmlentities($_POST['message']);
$link = mysql_connect("localhost", $benutzername, $benutzerpasswort);
mysql_select_db($datenbank, $link);
$sql = "UPDATE $tabellenname SET
absender = '".mysql_real_escape_string($_POST['absender'], $link)."',
email = '".mysql_real_escape_string($_POST['email'], $link)."',
betreff = '".mysql_real_escape_string($_POST['betreff'], $link)."',
message = '".mysql_real_escape_string($_POST['message'], $link)."',
WHERE ID = '".mysql_real_escape_string($_POST['IDgast'], $link)."'";
$result = mysql_query($sql, $link);
}
//EINTRÄGE AUSLESEN
$sql = "SELECT * FROM $tabellenname ORDER BY datum DESC ";
$link = mysql_connect("localhost", $benutzername, $benutzerpasswort);
mysql_select_db($datenbank, $link);
$result = mysql_query($sql, $link);
for($i = 0; $i < mysql_num_rows($result); $i++)
{
$ergebnis[$i] = mysql_fetch_array($result);
}
//AUSGABE
for($i = 0; $i < count($ergebnis); $i++)
{
echo "
<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">
<input type=\"hidden\" name=\"flag\" value=\"4\">
<input type=\"hidden\" name=\"IDgast\" value=\"".$ergebnis[$i]['ID']."\">
<table border=\"0\" width=\"400\">
<tr>
<td width=\"300\" bgcolor=\"#B9B9B9\"> <input size=\"41\" type=\"text\" name=\"absender\" value=\"".$ergebnis[$i]['absender']."\">
</td>
<td width=\"100\" bgcolor=\"#B9B9B9\"> ".$ergebnis[$i]['datum']."</td>
</tr>";
echo "<tr><td colspan=\"2\" bgcolor=\"#B9B9B9\"> <input size=\"54\" type=\"text\" name=\"email\" value=\""
.$ergebnis[$i]['email']."\"> </td></tr>";
echo "<tr><td colspan=\"2\" bgcolor=\"#B9B9B9\"> <input size=\"54\" type=\"text\" name=\"betreff\" value=\""
.$ergebnis[$i]['betreff']."\"> </td></tr>";
echo "<tr><td colspan=\"2\" bgcolor=\"#CDCDCD\"> <textarea rows=\"10\" cols=\"54\" name=\"message\">"
.$ergebnis[$i]['message']."</textarea> </td></tr></table>";
echo "<input type=\"submit\" value=\"Ändern\"></table><hr width=\"410\"></form>";
Ich habe für mein Gästebuch eine seite erstellt mit der ich die Einträge editieren möchte. Die Einträge sind in einer mySQL-Datenbank gespeichert.
Ich habe eine Schaltfläche mit der ich den editierten Eintrag speichern will, das problem ist nur das dann nur der ursprüngliche Text erscheint und sonst nichts passiert. Ich finde im Code einfach keinen Fehler.
Ich hoffe Ihr könnt mir helfen.
//EDITIEREN
if($_POST['flag']==4 AND $_POST['IDgast'])
{
$_POST['absender'] = trim($_POST['absender']);
$_POST['email'] = trim($_POST['email']);
$_POST['betreff'] = trim($_POST['betreff']);
$_POST['message'] = trim($_POST['message']);
$_POST['absender'] = strip_tags($_POST['absender']);
$_POST['email'] = strip_tags($_POST['email']);
$_POST['betreff'] = strip_tags($_POST['betreff']);
$_POST['message'] = strip_tags($_POST['message']);
$_POST['absender'] = htmlentities($_POST['absender']);
$_POST['email'] = htmlentities($_POST['email']);
$_POST['betreff'] = htmlentities($_POST['betreff']);
$_POST['message'] = htmlentities($_POST['message']);
$link = mysql_connect("localhost", $benutzername, $benutzerpasswort);
mysql_select_db($datenbank, $link);
$sql = "UPDATE $tabellenname SET
absender = '".mysql_real_escape_string($_POST['absender'], $link)."',
email = '".mysql_real_escape_string($_POST['email'], $link)."',
betreff = '".mysql_real_escape_string($_POST['betreff'], $link)."',
message = '".mysql_real_escape_string($_POST['message'], $link)."',
WHERE ID = '".mysql_real_escape_string($_POST['IDgast'], $link)."'";
$result = mysql_query($sql, $link);
}
//EINTRÄGE AUSLESEN
$sql = "SELECT * FROM $tabellenname ORDER BY datum DESC ";
$link = mysql_connect("localhost", $benutzername, $benutzerpasswort);
mysql_select_db($datenbank, $link);
$result = mysql_query($sql, $link);
for($i = 0; $i < mysql_num_rows($result); $i++)
{
$ergebnis[$i] = mysql_fetch_array($result);
}
//AUSGABE
for($i = 0; $i < count($ergebnis); $i++)
{
echo "
<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\">
<input type=\"hidden\" name=\"flag\" value=\"4\">
<input type=\"hidden\" name=\"IDgast\" value=\"".$ergebnis[$i]['ID']."\">
<table border=\"0\" width=\"400\">
<tr>
<td width=\"300\" bgcolor=\"#B9B9B9\"> <input size=\"41\" type=\"text\" name=\"absender\" value=\"".$ergebnis[$i]['absender']."\">
</td>
<td width=\"100\" bgcolor=\"#B9B9B9\"> ".$ergebnis[$i]['datum']."</td>
</tr>";
echo "<tr><td colspan=\"2\" bgcolor=\"#B9B9B9\"> <input size=\"54\" type=\"text\" name=\"email\" value=\""
.$ergebnis[$i]['email']."\"> </td></tr>";
echo "<tr><td colspan=\"2\" bgcolor=\"#B9B9B9\"> <input size=\"54\" type=\"text\" name=\"betreff\" value=\""
.$ergebnis[$i]['betreff']."\"> </td></tr>";
echo "<tr><td colspan=\"2\" bgcolor=\"#CDCDCD\"> <textarea rows=\"10\" cols=\"54\" name=\"message\">"
.$ergebnis[$i]['message']."</textarea> </td></tr></table>";
echo "<input type=\"submit\" value=\"Ändern\"></table><hr width=\"410\"></form>";