Problem beim einfügen in SQL Datenbank

Hi Leute,
ich habe ein kleines Problem bei einer ganz einfachen Eingabeform.
Die Datenbank wird angesprochen und es wird auch ein neuer Eintrag erzeugt, doch leider enthält dieser keine Daten. Daher gibt es wohl irgendein Problem mit der Übergabe der Werte zwischen der einen und anderen Datei?

Eingabeform:

Position

Titel1

Titel2

Inhalt

Und die insert.php
require("…/sys/config.php");

mysql_connect($dbhost, $dbuname, $dbpass);

mysql($dbname,„INSERT INTO jrtw_artikel
(pos, intitel, titel, inhalt)
VALUES
(’$pos’, ‚$intitel‘, ‚$titel‘, ‚$inhalt‘)“);

Wenn ich in der insert.php bei Values feste Werte (z.B. TEST) angebe, werden diese richtig in die Datenbank geschrieben…

Findet jemand den Fehler?

Gruß,
Sven

Hallo Sven,

ich denke mal, dass in der PHP-INI Register-Globals auf off gesetzt ist, wie es aus Sicherheitsgründen ja auch sein sollte. Also musst du die Werte mit $_POST[NAME] holen, z.B. $pos = $_POST[pos]; Dann müsste das klappen!

Ich würde auch nicht direkt in die DB schreiben sondern die Eingaben erst prüfen, da kann dir sonst jemand ganz leicht so einiges kaputt machen - bevor du auch nur mal piep sagst, ist z.B. deine Table/DB gelöscht.

Gruß, Robi

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Dankeschön!

So hat es sofort geklappt!

Ich habe noch keine wirkliche Erfahrung mit SQL und PHP und bin ganz glücklich es soweit schon zum laufen bekommen zu haben :smile:

Wie sollte ich am besten eine Überprüfung einbauen,
und was sollte diese genau überprüfen?

Gruß, Sven

Hallo Sven,

ich denke mal, dass in der PHP-INI Register-Globals auf off
gesetzt ist, wie es aus Sicherheitsgründen ja auch sein
sollte. Also musst du die Werte mit $_POST[NAME] holen, z.B.
$pos = $_POST[pos]; Dann müsste das klappen!

Ich würde auch nicht direkt in die DB schreiben sondern die
Eingaben erst prüfen, da kann dir sonst jemand ganz leicht so
einiges kaputt machen - bevor du auch nur mal piep sagst, ist
z.B. deine Table/DB gelöscht.

Gruß, Robi

Dankeschön!

So hat es sofort geklappt!

Ich habe noch keine wirkliche Erfahrung mit SQL und PHP und
bin ganz glücklich es soweit schon zum laufen bekommen zu
haben :smile:

Wie sollte ich am besten eine Überprüfung einbauen,
und was sollte diese genau überprüfen?

Gruß, Sven

Hallo Sven,

da gibt es verschiedene Möglichkeiten und Kombinationen davon. Generell solltest du die übergebenen Eingaben nicht direkt in die DB schreiben, sondern diese erst in ein Feld übertragen und dabei alles eliminieren, was nicht reingehört. Beispiel: in einem Namensfeld haben normalerweise HTML-Tags und/oder die meisten Sonderzeichen nichts zu suchen, die Länge der Eingabedaten kann begrenzt werden, es dürfen nur bestimmte Daten übergeben werden (ich hatte selbst schon mehrere - vergebliche - Versuche, auch über ein SELECT-Feld eine meiner DB’s anzugreifen!).

Ich schicke dir einfach mal so ein Prüfscript als Mail-Anhang, dann kannst du ja mal sehen, wie sowas gemacht werden kann. Gibt sicher auch andere Lösungen, aber du kannst ja selbst weiter probieren.

Gruß

Robi