Guten Morgen zusammen,
ich habe eine Frage und ich sitze tatsächlich schon sehr lange an dem Problem und hoffe dass jemand mir helfen kann weil ich am verzweifeln bin. Kurz und Knapp ich baue ein Reservierungstool für ein Restaurant und bin noch relativer Anfänger (gerade mit dem PDO) und nun möchte ich gerne das Bearbeiten einer Reservierung in den Administrationsbereich einfügen. Also in der Liste klickt der Kunde auf Bearbeiten, die ID wird mit GET übergeben und der Datensatz aufgerufen. Soweit ja alles perfekt. Sobald ich aber den geänderten Datensatz speichern möchte, klappt nichts. Es wird nichts übermittelt. Und da ich natürlich schon lange dran hänge weiß ich, dass sobald ich bei dem UPDATE Befehl die Bedingung mit WHERE und der Variable ID entferne, der Datensatz erfolgreich gesichert wird. Also bedeutet das doch eigentlich, dass er die ID nicht abrufen kann, richtig ? Hier der Code:
Ich hoffe mir kann jemand weiterhelfen, vor allem auch wie man mit PDO vernünftig debuggen kann damit ich weiß wo SQL oder PHP meckert..
ich habe eine Frage und ich sitze tatsächlich schon sehr lange an dem Problem und hoffe dass jemand mir helfen kann weil ich am verzweifeln bin. Kurz und Knapp ich baue ein Reservierungstool für ein Restaurant und bin noch relativer Anfänger (gerade mit dem PDO) und nun möchte ich gerne das Bearbeiten einer Reservierung in den Administrationsbereich einfügen. Also in der Liste klickt der Kunde auf Bearbeiten, die ID wird mit GET übergeben und der Datensatz aufgerufen. Soweit ja alles perfekt. Sobald ich aber den geänderten Datensatz speichern möchte, klappt nichts. Es wird nichts übermittelt. Und da ich natürlich schon lange dran hänge weiß ich, dass sobald ich bei dem UPDATE Befehl die Bedingung mit WHERE und der Variable ID entferne, der Datensatz erfolgreich gesichert wird. Also bedeutet das doch eigentlich, dass er die ID nicht abrufen kann, richtig ? Hier der Code:
PHP-Code:
<?php
session_start();
require_once("inc/config.inc.php");
require_once("inc/functions.inc.php");
//Überprüfe, dass der User eingeloggt ist
$user = check_user();
include("templates/header.inc.php");
?>
<div class="container main-container registration-form">
<h1>Reservierung bearbeiten</h1>
<p>Bearbeite jetzt eine Reservierung</p>
<?php
if(isset($_GET['id'])) {
$id = $_GET['id'];
$statement = $pdo->query("SELECT * FROM reservation WHERE id = $id");
while ($row = $statement->fetch()) {
echo "<div class='col-md-12 reservation-form'>
<form class='form-custom' action='?edit=success?$id' method='post'>
<div class='form-group'>
<label for='inputID'>ID</label>
<input type='text' class='form-control' id='inputID' name='name' value=".$row["id"]." >
</div>
<div class='form-group'>
<label for='inputName'>Name</label>
<input type='text' class='form-control' id='inputName' name='name' value=".$row["name"]." >
</div>
<div class='form-group'>
<label for='inputEmail'>E-Mail Adresse</label>
<input type='text' class='form-control' id='email' name='email' value=".$row["email"].">
</div>
<div class='form-group'>
<label for='inputTel'>Telefonnummer</label>
<input type='text' class='form-control' id='tel' name='tel' value=".$row["tel"].">
</div>
<div class='form-group'>
<label for='inputTime'>Uhrzeit</label>
<input type='text' class='form-control' id='time' name='time' value=".$row["time"].">
</div>
<div class='form-group'>
<label for='inputResDate'>Reervierungsdatum</label>
<input type='text' class='form-control' id='res_date' name='res_date' value=".$row["res_date"].">
</div>
<div class='form-group'>
<label for='inputPersons'>Personenanzahl</label>
<input type='text' class='form-control' id='persons' name='persons' value=".$row["persons"].">
</div>
</div>
<div class='form-group'>
<label for='inputComment'>Anmerkung</label>
<textarea class='form-control' rows='5' id='comment' name='comment'>".$row["comment"]."</textarea>
</div>
<button type='submit' name='editsave' id='editsave' class='btn btn-block btn-primary '>Speichern</button>
</form>";
}
}
//Trage Reservierung ein (Update)
if(isset($_REQUEST['editsave'])) {
$id = $_GET['id'];
$statement = $pdo->prepare("UPDATE reservation SET name = :name, email = :email, tel = :tel, persons = :persons, res_date = :res_date, time = :time, comment = :comment WHERE id = $id");
$result = $statement->execute(array(
'name' => $name,
'email' => $email,
'tel' => $tel,
'persons' => $persons,
'res_date' => $res_date,
'time' => $time,
'comment' => $comment));
if($result) {
echo 'Successful';
echo $result;
$showFormular = false;
} else {
echo 'Beim Abspeichern ist leider ein Fehler aufgetreten<br>';
}
}
?>
</div>
Kommentar