Hallo zusammen,
ich sitze hier vor einem unlösbarem Problem. Aktuell bin ich dabei eine Tabelle zu basteln in der man Einträge über die Datenbank löschen, erstellen, bearbeiten usw. kann.
Nun bin ich bei dem Punkt "Bearbeiten" angekommen und komischerweise updated meine Website nicht alle Felder die ich ändere.
Hier der Code:
Das ist die Funktion die die Daten der eigentlichen Website in die Datenbank einschleust. Es ist ziemlich komisch, aber wenn ich username=:item_name und dessen bindParam Befehl raus nehme, bin ich in der Lage die anderen beiden Felder zu verändern.
Wenn ich allerdings alle drei reingeschrieben habe, ändert sich gar nichts mehr. Die Namen der Datenbank Columns und die Namen der einzelnen Inputfelder sind eins zu eins richtig.
Hier ist aber noch die andere Datei in der ich auf der Website dann die Inputfelder sowie schon vorgefertigten Text in den inputs stehen habe:
Was mache ich falsch? Ich habe alles doppelt und dreifach geprüft und gedreht, aber komme irgenwie nicht am Ziel an.
Danke für eure Hilfe!
ich sitze hier vor einem unlösbarem Problem. Aktuell bin ich dabei eine Tabelle zu basteln in der man Einträge über die Datenbank löschen, erstellen, bearbeiten usw. kann.
Nun bin ich bei dem Punkt "Bearbeiten" angekommen und komischerweise updated meine Website nicht alle Felder die ich ändere.
Hier der Code:
PHP-Code:
public function article_update($id){
$username = isset($_POST['username']) ? $_POST['username'] : '';
$amount = isset($_POST['amount']) ? $_POST['amount'] : '';
$comment = isset($_POST['comment']) ? $_POST['comment'] : '';
$stmt = $this->_database_intance->prepare("UPDATE items SET amount=:amount, comment=:comment, username=:item_name WHERE item_name=:id");
$stmt->bindparam(':item_name', $username);
$stmt->bindparam(':amount', $amount);
$stmt->bindparam(':comment', $comment);
$stmt->bindparam(':id', $id);
$stmt->execute();
return$stmt;
}
Wenn ich allerdings alle drei reingeschrieben habe, ändert sich gar nichts mehr. Die Namen der Datenbank Columns und die Namen der einzelnen Inputfelder sind eins zu eins richtig.
Hier ist aber noch die andere Datei in der ich auf der Website dann die Inputfelder sowie schon vorgefertigten Text in den inputs stehen habe:
PHP-Code:
<body>
<?php
$id=$_GET['id'];
require_once('shared\_header.php');
$database_variable = newDatabase();
$database_instance = $database_variable->connection();
$article_instance = newArticle($database_instance);
$stmt = $article_instance->article_details($id);
$article_instance->article_update($id);
while ($row = $stmt->fetch()) {
$item_name = $row['item_name'];
$amount = $row['amount'];
$comment = $row['comment'];
if ($comment ==""){
$comment = "NONE";
}
if (isset($_POST['submit'])){
header("Location: index.php?page=my_articles");
}
}
?>
<formaction=""method="POST">
<divclass="divwrapper">
<h1class= "first_h1">Name</h1>
<inputtype="text"name="username"value="<?=$item_name; ?>"placeholder = "Name of the article*">
<h1>Amount</h1>
<inputclass="amount"type="text"value ="<?=$amount; ?>"name="amount"placeholder = "Amount">
<h1>Comment</h1>
<inputtype="text"value ="<?=$comment; ?>"name="comment"placeholder = "Comment your article">
<buttonname = "submit">Submit</button>
</div>
Danke für eure Hilfe!
Kommentar