Andreas Görtz: Formulardaten in Datenbank speichern...

Beitrag lesen

Hi,

ja ich kann in der Adresszeile oben sehen, dass die Werte übergeben werden!

ob die Daten in den dafür vorgesehenen Variablen stehen, kannst du i.d.R. nicht daran erkennen, dass sie in der Adresszeile stehen (Stichwort register_globals, z.B.: http://www.dclp-faq.de/q/q-formular-register-globals.html).

mysql_query("INSERT INTO news titel='$titel', text='$text', aktiv='$aktiv', datum='$datum'");

^ Da fehlt ein VALUES und IMHO eine '('

Der Übersichtlichkeit (und der Fehlervorbeugung) halber solltest du auch immmer die Felder angeben, in denen du Werte speichern möchtest, also z.B.:

INSERT INTO
    news (titel,text,aktiv,datum)
VALUES
    ('$titel','$text','$aktiv','$datum')

Um zu prüfen, ob in den Variablen auch die korrekten Werte stehen, kannst du dir das select-Statement mal ausgeben lassen. Das kannst du vor dem mysql_query()-Aufruf machen und das Script mittels exit beenden. Ich speicher das Statement allerdings gerne in einer Variablen und gebe diese im Fehlerfall aus, also z.B.:

$sql = "INSERT INTO
            news (titel,text,aktiv,datum)
        VALUES
           ('$titel','$text','$aktiv','$datum')";
mysql_query($sql, $dbConn)
    or die('Fehler: ' . mysql_error() . '<br />SQL: ' . $sql);

oder so ähnlich. $dbConn soll übrigens die DB-Verbindungskennung sein, die anzugeben auch kein Fehler sein kann.

Gruß,
Andreas.