Editieren eines Eintrages

helga

Mitglied
Hallo Zusammen,

ich hab so eine Art Gästebuch mit MYSQL und PHP gemacht. Der Administrator soll die Möglichkeit haben Einträge zu Löschen und zu editieren. Ich hab jetzt folgendes Problem, dass die Einträge wenn diese geändert werden nicht mehr in die Datenbank geschrieben werden.

Hier der Quellcode

PHP:
<form name="form1" method="post" action="edit.php">
<?PHP
if(isset($_POST['submit'])) 
{
     $Überschrift = $_POST['Überschrift'];
     $Text =($_POST['Text']);
     

                        
     mysql_query("UPDATE mydb SET Überschrift='$Überschrift, Text='$Text WHERE ID ='$EditID'");
     echo '<p align="center">Der Eintrag wurde erfolgreich geändert!<br><br><a href="editieren.php">Nächster Eintrag ändern</a></p>';

  }
		  
 
 
 
 $query = mysql_query("SELECT  Überschrift, Text FROM mydb WHERE ID= '$EditID'") or print('Kann den Eintrag nicht editieren!');
  while($line = mysql_fetch_object($query)) {
  

  
  echo '<p><font size="2" face="Arial, Helvetica, sans-serif">&Uuml;berschrift:</font><br>';
  echo '<input type="text" name="textfield" size="60" value="'.$line->Überschrift.'">';
  echo '</p>';
  echo '<p> <font size="2" face="Arial, Helvetica, sans-serif">Text:</font><br>';
  echo '<textarea name="texfield" cols="60" rows="5" >'.$line->Text.'</textarea>';
  echo '</p>';
  echo '<p><input type="submit" name="Submit" value="Eintrag editieren">';
  echo '</p>';
 
}




?>
                  </form>

was ist falsch dran?
 
Tja, ein
mysql_query(...) or die(mysql_error())
hätte dich da sehr viel weiter gebracht:
PHP:
mysql_query("UPDATE mydb SET Überschrift='$Überschrift, Text='$Text WHERE ID ='$EditID'");
Da fehlen 2 Singlequotes:
Code:
mysql_query("UPDATE mydb SET Überschrift='$Überschrift', Text='$Text' WHERE ID ='$EditID'");
 
danke! Aber das ändert auch nichts, die Daten gehen beim Klick auf den Edidiren Button ins Nirvana, und ich bekomm eine leere Seite mit einem blauen Rahmen gezeigt. Gänzlich ohne Fehlermeldung! So wie zuvor auch
 
helga hat gesagt.:
PHP:
<form name="form1" method="post" action="edit.php">
<?PHP
if(isset($_POST['submit'])) 
{
     $Überschrift = $_POST['Überschrift'];
     $Text =($_POST['Text']);
     

                        
     mysql_query("UPDATE mydb SET Überschrift='$Überschrift, Text='$Text WHERE ID ='$EditID'");
     echo '<p align="center">Der Eintrag wurde erfolgreich geändert!<br><br><a href="editieren.php">Nächster Eintrag ändern</a></p>';

  }
		  
 
 
 
 $query = mysql_query("SELECT  Überschrift, Text FROM mydb WHERE ID= '$EditID'") or print('Kann den Eintrag nicht editieren!');
  while($line = mysql_fetch_object($query)) {
  
**

ich denke mal, das Problem sind die Umlaute in dem Query ..anstelle von Überschrift solltest Du 'Ue' benutzen, oder das ganze im Query mit REPLACE aendern.. wie auch immer, dass ist Deine Sache ;)

Edit:

hab da doch'n paar fehler gefunden

in deinem query fehlen noch Hochkomma's
PHP:
mysql_query("UPDATE mydb SET Überschrift='$Überschrift', Text='$Text' WHERE ID ='$EditID'");

darum lief es nicht..
 

Neue Beiträge

Zurück