Hallo PHP Profis,
Ich habe mir vor ner Woche ein PHP Buch "PHP 5.5 und MySQL 5.6" vom dpunkt Verlag zugelegt.
Darin gibt es ein Tutorial über Eingabefelder in Mysql speichern, das ganze aber immer aufgeteilt in 2 Dateien "anzeigen.php und bearbeiten.php"
Meine Intention war das ganze in einem Dokument darzustellen.
Und das ist mein Problem
Hier ist der Code zum auslesen der Mysql Datenbank, je nach dem wieviel Daten ich drin habe erstellt mir die Schleife die Eingabefelder hintereinander weg. Das funktioniert auch problemlos.
Jetzt möchte ich gerne die Texte ändern können und danach mit dem "submit" button speichern.
Hierbei bekomme ich aber keine Reaktion zurück und die Änderungen werden leider nicht gespeichert:
Könnt Ihr mich in die richtige Richtung bringen?
Ich habe mir vor ner Woche ein PHP Buch "PHP 5.5 und MySQL 5.6" vom dpunkt Verlag zugelegt.
Darin gibt es ein Tutorial über Eingabefelder in Mysql speichern, das ganze aber immer aufgeteilt in 2 Dateien "anzeigen.php und bearbeiten.php"
Meine Intention war das ganze in einem Dokument darzustellen.
Und das ist mein Problem
Hier ist der Code zum auslesen der Mysql Datenbank, je nach dem wieviel Daten ich drin habe erstellt mir die Schleife die Eingabefelder hintereinander weg. Das funktioniert auch problemlos.
PHP-Code:
<?php
require_once "db_daten_aktuell.php";
$stmt = $mysqli->prepare("SELECT id, titel, pfad, text FROM referenz");
$stmt->execute();
$stmt->bind_result($id, $titel, $pfad, $text);
while($stmt->fetch()) {
echo "<img src='https://xxx/$titel'>";
$name = basename($titel, '.jpg');
echo "<form method='post' action='home2.php'>";
echo "Titel <br />";
echo "<input type='text' name='titel' value='<$name>' /><br />";
echo "Pfad <br />";
echo "<input type='text' name='pfad' value='<$pfad>' /><br />";
echo "Text <br />";
echo "<textarea name='text' rows='5' cols='30'><$text></textarea><br />";
echo "<input type='hidden' name='id' value='<$id>' />";
echo "<input type='submit' name='speichern' />";
echo "</form>";
echo "<br />";
}
$stmt->close();
$mysqli->close();
?>
Hierbei bekomme ich aber keine Reaktion zurück und die Änderungen werden leider nicht gespeichert:
PHP-Code:
<?php
if (isset($_POST['speichern']))
{
$id = (int)$_POST["id"];
$stmt = $mysqli->prepare("UPDATE referenz
SET titel=?, pfad=?, text=? WHERE id=?");
$titel = $_POST["titel"];
$pfad = $_POST["pfad"];
$text = $_POST["text"];
$stmt->bind_param("sssi", $titel, $pfad, $text, $id);
$stmt->execute();
}
?>
Kommentar