Query di eliminazione non funzionante

JackIlPazzo

Utente Attivo
25 Lug 2014
69
0
6
Ciao a tutti,

ho creato una tabella dinamica dov'è l'utente che decidere le righe da aggiungere ed eliminare. Ho quindi associato un pulsante che cattura un id generato con l'auto increment, per ogni prodotto inserito. Questo id lo utilizzo per passarlo ad una funzione che si occupa dell'eliminazione del suddetto prodotto.

ecco come ho associato l'id al pulsante:

Codice:
<td><a href=\"".$_SERVER['PHP_SELF']."?id=".$attivitaID."\" onClick=\"javascript:return confirm('Cancellare?')\"><input type='button' value='Elimina' name='delete' id='back'></a></td>

Cliccando sul pulsante dovrebbe attivarsi questo codice:

Codice:
if(isset($_POST['delete'])&& isset($_GET['id']))
	{
		//eseguiamo la connessione
		$connessione = new MySQLi(HOST, USER, PASSWORD, DATABASE);
		
		// preparo la query
		$query = "DELETE FROM workpaper WHERE id = ".$_GET['id'];
		
		// invio la query
		$result = mysql_query($query);
		
		// controllo l'esito
		if (!$result)
		{
			die("Errore nella query $query: " . mysql_error());
		}
		
		// chiudo la connessione a MySQL
		mysql_close();
		
		echo 'Query eseguita correttamente';
}

Il problema è che la query non viene eseguita, ed in particolare io ottengo soltanto un ricaricamento della pagina, nulla di più. Cosa sbaglio? Qualcuno riesce ad individuare il problema?
 
nel tuo codice trovo ...
PHP:
if(isset($_POST['delete'])&& isset($_GET['id']))

dopo averlo "guardato", prova ad eseguire il "tuo" script sottostante,
in particolare controllando il contenuto di $_POST e $_GET
in questo modo puoi capire che succede,

PHP:
<?php
var_dump($_POST); print"<br /><br />";
var_dump($_GET); print"<br /><br />";
var_dump($_GET['id']); print"<br /><br />";
var_dump($_GET['delete']); print"<br /><br />";

$attivitaID=22;
$link=$_SERVER['PHP_SELF']."?id=".$attivitaID.",&delete=delete";

print "
<a href=\"".$link."\" onClick=\"javascript:return confirm('Cancellare?')\">
<input type='button' value='Elimina' name='delete' id='back'>
</a>
";

trovo anche strano il nome delle variabili dichiarate nella connessione,
ma potresti averle scritte così per ... "confondere il nemico"
PHP:
$connessione = new MySQLi(HOST, USER, PASSWORD, DATABASE);

ciao
Marino
 
nel tuo codice trovo ...
PHP:
if(isset($_POST['delete'])&& isset($_GET['id']))

dopo averlo "guardato", prova ad eseguire il "tuo" script sottostante,
in particolare controllando il contenuto di $_POST e $_GET
in questo modo puoi capire che succede,

PHP:
<?php
var_dump($_POST); print"<br /><br />";
var_dump($_GET); print"<br /><br />";
var_dump($_GET['id']); print"<br /><br />";
var_dump($_GET['delete']); print"<br /><br />";

$attivitaID=22;
$link=$_SERVER['PHP_SELF']."?id=".$attivitaID.",&delete=delete";

print "
<a href=\"".$link."\" onClick=\"javascript:return confirm('Cancellare?')\">
<input type='button' value='Elimina' name='delete' id='back'>
</a>
";

trovo anche strano il nome delle variabili dichiarate nella connessione,
ma potresti averle scritte così per ... "confondere il nemico"
PHP:
$connessione = new MySQLi(HOST, USER, PASSWORD, DATABASE);

ciao
Marino

Ciao,

allora ho inserito la linea di codice che mi hai dato ma tutto è come prima, la pagina si ricarica e non succede nulla. Il prodotto non viene eliminato dalla tabella. Altre opzioni?
 
Ciao, per inviare dati in post occorre un <form> e un submit, che non vedo nel tuo codice
sostituisci
PHP:
if(isset($_POST['delete'])&& isset($_GET['id']))
con
PHP:
if(isset($_GET['id']))
anche se non è proprio una tecnica sicura
 
Ciao, per inviare dati in post occorre un <form> e un submit, che non vedo nel tuo codice
sostituisci
PHP:
if(isset($_POST['delete'])&& isset($_GET['id']))
con
PHP:
if(isset($_GET['id']))
anche se non è proprio una tecnica sicura

Grande ora funziona tutto :)
Ora devo solo risolvere il problema dell'aggiunta multipla, ho aperto un nuovo post. Se vuoi darci un occhiata ne sarei felice. Grazie ancora, buona giornata :)
 

Discussioni simili