Probleme Gbook administration

dandre

Mitglied
Hallo,
habe 2 Problem mit der Kommentar Funktion im gbook Admin Bereich.
1.) er löscht die Nachricht weg also is klar wenn da steht update aba geht dat auch anders oda einfach bei update daten aus message hohlen
2:) er trägt beim oberen 1. Eintrag nur Kommentar... ein aber nicht den Inhalt aus dem Textfeld

Code:
<html>
<head>
<title>Mein Gästebuch - Administration</title>
</head>
<body>
<h2>Mein Gästebuch - Administration</h2>
<?php



   $DatabasePointer = mysql_connect("mde", "U761", "a6");
   mysql_select_db("3", $DatabasePointer);

   if($_REQUEST['Loeschen'] && $_REQUEST['id'])
   {
      mysql_query("DELETE FROM guestbook WHERE id = '".$_REQUEST['id']."'", $DatabasePointer);
   }
$kommentar = addslashes($_POST['kommentar']);
if($_REQUEST['kommentar'] && $_REQUEST['id'])
   {
      mysql_query("UPDATE guestbook Set message = '<br><i>Kommentar von Yinka:</i><br>'$kommentar' WHERE id = '".$_REQUEST['id']."'", $DatabasePointer);
   }


   $ResultPointer = mysql_query("SELECT * FROM guestbook ORDER BY id ASC", $DatabasePointer);
?>

<table border="0">
<?php
   for($i = 0; $i < mysql_num_rows($ResultPointer); $i++)
   {
      $Gaestebuch = mysql_fetch_object($ResultPointer);
?>
 <tr>
  <td><b>#<?php echo$i+1; ?>: <?php echo$Gaestebuch->name; ?></b></td>
 </tr>
 <tr>
  <td><?php echo nl2br($Gaestebuch->message); ?></td>
 </tr>
 <tr>

 </tr>
 <tr>
  <td><a href="<?php echo$_SERVER['PHP_SELF']; ?>?Send=1&Passwort=<?php echo$_REQUEST['Passwort']; ?>&Loeschen=1&id=<?php echo$Gaestebuch->id; ?>">Eintrag löschen</a></td>
<td>
</td>
<td>
<input type="text" name="kommentar" value="Kommentar" size="120"> <br>
                                                                  
</td>
  <td>




<a href="<?php echo$_SERVER['PHP_SELF']; ?>?Send=1&Passwort1=<?php echo$_REQUEST['Passwort']; ?>&kommentar=1&id=<?php echo$Gaestebuch->id; ?>">Eintrag kommentieren</a></td>


 </tr>
 <tr>
  <td><hr></td>
 </tr>
<?php
   }
?>
</table>

</body>
</html>

Danke für das Lesen dieses themas.

PS: gehostet unter http://hce.lima-city.de/yinka/gb/gaestebuch-administration.php
 
Hi @dandre!

Ein Update des Inhaltes eines Datenbanktabellenfeldes, ist das ersetzen des Inhaltes und nicht das anhängen.

Also brauchst du dir nur aus dem Feld den Inhalt raus holen und vor dem Kommentar bei dem Update wieder einfügen.

Somit geht der Inhalt nicht verloren und der Kommentar wird einfach nur angehängt.

Gruß Matze202.

PS.: Tu dir bitte noch den gefallen und arbeite in diesem Fall nicht mit REQUEST sondern lieber mit POST, weil du damit festlegst, dass der Eintrag aus einem Formular und nicht aus einer Adresse kommen soll. Solltest du mal irgendwas aus der Adresse brauchen, so nimm auch lieber GET als REQUEST, da er dann auch keine Inhalte aus einem Formular nimmt.
 
Okay also dat wusste ich ja und habe ich glaube ich auch geschrieben aber war schreibt der den Kommentar aus dem textfeld net in die Tabelle

habe es in Get geändert aba kann dat net real
Code:
<html>
<head>
<title>Mein Gästebuch - Administration</title>
</head>
<body>
<h2>Mein Gästebuch - Administration</h2>
<?php



   $DatabasePointer = mysql_connect("mysq", "USE", "ad");
   mysql_select_db("db_3", $DatabasePointer);

   if($_GET['Loeschen'] && $_GET['id'])
   {
      mysql_query("DELETE FROM guestbook WHERE id = '".$_GET['id']."'", $DatabasePointer);
   }
if($_GET['kommentar'] && $_GET['id'])
   {
      mysql_query("UPDATE guestbook Set message = '<br><i>Kommentar von Yinka:</i><br>'$autor' WHERE id = '".$_GET['id']."'", $DatabasePointer);
   }


   $ResultPointer = mysql_query("SELECT * FROM guestbook ORDER BY id ASC", $DatabasePointer);
?>

<table border="0">
<?php
   for($i = 0; $i < mysql_num_rows($ResultPointer); $i++)
   {
      $Gaestebuch = mysql_fetch_object($ResultPointer);
?>
 <tr>
  <td><b>#<?php echo$i+1; ?>: <?php echo$Gaestebuch->name; ?></b></td>
 </tr>
 <tr>
  <td><?php echo nl2br($Gaestebuch->message); ?></td>
 </tr>
 <tr>

 </tr>
 <tr>
  <td><a href="<?php echo$_SERVER['PHP_SELF']; ?>?Send=1&Passwort=<?php echo$_GET['Passwort']; ?>&Loeschen=1&id=<?php echo$Gaestebuch->id; ?>">Eintrag löschen</a></td>
<td>
</td>
<td>
<input type="text" name="autor" value="Kommentar" size="120"> <br>
                                                                  
</td>
  <td>




<a href="<?php echo$_SERVER['PHP_SELF']; ?>?Send=1&Passwort1=<?php echo$_Get['Passwort']; ?>&kommentar=1&id=<?php echo$Gaestebuch->id; ?>">Eintrag kommentieren</a></td>


 </tr>
 <tr>
  <td><hr></td>
 </tr>
<?php
   }
?>
</table>

</body>
</html>
Aber irgend wie geht dat net mit dem ändern also er macht nichts.
gehostet: http://hce.lima-city.de/yinka/gb/neu.php
 
Zuletzt bearbeitet:
Versuchs mal statt:

mysql_query("UPDATE guestbook Set message = '<br><i>Kommentar von Yinka:</i><br>'$kommentar' WHERE id = '".$_REQUEST['id']."'", $DatabasePointer);

mit:

PHP:
      mysql_query("UPDATE guestbook Set message = '<br><i>Kommentar von Yinka:</i><br>".mysql_real_escape_string($_POST['kommentar'])."' WHERE id = '".mysql_real_escape_string($_GET['id'])."'", $DatabasePointer);

Das mysql_real_escape_string() habe ich wegen mehr Sicherheit mit rein gebastelt und dies solltest du bei MYSQL-GET oder POST Nutzung verwenden.

Gruß Matze202.
 
Zurück