Jörg Reinholz: Daten werden in der DB nicht aktualisiert

Beitrag lesen

if (isset($_POST['sent']) && $_POST['sent']=='1') {
                $sql = "UPDATE
                            ".$dbPrix."rules
                        SET
                            title = '". $_POST['title'] ."',
                            text = '". $_POST['text'] ."'
                        WHERE
                            id = '". $row->id ."'";
                mysql_query($sql)
                    or die("<b>Error:</b> ". mysql_error());

1.) SICHERHEITSWARNUNG

Du willst $_POST['title'] und $_POST['text'] mit mysql_real_escape_string() behandeln. Also:

SET
      title = '". mysql_real_escape_string($_POST['title']) ."',
      text = '". mysql_real_escape_string( $_POST['text']) ."'

Sonst ist Deine Anwendung so offen wie ein Scheunentor.

2.)

Du willst Debugging betreiben und vor

                 mysql_query($sql)  
                    or die("<b>Error:</b> ". mysql_error());

mit

echo $sql.'<br>'

eine debug-Ausgabe erzwingen und danach mit mysql-affected-rows() ebenfalls zu Debug-Zwecken ausgeben, wie viele Zeilen betroffen waren.

3.)
dabei findest Du gleich heraus, ob überhaupt bei

 case "edit":  
 ...  
 if (isset($_POST['sent']) && $_POST['sent']=='1') {

richtig verzweigt wurde.

Jörg Reinholz