Hey
Ik heb een uploadsysteempje gemaakt, maar ik heb nog 1 probleem. Ik heb een pagina gemaakt waarmee je door middel van checkboxen meerdere bestanden tegelijk kunt laten verwijderen. Het verwijderen moet gebeuren:
- record(s) verwijderen in db
- bestand(en) verwijderen
De records verwijderen is natuurlijk geen probleem, maar de bestanden worden niet verwijderd. Dit is de foutmelding die ik krijg:
[code:33q40idz]
Warning: unlink() failed (Invalid argument) in c:phpdev
wwworiginelescriptsupload_7jan06verwijderen_uploads.php on line 31
[/code:33q40idz]
De code van de pagina is deze:
[php]
<html>
<head>
<title>Verwijderen uploads</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h2>Verwijderen uploads</h2>
<?php
// This is the table that you want to delete data from
$table = "upload";
// Set this to the name of the primary key column of that table
$prim_key = "id";
// This is the field in your table that tells you what the data is
$tbdsc = "bestand";
$tbmsg = "datum";
include("../conn_db.php");
// If the form was submitted, delete the items selected from the database
if ($_POST["deleted_items"]) {
$selecteren = "SELECT * FROM $table WHERE $prim_key IN ($deleted_items)";
unlink($selecteren);
$deleted_items = join(', ', $_POST["deleted_items"]);
$query = "DELETE FROM $table WHERE $prim_key IN ($deleted_items)";
$result = mysql_query($query);
echo" <center><b>Uw records zijn succesvol verwijderd.</b></center> ";
}
else {
?>
Overzicht van uploads:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table border="1" cellpadding="5" cellspacing="0" align="center">
<tr>
<th>Pagina</th>
<th>Hits</th>
<th><strong>Verwijder</strong>
</tr>
<?php
// Get a list of items in the table
$query = "SELECT * FROM $table ORDER BY $tbmsg DESC"; // oudste entry's komen bovenaan
$result = mysql_query($query);
// Display the form so the user can delete one or more items from the table
while ($row = mysql_fetch_assoc($result)) {
echo "ttt<tr>";
echo "<td><a href="".$row[$tbdsc]."" target="_blank">".$row[$tbdsc]."</a></td>";
echo "<td>".$row[$tbmsg]."</td>";
echo "<td style="text-align: center;"><input type="checkbox" name="deleted_items[]" value="".$row[$prim_key]."" /></td>";
echo "</tr>n";
}
?>
</table><br />
<div style="text-align: center;"><input type="submit" value="Verwijder geselecteerde records" /></div>
</form>
<?php
}
?>
</body>
</html>
[/php]
Wat heb ik verkeerd gedaan?
Het ligt niet aan de CHMOD-permissie, want dat is in orde. Als ik trouwens unlink(images/0298c_armani ghost - airport.jpg); invul ipv de variabele, verwijdert hij dat bestand wel degelijk. Er gaat dus iets mis met die variabele $selecteren...