M
matibaski
Guest
Moin!
Also ich habe ein Gästebuch mti MySQL erstellt.
Funktioniert soweit so gut. Nun ist es so, dass ich einige Beiträge ändern, bzw. löschen will, falls jemand flucht, das Wort zensieren, oder Spam, zum löschen.
Nun habe ich ein Tool gemacht, bei dem man löschen und ändern kann.
Ich bin momentan beim Editieren von Beiträgen (schwerer als Löschen)
Hier ist der Code (kommentiert, dass ihr auch drauskommt):
Ich hoffe, jemand kann mir helfen!
MfG, matibaski
Also ich habe ein Gästebuch mti MySQL erstellt.
Funktioniert soweit so gut. Nun ist es so, dass ich einige Beiträge ändern, bzw. löschen will, falls jemand flucht, das Wort zensieren, oder Spam, zum löschen.
Nun habe ich ein Tool gemacht, bei dem man löschen und ändern kann.
Ich bin momentan beim Editieren von Beiträgen (schwerer als Löschen)
Hier ist der Code (kommentiert, dass ihr auch drauskommt):
PHP:
<?php
include"config.php"; // Beinhaltet Verbindung zur Datenbank, etc...
if(!isset($_GET['id'])) // Aussuchen der Spalten, für Link zum Ändern
{
$zeig = "SELECT
ID,
Datum
FROM
gaestebuch
ORDER BY
ID DESC;
";
$result = mysql_query($zeig) OR die(mysql_error());
// Hier wird ein Link gemacht, den man anklicken kan. Wieso? Sieht man unten
echo "Klicke auf einen Beitrag, um diesen zu Bearbeiten:<br />\n";
if(mysql_num_rows($result)) { // gucken ob was im Query drinsteckt
while($row = mysql_fetch_assoc($result))
{
echo '<a href="admin.php?site=edit&id=' . $row['ID'] . '">' . $row['ID'] . ' > ' . $row['Datum'] . '<br />'."\n";
}
} else {
echo "Es sind keine Gästebucheinträge in der Datenbank vorhanden<br />";
// Bis hierhin ist alles normal. Es werden alle Einträge aufgelistet,
// mit ID und Datum
// Wenn man draufklickt erscheint oben id=12 z.B., wenn man die ID 12 ändern will.
}
}
else
{
// Wenn die id= bestimmt ist, dann soll es nun ein Formular ausgeben, in dem die Inhalte vorhanden sind.
// Doch mein Problem ist, ich möchte, dass alle Inhalte
// schon vorgeschrieben sind, damit ich nur etwas ändern muss
// Wenn ich einen Link angeklickt habe, dann kommt das Formular
// aber es ist alles leer.
// Wie kann ich das machen, dass die Inhalte gefüllt sind?
echo'
<form name="submit" action="admin.php?site=edit&id='.$row['ID'].'&edit=true" method="post">
<h2>Inhalt ändern:</h2>
Name:<br />
<input type="text" name="name" value="'.$row['Name'].'" /><br />
<br />
Email:<br />
<input type="text" name="email" value="'.$row['Email'].'" /><br />
<br />
Homepage:<br />
<input type="text" name="homepage" value="'.$row['Homepage'].'" /><br />
<br />
Inhalt:<br />
<textarea rows="10" cols="40">
'.$row['Inhalt'].'
</textarea><br />
<br />
<br />
<input type="submit" name="submit" value="Ändern" />
<input type="hidden" name="id" value="'.$row['ID'].'" />
</form>';
// Wenn man etwas geändert hat, soll nun edit=true erscheinen übers Form
// doch wenn ich etwas geschrieben habe, auch ohne vorgeschriebenen
// Text, dann steht oben bei der ID: id=&... Also keine Zahl mehr -.- ??
// Ich habe schon einen verstecken Button eingesetzt, damit die ID übermittelt wird
// Aber es zeigt keinen $row[] an.. Check ich ned..
// Also, wenn ich nun etwas neues Geschrieben habe, dann steht unten,
// nach dem ändern knopf:
/* You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' Email = , Homepage = , Inhalt = WHERE ID =' at line 4 */
if($_GET['edit'] == 'true')
{
$edit = "UPDATE
gaestebuch
SET
Name = ".$_REQUEST['name'].",
Email = ".$_REQUEST['email'].",
Homepage = ".$_REQUEST['homepage'].",
Inhalt = ".$_REQUEST['inhalt']."
WHERE
ID = ".$_GET['id'].";
";
mysql_query($edit) OR die(mysql_error());
echo'Der Eintrag mit der ID ' . $_GET['id'] . 'wurde erfolgreich geändert';
}
}
?>
MfG, matibaski