Hallo zusammen,
bin leider etwas verzweifelt, fummel seit Stunden an einem Update-Formular. Die Daten werden korrekt aus der Datenbank gelesen und voreingetragen. Es wird allerdings nix geändert, wenn ich den Button drücke, sondern die Änderungen werden gelöscht und die ursprünglichen Daten werden wieder angezeigt. Fehler werden keine angezeigt, weder bei php noch bei mysql.
Wäre echt klasse, wenn jemand mal den Code überfliegen könnte, vielleicht findet jemand den Fehler.
Hier der php-Code:
Und hier das Formular:
Liebe Grüße
bin leider etwas verzweifelt, fummel seit Stunden an einem Update-Formular. Die Daten werden korrekt aus der Datenbank gelesen und voreingetragen. Es wird allerdings nix geändert, wenn ich den Button drücke, sondern die Änderungen werden gelöscht und die ursprünglichen Daten werden wieder angezeigt. Fehler werden keine angezeigt, weder bei php noch bei mysql.
Wäre echt klasse, wenn jemand mal den Code überfliegen könnte, vielleicht findet jemand den Fehler.
Hier der php-Code:
PHP:
<?php
error_reporting(E_ALL);
include ("vars.php");
if(!isset($_GET["buch_id"])) {
header("Location: index.php");
}
if (isset($_POST["buch_titel"]) &&
isset($_POST["buch_erscheinungsjahr"]) &&
isset($_POST["buch_autor"]) &&
isset($_POST["buch_isnb"]) &&
isset($_POST["buch_id"]) &&
isset($_POST["Button"]) &&
$_POST["Button"] == "Speichern") {
$conn = mysqli_connect($dbhost, $dbuser, $dbpass) or die(mysqli_error());
mysqli_select_db($conn, $dbname);
$buch_titel = mysqli_real_escape_string($conn, $_POST["buch_titel"]);
$buch_erscheinungsjahr = mysqli_real_escape_string($conn, $_POST["buch_erscheinungsjahr"]);
$buch_autor = mysqli_real_escape_string($conn, $_POST["buch_autor"]);
$buch_isbn = mysqli_real_escape_string($conn, $_POST["buch_isbn"]);
$sql = "UPDATE buch SET ";
$sql .= "buch_titel = '$buch_titel', ";
$sql .= "buch_erscheinungsjahr = '$buch_erscheinungsjahr', ";
$sql .= "buch_autor = '$buch_autor', ";
$sql .= "buch_isbn = '$buch_isbn' ";
$sql .= "WHERE buch_id = " . (int)$_POST["buch_id"];
mysqli_query($conn, $sql) or die(mysqli_error());
mysqli_close($conn);
header("Location: index.php");
}
/* DATEN IN FORMFELDER VOREINTRAGEN */
else {
$conn = mysqli_connect($dbhost, $dbuser, $dbpass) or die(mysql_error());
mysqli_select_db($conn, $dbname);
$ergebnis = mysqli_query(
$conn,
"SELECT * FROM buch WHERE buch_id = "
. (int)$_GET["buch_id"]) or die(mysqli_error());
if ($zeile = mysqli_fetch_array($ergebnis)) {
$buch_titel = htmlspecialchars($zeile["buch_titel"]);
$buch_erscheinungsjahr = htmlspecialchars($zeile["buch_erscheinungsjahr"]);
$buch_autor = htmlspecialchars($zeile["buch_autor"]);
$buch_isbn = htmlspecialchars($zeile["buch_isbn"]);
$buch_id = (int)$_GET["buch_id"];
}
mysqli_close($conn);
}
?>
Und hier das Formular:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form method="post">
Titel: <input type="text" name="buch_titel" value="<?php print($buch_titel); ?>" /><br />
Erscheinungsjahr: <input type="text" name="buch_erscheinungsjahr" value="<?php print($buch_erscheinungsjahr); ?>" /><br />
Autor: <input type="text" name="buch_autor" value="<?php print($buch_autor); ?>" /><br />
ISBN: <input type="text" name="buch_isbn" value="<?php print($buch_isbn); ?>" /><br />
<input type="hidden" name="buch_id" value="<?php print($buch_id); ?>" />
<input type="submit" name="Button" value="ändern" />
</form>
</body>
</html>
Liebe Grüße