dedlfix: Datenbank - Variable wird nicht eingetragen

Beitrag lesen

echo $begrüßung;

//Auslesen der Eingaben des Besuchers
$aufruf = $_POST["aufruf"];
$zugang = $_POST["zugang"];
$ziel = $_POST["ziel"];
$tabelle = $_POST["tabelle"];

Das ist völlig unnötig. Du kannst genauso gut die Elemente des $_POST-Arrays direkt verwenden, ohne sie in weitere Variablen umzukopieren. So verschleierst du nur die Herkunft und macht durch die zusätzlichen Variablen das Script nicht einfacher.

$name = mysql_real_escape_string($name);
$antwort = mysql_real_escape_string($antwort);
mysql_query("INSERT INTO Antworten (antwort, von, kommentar, datum, zeit) VALUES ("$ziel", "$name", "$antwort", "$datum", "$zeit")");

Wenn du dir das Statement ausgäbest und die schon erwähnte Reaktion auf die über den Rückgabewert von mysql_query() bekanntgegebene Fehlerzustände reagiertest, könntest du die Ursache einfacher finden. Zudem hast du nur den Namen und die Antwort SQL-String-gerecht behandelt. Zeit und Datum sind hier unkritisch, weil sie aus Funktionen mit definiertem Ergebnis erstellt worden sind. Aber das Ziel kommt aus einer Benutzereingabe und die hast du nicht behandelt. Wen du das Behandeln und Statement-Zusammensetzen in einer Anweisung schriebest, fiele diese Unterlassung vielleicht eher auf.

$sql = sprintf("INSERT INTO Antworten (antwort, von, kommentar, datum, zeit) VALUES ('%s', '%s', '%s', '%s', '%s')",
  $ziel, // stattdessen: mysql_real_escape_string($_POST["ziel"]),
  mysql_real_escape_string($_POST["name"]),
  mysql_real_escape_string($_POST["antwort"]),
  $datum,
  $zeit);

echo "$verabschiedung $name";