Grazie a tutti quelli che hanno risposto!


Originariamente inviato da Walessio
Non capisco perchè hai assegnato a $delete la query e soprattutto, perchè hai messo una chiocciola davanti.
La chiocciola in effetti non c'entrava nulla visto che dopo non ho fatto il controllo sulla query..

..Ho seguito tutti i tuoi utilissimi consigli, Walessio!

Originariamente inviato da Walessio
Inoltre starei molto attento a cancellare file tramite una query string!
Uno potrebbe cancellare potenzialmente qualsiasi file sul tuo server!
Secondo me faresti meglio a immagazzinare il nome del file nella tabella, quindi fare una cosa di questo tipo:
Codice PHP:
if(isset($_GET['cancella'])){
$id=mysql_real_escape_string($_GET['cancella']); //fa un escape per evitare injection

$risorsa=mysql_query("SELECT nomefile FROM nomeTabella WHERE id = '$id'");
$dati=mysql_fetch_assoc($risorsa);
unlink($dati['nomefile']);
mysql_query("DELETE FROM nomeTabella WHERE id = '$id'");

Però purtroppo il problema è rimasto..

Cliccando una volta su "Cancella", elimina l'immagine. Poi al secondo clic, cancella il record dal database.
Invece dovrebbe fare entrambe le cose al primo clic..

tutto questo codice:
Codice PHP:
$id=mysql_real_escape_string($_GET['cancella']); //fa un escape per evitare injection 
$risorsa=mysql_query("SELECT nomefile FROM nomeTabella WHERE id = '$id'"); 
$dati=mysql_fetch_assoc($risorsa); 
unlink($dati['nomefile']); 
mysql_query("DELETE FROM nomeTabella WHERE id = '$id'"); 
Dovrebbe eseguirlo in una volta sola..