Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446

    [PHP/MySQL]problema con funzione delete

    scusate ma non riesco a trovare proprio l'errore...
    Ho una pagina con un elenco di capitoli che vengono prelevati dal mio database.
    Ora se voglio cancellarne uno richiamo questo javascript:

    codice:
    function delCapitolo(a) {
    if (confirm("Elimino questo capitolo?")) {
     	window.location = "delete.php?delete_pt_Capitolo=yes&id="+a;
    	}
    }
    la mia funzione delete è così fatta (nella parte che riguarda i capitoli)

    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;
    }
    L'errore che mi dà è questo:
    Parse error: parse error, unexpected '=' in....

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446
    e si riferisce alla terza riga di codice della mia funzione delete

  3. #3
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    function delCapitolo(a) {
    if (confirm("Elimino questo capitolo?")) {
    window.location = "delete.php?delete_pt_Capitolo=yes&id="+a;
    }
    }
    questa è una funzione in javascript non puoi "buttarla" in mezzo al codice PHP.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446
    ma la funzione delCapitolo è inserita correttamente all'interno della mia pagina tra tutti i javascript, quindi l'errore non è quello

  5. #5
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    fammi capire bene

    la funzione delCapitolo si trova in un'altra pagina, questa funziona passa tramite l'url l'id ed altre info ad un'altra pagina (quest'ultima in PHP), che esegue determinate quesy, giusto?

    ora nella pagina php ti dà un'errore, giusto?
    potresti scrivere per intero l'errore?

  6. #6
    L'errore, quindi, come hai detto è qui:

    $query_rec_img = "SELECT img FROM percorsi_img WHERE idCapitolo = ".$_GET['id'];


    puoi controllare se $_GET['id'] contiene qualcosa o meno?

  7. #7
    Controlla inoltre se prima di
    if(isset($_GET['deleteCapitolo']))
    {

    non hai chiuso qualche "

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446
    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

  9. #9
    Manca $ davanti a query_rec_cap

    query_rec_cap = "select * from pt_capitoli WHERE ID=".$_GET['id'];

    Ciao Kiara.

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    446
    quanto sono stordita!!!
    Comunque non funziona lo stesso perchè ora mi da questo errore:

    Parse error: parse error, unexpected T_VARIABLE in f:\public\tor works\php\bagnone\admin\delete.php on line 231

    che sarebbe questa riga:
    codice:
    header("Location: pt_riferimenti.php?ID="$row_rec_rif['id_capitolo']."&del=yes");
    (è una parte di codice che non ho postato ma praticamente è un altro if che va a considerare la cancellazione dei riferimenti)

    se levo la parte dell'errore mi dice dà un altro errere e cioè che la query è vuota

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.