Si il principio è quello.
Scusa, ma mi sono resa conto che la parte di codice che ti ho postato è quella precedente a quella che mi dà dei problemi. Ora rimetto tutto.
codice:
if(isset($_GET['deleteCapitolo'])){
mysql_select_db($database_conn_prova, $conn_prova);
$query_rec_img = "SELECT img FROM percorsi_img WHERE idCapitolo = ".$_GET['id'];
$rec_img = mysql_query($query_rec_img, $conn_prova) or die(mysql_error());
while($row_rec_img = mysql_fetch_assoc($rec_img)) {
if($row_rec_img['img'] && file_exists("../pdf_file/img_percorsi/".$row_rec_img['img'])) unlink("../pdf_file/img_percorsi/".$row_rec_img['img']);
if($row_rec_img['img'] && file_exists("../pdf_file/img_percorsi/small_".$row_rec_img['img'])) unlink("../pdf_file/img_percorsi/small_".$row_rec_img['img']);
}
$query_rec_capitolo = "SELECT idPercorso FROM percorsi_capitoli WHERE ID = ".$_GET['id'];
$rec_capitolo = mysql_query($query_rec_capitolo, $conn_prova) or die(mysql_error());
$row_rec_capitolo = mysql_fetch_assoc($rec_capitolo);
$query_delete = "DELETE FROM percorsi_img WHERE idCapitolo = ".$_GET['id'];
mysql_query($query_delete,$conn_prova) or die("Errore nella query: " . mysql_error());
$query_delete = "DELETE FROM percorsi_capitoli WHERE ID = ".$_GET['id'];
mysql_query($query_delete,$conn_prova) or die("Errore nella query: " . mysql_error());
mysql_free_result($rec_img);
mysql_free_result($rec_capitolo);
header("Location: percorsi_capitoli.php?ID=".$row_rec_capitolo['idPercorso']."&del=yes");
exit;
}
questa è la parte precedente a quella che mi dà dei problemi e che funziona.
codice:
if(isset($_GET['delete_pt_Capitolo'])){
mysql_select_db($database_conn_prova, $conn_prova);
query_rec_cap = "select * from pt_capitoli WHERE ID=".$_GET['id'];
$rec_cap = mysql_query($query_rec_img, $conn_prova) or die(mysql_error());
$row_rec_cap = mysql_fetch_assoc($rec_cap);
$query_delete = "DELETE FROM pt_capitoli WHERE ID = ".$_GET['id'];
mysql_query($query_delete,$conn_prova) or die("Errore nella query: " . mysql_error());
$query_delete = "DELETE FROM pt_riferimenti WHERE id_capitolo = ".$_GET['id'];
mysql_query($query_delete,$conn_prova) or die("Errore nella query: " . mysql_error());
$query_delete = "DELETE FROM pt_riferimenti_img WHERE id_capitolo = ".$_GET['id'];
mysql_query($query_delete,$conn_prova) or die("Errore nella query: " . mysql_error());
header("Location: pt_capitoli.php?ID=".$row_rec_cap['idPercorso']."&del=yes");
mysql_free_result($rec_cap);
exit;
}
questa è quella che mi dà problemi.
Delete non fa altro che effettuare una verifica sull'url e quindi è formata da una serie di if. Quando l'utente vuole cancellare qualcosa viene chiamata la funzione delete. Nel primo caso (quello funzionante) viene passato nell'url deleteCapitolo mentre nel secondo delete_pt_Capitolo
La cosa che più mi lascia perplessa è che se levo la seconda parte la prima funziona, altrimenti mi da dei problemi anche quella e mi segnala un errore nella riga 204
codice:
query_rec_cap = "select * from pt_capitoli WHERE ID=".$_GET['id'];
mentre io comunque pensavo che non dovesse nemmeno entrarci in quel if
L'errore completo è: Parse error: parse error, unexpected '=' in.delete.php on line 204