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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 119126
Url: https://administrator.de/contentid/119126
Ausgedruckt am: 22.11.2024 um 13:11 Uhr
2 Kommentare
Neuester Kommentar
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:
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, ...]);