Gästebuch Eintrag editieren

Z

Zirp

Hallo

kurzes Vorwort zu mir: Ich habe seit ca 4-6 kein PHP mehr programmiert und versuche gerade ein Script aus alten Zeiten (glaube PHP 4.X) heute zutage zum Laufen zu bringen. Bisher ging es ganz gut aber ich hänge gerade fest und komme nicht weiter... habe sogar schon Möglichkeiten durchprobiert die für mich keinen Sinn machen .... deshalb bitte ich um etwas Hilfe was vermutlich für einen ambitionierten aktiven PHP Programmierer lächerlich sein dürfte

editieren.php - Funktioniert - id wird auch übertragen von der Seite zuvor
PHP:
$anfrage = mysql_query("SELECT id, name, eintrag, www, email, icq FROM gbook WHERE id = '".$_GET['id']."'")or die("Eintrag nicht gefunden"); 

while ($ergebnis = mysql_fetch_array($anfrage)) { 

echo '
<form action="edit.php?id='.$_GET['id'].'" method="post">

<table width="100%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td width="20%"><font class="text1">ID:</font></td>
    <td width="80%"><font class="text1">'.$id.'</font></td>
  </tr>
  <tr> 
    <td><font class="text1">Name:</font></td>
    <td><font class="text1"><input type="text" name="name" value="'.$ergebnis[1].'"></font></td>
  </tr>
  <tr> 
    <td><font class="text1">Eintrag: </font></td>
    <td><font class="text1"><textarea name="eintrag" cols="40" rows="5">'.$ergebnis[2].'</textarea> </font></td>
  </tr>
  <tr> 
    <td><font class="text1">Homepage:</td>
    <td><font class="text1"><input type="text" name="www" value="'.$ergebnis[3].'"></font></td>
  </tr>
  <tr> 
    <td><font class="text1">E-Mail:</td>
    <td><font class="text1"><input type="text" name="email" value="'.$ergebnis[4].'"></font></td>
  </tr>
  <tr> 
    <td><font class="text1">ICQ:</td>
    <td><font class="text1"><input type="text" name="icq" value="'.$ergebnis[5].'"></font></td>
  </tr>
  <tr>
    <td>&nbsp;</td>
    <td><br><font class="text1"><input type="submit" value="Editieren"></font>
    </td>
  </tr>
</table>
</font>
</form>
';

}; 
?>

edit.php - Hier liegt der Fehler: Entweder kommt eine Fehler Meldung wie T_ENCAPSED_AND_WHITESPACE,... oder es werden "leere" Werte editiert - dies ist die alte Version

PHP:
<?php 

echo '<font class="text1">'.$id.'<br>'.$name.'<br>'.$eintrag.'<br>'.$www.'<br>'.$email.'<br>'.$icq.'<br></font>';

mysql_query("UPDATE gbook SET name = '$name', eintrag = '$eintrag', www = '$www', email = '$email', icq = '$icq' WHERE id = '$id'");

if(mysql_affected_rows() == 1) echo '<font class="text1">Daten wurden erfolgreich in der Datenbank upgedatet!</font>';
else echo '<font class="text1">Bitte versuchen sie es nochmal.</font>';

?>

Ich bedanke mich schonmal und hoffe jemand kann mir eine Lösung liefern und damit meine Augen öffnen

mfg

zirp
 
Zuletzt bearbeitet von einem Moderator:
Hi,

na, wenn das nicht nach register_globals riecht. Die sind bei einer vernünftigen Serverkonfiguration ausgeschaltet. ;)
Außerdem solltest Du Dich über SQL-Injections informieren. Und benutz' doch nächstesmal bitte PHP-Tags für's Highlighting.

LG
 
Zurück