Mysql Eingabe Problem

Hallo!

Ich versuche gerade in eine Mysql Tabelle bei bplaced etwas über ne php-Datei einzufügen.
Klappt leider nicht:

Sieht jemand nen Fehler?

db.php

<? $dbname="****"; $dbhost="localhost"; $dbuser="******"; $dbpass="******"; mysql_connect($dbhost,$dbuser,$dbpass); mysql_select_db($dbname); ?>

insert.php

[code]

<?PHP if ($button==" OK ") { include("db.php"); mysql_query("INSERT INTO cds(titel,interpret)VALUES('$titel','$interpret')"); mysql_close(); ?> Die Daten wurden eingetragen
neuer Eintrag
zur Übersicht <?PHP } else { ?>

<?PHP } ?> [/code]
  1. if ($button==" OK ") {

Wenn du register_globals auf On hast, stimmt das. Ich hoffe es jedoch nicht. Und glaube es auch nicht. Daher musst du jede Variable aus dem Formular über das POST Array beziehen. Hier also: $_POST[‚button‘]
2) <form method="post" action="<a href="insert.php">
Das will ich nie, NIE wieder sehen :ps: Hier hast du 2 Syntax-Fehler drin und das action-Atrribut falsch benutzt.

<form method="post" action="diesedatei.php">

Anmerkung) Ich hoffe du publizierst diesen Skript nicht für die Öffentlichkeit. Sonst ist deine Datenbank schneller futsch, als du sie erstellt hast. Hier noch Stichworte für spätere Mysql-Projekte:
mysql_real_escape_string()
SQL-Injection

Fang erstmal an aus if ($button==" OK ") {, das hier zu schreiben if ($_POST['button'] == " OK ") {.

Und dann kümmerst du dich noch um die Punkte die dir Mgier aufgeschrieben hat.

Bei PHP solltest du die Buttons immer mit $_POST abfragen.
Ich weis, es ist anders bei reinem HTML oder Java programmierung.

Danke schon mal für die Antoworten!
Doch leider geht immer noch nicht alles… die ID`s trägt es ein doch nicht “Namen und Interpreten”!
Ich denke, die beiden Variablen sind auch nicht richten eingetragen, also mit $_POST…

Könnte evtl. jemand von euch die Variablen richtig setzen?

Danke!

Hier mein aktueller Stand:

[code]

<?PHP if ($_POST['button'] == " OK ") { include("db.php"); mysql_query("INSERT INTO cds(titel,interpret)VALUES('$titel','$interpret')"); mysql_close(); ?> Die Daten wurden eingetragen
neuer Eintrag
zur Übersicht <?PHP } else { ?>

<?PHP } ?> [/code]

Nein, sind sie natürlich nicht.

Du hast bereits ein Beispiel bekommen;
ausserdem hast du $_POST als Stichwort, um dich zu informieren.

(Und als nächstes informiere dich dann über SQL Injections und was man dagegen tun muss.)

Das ist ein Element des Formulares(funktioniert):

Das auch(funktioniert nicht):

Merkst du den Unterschied? :slight_smile:

Ich habe jetzt die beiden anderen Variablen auch auf POST geändert:
Leider funktioniert es nicht…

Resultat:

[code]

<?PHP if ($_POST['button'] == " OK ") { include("db.php"); mysql_query("INSERT INTO cds(titel,interpret)VALUES($_POST['titel'],$_POST['interpret'])"); mysql_close(); ?> Die Daten wurden eingetragen
neuer Eintrag
zur Übersicht <?PHP } else { ?>

<?PHP } ?> [/code]

Füge mal

Nach der Query ein.
Ggf. auch

an den Anfang der Datei.

Dann kommt ein Syntaxerror:
Ich kann damit leider nicht viel anfangen :wink:

Wenn du das in Zeile 7 eingefügt hast, hast du es auch mitten in die query hinein gesetzt. Das ist nicht Sinn und Zweck der Sache. Nach der Query bitte :slight_smile:

So, habe ich jetzt gemacht…die Seite wird mir nicht richtig angezeigt und es kommt immer noch die Fehlermeldung!

Hat jemand eine Idee, wie ich das Problem lösen kann?

Lass dir die generierte Query zur Kontrolle ausgeben.

Und mache dich allgemein damit vertraut, wie man sinnvolle Fehlersuche betreibt.
peterkropff.de/tutorials/php_feh … fehler.htm