Hallo,
voor een site heb ik een edit-functie geschreven waar nog een fout in zit.
Het ophalen van de gegevens lukt wel, maar het opslaan van de nieuwe gegevens gaat niet. Hij slaat namelijk de oude gegevens, die er al waren, nog een keer op; zo lijkt het, omdat hij geen foutmelding geeft, maar wel de melding ".. is succesvol bewerkt in de database".
stuk code:
<?php
//verbinding met database gemaakt
$action = $_GET['action'];
if($action == "do") {
//action=do staat voor: het opslaan voor nieuwe gegevens
$id = $_GET["id"];
$artist = $_POST["artist"];
$name = $_POST["name"];
$tracklist = $_POST["tracklist"];
$content = $_POST["content"];
$input = "UPDATE albums SET artist='$artist',name='$name',tracklist='$tracklist',content='$content' WHERE id='$id'";
if(mysql_query($input)) {
echo $name." is succesvol bewerkt in de database. ".mysql_error();
} else {
echo "Foutmelding: Recensie is niet bewerkt.. ".mysql_error();
}
}
elseif($action == "edit") {
//action=edit slaat op: gegevens uit de SQL halen, en bewerken.
$id = $_GET['id'];
$query = "SELECT * FROM albums WHERE id='$id'";
$sql = mysql_query($query) or die("MySQL Error:".mysql_error());
while($row = mysql_fetch_object($sql) ) {
echo "Edit Album-recensie van ".$row->author."<br><b>";
echo $row->artist." - ".$row->name."</b><br>";
echo "<form action=\"edit_album.php?action=do\" method=POST>";
$artist = $row->artist;
echo "<br>Artiest: <input type=text name=name value=".$artist.">";
$name = $row->name;
echo "<br>Album: <input type=text name=name value=".$name.">";
echo "<p>Tracklist Album<br>";
$tracklist = $row->tracklist;
echo "<textarea cols=40 rows=12 name='tracklist'>".$tracklist."</textarea><p>";
echo "Recensie<br>";
$content = $row->content;
echo "<textarea cols=70 rows=18 name='content'>".$content."</textarea>";
echo "<br><input type=submit value='Bewerken'>";
}
}
?>
N.B. ik krijg dus geen parse- of MySQL errors.
Het updaten van nieuwe gegevens lukt dus niet.
Als ik in PHPmyAdmin kijk, zie ik ook dat er niks is geupdate.
585 views