VonAllemEtwas
Hallo zusammen,
als PHP-Anfänger habe ich versucht, ein simples Programm zu schreiben, das Adressdaten in eine Datenbank schreibt. Wenn ich weiter komme, wird vielleicht mal was Gescheites draus.
Die Verbindung mit der Datenbank klappt soweit, aber beim Submit wird ein leerer Datensatz erzeugt.
error_reporting meldet Undefined index bei den Variablen.
Was mache ich falsch?
als PHP-Anfänger habe ich versucht, ein simples Programm zu schreiben, das Adressdaten in eine Datenbank schreibt. Wenn ich weiter komme, wird vielleicht mal was Gescheites draus.
Die Verbindung mit der Datenbank klappt soweit, aber beim Submit wird ein leerer Datensatz erzeugt.
error_reporting meldet Undefined index bei den Variablen.
Was mache ich falsch?
PHP:
<?php
error_reporting(E_ALL);
$success = false;
if(isset($_POST)) {
// Datenbankverbindung
$conn = mysqli_connect("localhost", "user", "passwort", "dbname");
// Test der Datenbankverbindung
if($conn === false) {
die("Connection Error: " . mysqli_connect_error());
}
/**
* Funktion sichert DB-Strings gegen Injection
*
* @param $str - String, der gesichert werden soll
* @param $conn - Verbindung zur DB
*/
function sqlEscapeString($str, $conn) {
$str = strip_tags($str);
$str = mysqli_real_escape_string($conn, $str);
return $str;
}
// Hier meldet error_reporting Undefined index
$fname = sqlEscapeString($_REQUEST['fname'], $conn);
$lname = sqlEscapeString($_REQUEST['lname'], $conn);
$street = sqlEscapeString($_REQUEST['street'], $conn);
$city = sqlEscapeString($_REQUEST['city'], $conn);
$phone = sqlEscapeString($_REQUEST['phone'], $conn);
$mobile = sqlEscapeString($_REQUEST['mobile'], $conn);
// SQL-Befehl
$sql = "INSERT INTO php_adressenverwaltung ( fname, lname, street, city, phone, mobile )
VALUES ('$fname', '$lname', '$street', '$city', '$phone', '$mobile')";
// Submit durchführen
if(mysqli_query($conn, $sql)) {
$success = "<h2 class='success'>Eintrag gespeichert!</h2>";
} else {
echo "Error: $sql " . mysqli_error($conn);
}
mysqli_close($conn);
}