'Admincenter' für ein Gästebuch

PHP:
<?php //Löschen eines Datensatzes 
  if($_POST['loeschen']){ 
	$sqlkommando = "DELETE FROM `guestbook` WHERE `count` = '".$_POST['$count2']."' LIMIT 1;";
  } 
  $sqlanfrage = mysql_query($sqlkommando) or die("Error: " . mysql_error());
  if (!empty($sqlanfrage)){
	echo "<meta http-equiv=\"refresh\" content=\"0; URL=$PHP_SELF\">";
  } else {
	echo "Die Daten konnten nicht gelöscht werden.";
  }
?>
 
Zuletzt bearbeitet:
Ich dachte eigentlich ein meta-refresh müsste im Head stehen..geht aber auch so wie ich sehe. Aber so ganz richtig ist das dann auch noch nicht, jetzt refresht er nämlich permanent, einmal pro Sekunde. Egal ob gelöscht wird/wurde oder nicht.
 
Dann hast du einen Fehler im Code. Steht das meta-refresh auch im if? Ist die Variable loeschen immer aktiv?
 
Keine Ahnung wieso, aber jetzt gehts. Ich hatte vorher zuerst die genaue Lösung von forsterm ausprobiert und als die nicht ging nochmal nur die Zeile mit dem echo ins if geschrieben. Hat beides nicht hingehauen, also hab ichs wieder gelöscht. Aber was auch immer ich da für nen Fehler reingehauen hab, diesmal hab ich ihn wohl weggelassen ^^
Schonmal danke dafür.

Dann hab ich noch ein Problem (Ja, ich nerv mich selbst auch schon :-( )
Ich hab vor ner Viertelstunde erfahren, dass mein Abnehmer für das Teil auch noch gern Gästebucheinträge kommentieren möchte.. sehr unangenehme Überraschung, aber was tut man nicht für Freunde x_x

Ich hab also ein zweites Formular in die Datei gepackt das aus der Count-ID, einem Textfeld und einem Submitbutton besteht:
PHP:
<form action="<?php echo $PHP_SELF ?>" method="post" name="comment">
<input type="text" name="count2" size="5">
<input type="text" name="name" size="20">
<input type="submit" name="comment" value="Eintrag kommentieren">
</form>

Und hab dann unter meinem bisherigen Code weitergemacht:
PHP:
<?php //Kommentieren eines Datensatzes
 if($_POST['comment']) {
 $sqlkommando = "SELECT 'message' FROM `guestbook` WHERE `count` = '".$_POST['count2']."' LIMIT 1;";  
 $sqlanfrage = mysql_query($sqlkommando) or die("Error: " . mysql_error());
 $cmessage = $sqlanfrage . "<br /><i>" . $_POST['name'] . "</i>";
 $sqlkommando = "UPDATE 'guestbook' SET message = $cmessage WHERE 'count' = '".$_POST['count2']."'  LIMIT 1;";
 echo "Kommentar zu Datensatz Nummer " . $_POST['count2'] . " gespeichert.";
 echo "<meta http-equiv=\"refresh\" content=\"0; URL=$PHP_SELF\">"; }
 ?>

Idee hinter dem ganzen:
Wenn der Comment-Button gedrückt wird soll aus der Datenbank der Text des zur Count-ID gehörigen Datensatzes ausgelesen und als Variable gespeichert werden. Danach soll in einen neue Variable ($cmessage) zuerst etwas HTML zum formatieren, danach die Varible mit der bisherigen Message und danach der Text, der im Comment-Textfeld steht gespeichert werden.
Der Inhalt der Variable $cmessage soll dann per UPDATE ins Datenfeld 'message' in der Datenbank eingelesen werden.

Klingt als Idee gut, produziert keine Fehler, das was es soll machts aber auch wieder mal nicht :(
Eigentlich macht es gar nichts, nur am Ende refreshen.
 
So, jetzt gönn ich mir mal nen neuen Post, sonst wirds übersichtlich.
Ich bin jetzt drauf gekommen das ich mir unnötig das Leben schwermach, wenn ich versuch für den Kommentar den Text zu editieren. Also hab ich ne neue Spalte in die Datenbank eingefügt, heißt 'kommentar' und ist direkt unterm Text.
Dazu mein Code:
PHP:
<?php //Kommentieren eines Datensatzes
 if($_POST['comment']) {
 $sqlkommando = "UPDATE `guestbook` SET `kommentar` = "$_POST['commentfield']" WHERE `count` = "$_POST['count2']"";
 $sqlanfrage = mysql_query($sqlkommando) or die("Error: " . mysql_error());
 echo "Kommentar zu Datensatz Nummer " . $_POST['count2'] . " gespeichert.";
 echo "<meta http-equiv=\"refresh\" content=\"0; URL=$PHP_SELF\">"; }
 ?>
Der Name des Textfeldes, wo der Kommentar reingeschrieben wird, ist "commentfield".

Das ganze produziert aber leider nen Fehler :(
Parse error: parse error, unexpected T_VARIABLE in /is/htdocs/41338/www.creativeplains.de/xandria/gb_admin.php on line 59

Line 59 ist diese Zeile:
PHP:
 $sqlkommando = "UPDATE `guestbook` SET `kommentar` = "$_POST['commentfield']" WHERE `count` = "$_POST['count2']"";
 
Zuletzt bearbeitet:
Hallo,
so müsste es nun gehen.
PHP:
<?php //Löschen eines Datensatzes 
  if($_POST['loeschen']){ 
	$sqlkommando = "DELETE FROM `guestbook` WHERE `count` = '".$_POST['$count2']."' LIMIT 1;";
	$sqlanfrage = mysql_query($sqlkommando) or die("Error: " . mysql_error());
	if (!empty($sqlanfrage)){
	  echo "<meta http-equiv=\"refresh\" content=\"0; URL=$PHP_SELF\">";
	} else {
	  echo "Die Daten konnten nicht gelöscht werden.";
	}
  }
?>

mfg
forsterm
 
Dankeschön!
Aber das löschen (inklusive aktualisieren) funktioniert jetzt schon, jetzt ist nur noch die Sache mit den Kommentaren ein Problem.
 
Zurück