ich bastel heute schon sehr (zu) lange an einem Formular, mit dem Werte/Texte in eine MySql DB eingetragen werden sollen. Nur irgendwie kommt der Inhalt der TextBoxen nicht bei der DB an.
Die DB Verbindung müsste eigentlich funktioniert weil erstens keine Meldung kommt und zweitens ich noch eine Seite habe, wo die Einträge aus der DB gelesen und angezeigt werden -> werden sie auch.
Also muss es an dem “eintrag” Code liegen. Könntet ihr euch den desswegen vieleicht mal anschauen und mir weiterhelfen?
[code]<!-ErgebnisEintragen.php->
<?PHP
if ($button=="OK") {
include("DB.php");
mysql_query("INSERT INTO ergebnisse(gegner,spiel,mod,ergebnis,punkte)VALUES('$gegner','$spiel','$mod','$ergebnis','$punkte')");
mysql_close();
?>
Liegt es also daran, dass register_globals auf OFF gestellt ist? Ich konnte in dem Thema dort jetzt nicht auf die Schnelle die Lösung für mein Problem finden, welchen Code ich bei mir jetzt WIE ändern muss. Vieleicht kann es mir ja jemand nochmal kurz sagen oder ich muss das ganze Thema eben später nochmal komplett durchlesen.
http://php.net/manual/de/security.globals.php (1. treffer bei DER KRAKE)
kurz zusammengefasst:
alle variablen die über get/post hereinkommen sollen, müssen selbst in eine variable gespeichert werden. (infos zu diesem thema gibts im inet haufenweise)
also musst du soetwas in deinen code einfügen.
Hab das mal überall gemacht und jetzt wird schonmal das IF-Ereignis ausgelöst (“Erfolgreich gesendet…”). Aber die Daten sind nicht in der DB eingetragen worden -.-
Hab das Problem endlich gefunden!
Es lag nich an meinem Code sondern an MySQL oder PHP oder was weis ich.
Auf jeden Fall kam irgendwas nicht mit dem Text “mod” klar.
hab jetzt alle “mod” in “modus” umgeschriebn und siehe da, es funtzt!
Bei solchen Sachen lohnt es sich die mysql_error() Funktion zu nutzen.
Oder was ich auch oft mache ist einfach die Query nehmen, die Variablen mit irgendwelchen Werten ersetzen und ausführen - da sieht man am besten warum es nicht klappt.
Und das wäre eine Möglichkeit gegen Mysql-Injections: filter_input()