Daten werden nicht übertragen - woran kann es liegen?

... komplette Frage anzeigen

5 Antworten

Die Verwendung von Array-Werten innerhalb eines Strings ist sehr problematisch.

Verwende statt des Ausschnittes:

VALUES ('$_POST[text1]',

folgendes:

VALUES ('" . $_POST['text1'] . "',

und passe das ganze entsprechend an.

Dein Code ist prinzipiell aber sehr unschön und zudem auch noch unsicher. Dein $_POST - Array wurde in keinster Weise gefiltert trotz der gesamten

mysqli_real_escape_string

Aufrufe. Diese Funktion liefert den sicheren Wert nämlich nur zurück und ändert $_POST nicht.

Prinzipiell sollte man sowieso auf die Verwendung der $_POST - Variablen verzichten, d.h. zu Beginn des Skriptes speicherst du die notwendigen Werte SICHER in einer neuen Variable.

Bspw. durch folgenden Code:

$saveInputs = array();
foreach ($_POST as $key => $value) {
$saveInputs[$key] = mysqli_real_escape_string($link, $value);
}

Dann ist hinterher auch klar durch die Verwendung des passenden Variablennamens, dass die Nutzereingaben schon bereinigt wurden.

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von IaskQuestion23
06.11.2015, 09:30

okay danke für deine antwort

0

Ob die Daten ankommen kannst Du mit echo überprüfen.

$sql = "INSERT INTO pistache ('Test1', 'Test2', 'Test3', 'Test4', 'Test5', 'Test6') VALUES ('$_POST[text1]', '$_POST[text2]', '$_POST[text3]', '$_POST[text4]', '$_POST[text5]', '$_POST[text6]')";

Hier hast Du die Tabellenfelder einmal "Test" genannt und dann wieder "Text".
Was kommt denn zurück? Dass es geklappt hat und in der Datenbank ist nichts angekommen?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von IaskQuestion23
06.11.2015, 08:57

Es kommt eine leere Seite in deren URL der Name des PHP Dokuments steht und dann steht trotzdem nichts in der Datenbank. 

0
Kommentar von geri3d
06.11.2015, 08:57

In der Abfrage sind auch noch andere Fehler,

$_POST[text4] müsste
$_POST["text4"] sein, dazu musst Du die " mit \ escapen
1

Hallo zusammen. Erstmal danke für eure Antworten. Diese haben mir sehr weitergeholfen. Zwar hab ich jetzt ein anderes Problem doch eure Antworten haben mir geholfen, mein jetziges Problem zu lösen.

Vielen Dank, und wenn ihr wollt, könnt ihr mir bei meiner nächsten Frage helfen. :)

Antwort bewerten Vielen Dank für Deine Bewertung

Schwierig aber da keiner antwortet sag ich einfach mal teste deinen php Code hier: http://phptester.net/ Ich kenne mich nicht damit aus auch wenn ich es interessant finde naja vielleicht hilft dass ja

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?