frankenchris
Goto Top

Formulardaten mittels PHP in MySQL einfügen

Hallo,
ich bin gerade dabei eine kleine IP Adressverwaltung aufzubauen. Das soll mittels MySQL und PHP geschehen.

Ich kann bereits aus der Datenbank Daten auslesen und filtern mit nem Dropdownmenü.
Jetzt möchte ich allerdings Daten in die Datenbank einfügen, in diesem Fall IP Adressen.
Leider werden die Daten nicht in die DB geschrieben, habe hier auch schon gesucht und gegooglet, bin aber nicht so recht weitergekommen.

Bisher habe ich folgenden Code (Ich fange beim Formularfeld an:

<?php


echo "<form name='einfuegen' method='post' action='$PHP_SELF'>";
echo "<table border='0'>";
echo "<tr><td>Oktett1:</td><td><input type='text' name='oktett1' value='172' maxlength='3'></td></tr>";
echo "<tr><td>Oktett2:</td><td><input type='text' name='oktett2' maxlength='3'></td></tr>";
echo "<tr><td>Oktett3:</td><td><input type='text' name='oktett3' maxlength='3'></td></tr>";
echo "<tr><td>Oktett4:</td><td><input type='text' name='oktett4' maxlength='3'></td></tr>";
echo "<tr><td>Bezeichnung:</td><td><input type='text' name='bezeichnung'></td></tr>";
echo "</table><p>";
echo "<input type='submit' name='submit' value='Einfügen'>";
echo "</form><p>";

if (isset($_POST[submit]))
{
reset($_POST);
foreach($_POST as $key=>$element)
{
${"select_$key"} = $element;
}
echo $_POST['oktett1'].".".$_POST['oktett2'].".".$_POST['oktett3'].".".$_POST['oktett4']." ".$_POST['bezeichnung'];
$idIP = $_POST['oktett1'].".".$_POST['oktett2'].".".$_POST['oktett3'].".".$_POST['oktett4'];
$oktett1 = $_POST['oktett1'];
$oktett2 = $_POST['oktett2'];
$oktett3 = $_POST['oktett3'];
$oktett4 = $_POST['oktett4'];
$bezeichnung = $_POST['bezeichnung'];
echo $idIP."<p>";
Ausgabe der IP
$sql_insert = "INSERT INTO ip-addr VALUES ('$idIP','$oktett1','$oktett2','$oktett3','$oktett4','$bezeichnung')";
if ($db->query($sql_insert) )
{
echo "Datensatz erfolgreich hinzugefügt!";
}
else
{
echo "Datensatz konnte nicht hinzugefügt werden!";
}


}


?>

Ich habe also ein Formularfel mit 5 Eingabefelder (4 für die Oktetts der IP und 1 für die Bezeichnung).
Die idIP (Primärschlüssel in der Tabelle ip-addr) lasse ich mir mit einem echo anzeigen, die idIP stimmt auch.
Nur ich weiß nicht wo der Fehler liegt weshalb die Daten nicht in die DB übernommen werden.

Schonmal Danke an die schreibenden.

Gruß Chris

Content-ID: 119126

Url: https://administrator.de/contentid/119126

Ausgedruckt am: 22.11.2024 um 13:11 Uhr

nxclass
nxclass 26.06.2009 um 11:16:48 Uhr
Goto Top
Du solltest mal die Fehlermeldung deiner $db Klasse ausgeben und angeben - ebenso deine DB Struktur.

ggf. würde ich den Tabellen Namen in ` setzen - das minus könnte verwirren.
ausserdem solltest Du erstmal den Standard Syntax für INSERT nutzen:
INSERT INTO `[tab_name]` ([col_name, ...]) VALUES ([col_value, ...]);
frankenchris
frankenchris 26.06.2009 um 11:43:22 Uhr
Goto Top
Danke für die schnelle Hilfe.

Hätte den Tabellennamen einfach in ` setzen sollen (`ip-addr`).

Das meine Syntax nicht der Standard ist, weiß ich. Aber da ich die Werte in der richtigen Reihenfolge einfüge brauche ich die Struktur nicht zwingend.

Danke nochmal