bezorg de laatste berichten direct op de desktop
Welkom, Gast
Alstublieft Inloggen of Registreren.    Wachtwoord verloren?

Meerdere afbeeldingen unlinken
(1 bezoeker) (1) Gast
Ga naar onderkantPagina: 1
TOPIC: Meerdere afbeeldingen unlinken
#2877
Meerdere afbeeldingen unlinken 5 Jaren, 11 Maanden geleden Karma: 0
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:phpdevwwworiginelescriptsupload_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...
wimvd
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2880
5 Jaren, 11 Maanden geleden Karma: 0
Je voert de query niet uit... echo $selecteren maar eens.
[php]<?php
if ($_POST["deleted_items"]) {

$selecteren = mysql_query("SELECT * FROM $table WHERE $prim_key IN ($deleted_items)");

unlink($selecteren['url']);
$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> ";
}
?>[/php]
Ik weet alleen niet of ik goed gegokt hebt betreffende de $selecteren['url']. Weet niet hoe je die kolom hebt genoemd.
ted
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2883
5 Jaren, 11 Maanden geleden Karma: 0
God ja
mysql_query() vergeten toe te voegen. Haha
Hopelijk ligt het daar gewoon aan...
wimvd
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2884
5 Jaren, 11 Maanden geleden Karma: 0
Werkt ook nog niet, de code ziet er nu zo uit:

[php]
<?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"]) {

// $deleted_items geeft de nummer van de checkbox weer oftwel de primary key van de record
$deleted_items = join(', ', $_POST["deleted_items"]);

// $selecteren drukt af: Resource id #2
$selecteren = mysql_query("SELECT * FROM $table WHERE $prim_key IN ($deleted_items)");

unlink($selecteren['bestand']);

$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 {
?>
[/php]
wimvd
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2885
5 Jaren, 11 Maanden geleden Karma: 0
[php]<?php
if ($_POST["deleted_items"])
{
$deleted_items = join(', ', $_POST["deleted_items"]);
$selecteren = mysql_query("SELECT * FROM $table WHERE $prim_key IN ($deleted_items)");

// Ook maar even fetchen Wimpie?
while($temp = mysql_fetch_assoc($selecteren))
{
unlink($temp['bestand']);
}

$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 {
?> [/php]
ted
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
#2886
5 Jaren, 11 Maanden geleden Karma: 0
Ja, dom van me! Ik ben moe, ik ga slapen. Met een frisse kop programmeren
Bedankt!
wimvd
Nieuwe Gebruiker
Berichten: 0
graphgraph
Gebruiker offline Klik hier om het gebruikersprofiel van deze gebruiker te zien
De Administrator heeft publieke schrijf toegang geblokkeerd.
 
Ga naar bovenkantPagina: 1
Moderators: Rik, Roy