ezelda: Formulardaten in Datenbank speichern...

Hallo,

ich hab ein kleines Problem und zwar speichert mein Formular die eingetragenen Werte nicht in der Datenbank!

Hier ein Stück Code:

<form name="form" method="POST" action="news.php">
        <tr>
             <td><b>Titel:</b></td>
       <td><img src="../images/pixel.gif" width="10" height="1" alt="" border="0"></td>
       <td><input type="text" name="titel"></td>
           </tr>

//usw.usf.......

<?
 $datum = date("Y-m-d");
        mysql_query("INSERT INTO news titel='$titel', text='$text', aktiv='$aktiv', datum='$datum'");

?>

weiß wer was falsch sein könnte??
Vielen Dank schonmal!!

  1. hi,

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

    • kommen die daten hier überhaupt an? (haben $titel, $text etc. die erwarteten inhalte?)
    • was sagt mysql_error()?

    gruss,
    wahsaga

    1. Hallo,

      ja ich kann in der Adresszeile oben sehen, dass die Werte übergeben werden!
      Es gibt keinen mysql_error()! Das ist ja das kuriose!!!
      Die Inhalte werden einfach nicht in die Datenbank gespeichert!!!

      1. Hallo,

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

        Wenn aber in der php.ini "register_globals" ausgeschaltet ist, kannst Du die übergebenen Werten nur über das Array $_GET bzw. $_POST abrufen. Mal davon abgesehen, das man es eh nur so machen sollte.

        Gib doch mal die Variablenwerte mit "echo $variable;" aus. Dann wirst Du schon sehen, ob diese wirklich existieren.

        Gruß

        Henk

        1. Hallo!zu Formularen hätte ich eine Frage. Ich bin Grafikdesignerin und im Programmierungirrgarten nicht lang genug.
          Ich habe zwei HTML Seiten, eine index.html mit einem Bild, Textinfo zum Bild und Schaltfläche "bestellen", die andere ist Formular. Beim Anklick wird Textinfo ins Formular zugeschickt "Ihre Bestellungen", aber das kann ich sehen nur, wenn ich Formular aufrufe, da sind meine ganze Bestellungen. Geht es überhaupt? Drei Nächte ohne Schlaf, Hilfe!

          1. hi,

            Drei Nächte ohne Schlaf, Hilfe!

            dann hole diesen schlaf bitte erst einmal nach, lies anschliessend die </faq/> - und stelle dann deine frage erneut.

            das du dich hier einfach so in diesem thread, in dem es um ein anderes problem geht, reinhängst, finde ich nicht angebracht.

            darüber hinaus ist deine fragestellung absolut unverständlich - versuche es mal mit einer ausführlicheren problembeschreibung und etwas mehr/sinnvoller eingesetzter interpunktion. und vergiss nicht, vorher den fehlenden schlaf nachzuholen ...

            gruss,
            wahsaga

            1. Hallo nochmal an alle,

              vielen vielen Dank schonmal für die liebe Hilfe!
              Ich habe die Variablen mal einfach mit echo ausgegeben und sie existieren, das steht schonmal ausser Frage!
              Allerdings weiß ich immer noch nicht, warum die eingetragenen Werte nicht in dei DB gespeichert werden!
              Das Schlimme ist ja, dass es schonmal funktioniert hat!!! Ich kann mich aber auch nicht erinnern, irgendwas geändert zu haben...
              seltsam seltsam

            2. Schuldigung, ich bin am Verzweifeln. Völig vergessen, es geht um eine Werbe-CD. Ich bin im Forum neu, ausserdem nicht deutschsprachig - Fehler sind fast nicht zu vermeiden.

          2. Hallo,

            Drei Nächte ohne Schlaf, Hilfe!

            Als Einschlafhilfe sei Dir geraten, Dir jemanden zu suchen, der/die was von Programmierung versteht. Anscheinend hast Du da ein Shopsystem am laufen. Weisst Du überhaupt, in welcher Programmiersprache das Ganze verfaßt ist? Kennst Du den Unterschied zwischen clientseitiger und serverseitiger Programmierung? Vielleicht unterschätze ich ja Deine Fähigkeiten, ich habe allerdings das Gefühl, das Du da vor einer Aufgabe sitzt, die Du alleine mit herumprobieren nicht gelöst bekommen wirst.

            Ach ja,
            beim nächsten Mal bitte einen neuen Thread eröffnen, wenn es um ein neues Thema geht.

            Viel Erfolg!

            Henk

      2. 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.