Ik heb de opdracht gekregen van iemand om even te assisteren bij een half script. Hierbij is het ook de bedoeling dat een gebruiker zijn foto kan verwijderen uit een database. Deze foto's worden zowel op de server als in de database opgeslagen. Tot dusver heb ik dit gemaakt:


<?php
//foto verwijderen
if (isset($_REQUEST["delete"])) {
$delfile = round(StripDanger($_REQUEST["delete"]));
// bestandsnamen in db opzoeken
$sql_fotos_del = "select photosmall,photo,original
from photos
where photoid = '$delfile' AND adid = '$model_id'
Limit 1";
$fotos_del_result = mysql_query ($sql_fotos_del);
$row_fotos_del_result = mysql_fetch_assoc($fotos_del_result);

$delfile_s = "../photos/$model_id/".$row_fotos_del_result["photosmall"];
$delfile_g = "../photos/$model_id/".$row_fotos_del_result["photo"];
$delfile_o = "../photos/$model_id/".$row_fotos_del_result["original"];

$delete_result = @unlink($delfile_s);
$delete_result = @unlink($delfile_g);
$delete_result = @unlink($delfile_o);

if($delete_result){
$r = "delete from photos where photoid ='$delfile' AND adid = '$model_id' ";
$sql_r = q($r);
}

include("includes/header.php"); echo "<h1>Succes</h1>";
echo "<p>Deze foto is verwijderd.</p>";

include("includes/footer.php");
exit;

}
?>

En iets verderop hebben we dit:

<?php
$sql_fotos_tot = "select photoid,photosmall,original,domain from photos where adid = '$model_id' order by photoid DESC Limit 10";
$fotos_tot_result = mysql_query ($sql_fotos_tot);
while ($row_fotos_tot_result = mysql_fetch_assoc($fotos_tot_result))
{

echo "<p class='detailimages'><img src='http://www.".$row_fotos_tot_result["domain"]."/photos/$model_id/".$row_fotos_tot_result["photosmall"]."'; width='25%'/><br /><br />
<a href='http://www.".$row_fotos_tot_result["domain"]."/photos/$model_id/".$row_fotos_tot_result["original"]."'; target='_blank'>original</a><br />

<a href='".WEBSITE_URL."/management/lidinfo.php?delete=".$row_fotos_tot_result["photoid"]."' onclick=\"return confirm('Verwijder foto?')\">Verwijder foto?</a>
</p>";

}
?>

Tot mijn grote verbazing werkt dit niet en misschien heb ik al teveel lopen staren op de code. Heeft iemand een heldere ingeving wat ik fout doe?
ja je debugt je code niet
en haal die @ voor unlink weg
ja zorgen dat je fouten toont van mysql_query en unlink. Verder wat testmeldingen plaatsen in je 'if' lussen zodat je kan zien hoe je programma loopt. Ook even je query en bestandsnamen echo-en werkt verhelderend. dan moet het toch wel gaan lukken

Reageren