Ciao a tutti, scusate ma sono ore che ci sbatto la testa ma proprio non riesco a capire dove sbaglio. Nella head della mia pagina PHP ho questa funzione JS che riceve due argomenti:
codice:
function cancella(id,nome) {
var domanda = confirm("ATTENZIONE!!\n\nVUOI VERAMENTE ELIMINARE QUESTO UTENTE?");
var link = "elimina_utente.php?ID=";
if (domanda === true) {
location.href = link + id + "&nome=" + nome;
}
}
Nel body invece ho questo codice che cerca di passare due variabili alla funzione sopra
codice:
<table>
<?php
$query=mysqli_query($conn, "SELECT * FROM utente ORDER BY nome_utente");
while ($mag=mysqli_fetch_assoc($query))
{
?>
<tr>
<td width="1%"><input type="button" class="BOTTONE" name="elimina_utente" value="ELIMINA" onclick="cancella(<?php echo $mag['ID_utente'],$mag['nome_utente'] ?>)"></td>
<td><b><?php echo $mag['nome_utente'] ?></b></td></tr>
<?php
}
In pratica con un ciclo PHP stampo un elenco di tutti gli utenti con accanto ad ognuno il bottone ELIMINA. Cliccandoci sopra parte l'alert che chiede la conferma dell'eliminazione.
Il problema è tutto nella seconda variabile che mando alla funzione JS. Infatti quel $mag['nome_utente'] è come se venisse rifiutato. Per farmi capire, se lo sostituissi duplicando lo stesso valore che lo procede, ovvero $mag['ID_utente'] oppure mettendo un valore numerico qualsiasi, la funzione non avrebbe problemi. Chiaramente ho verificato con una echo che la variabile sia valida. Ho anche pensato che magari nel nome potevano esserci apici che creavano conflitto (ma questo sarebbe dovuto succedere solo con alcuni e non con tutti) così ho variato la pagina come segue trasformando la variabile con addslashes:
codice:
<table>
<?php
$query=mysqli_query($conn, "SELECT * FROM utente ORDER BY nome_utente");
while ($mag=mysqli_fetch_assoc($query))
{
$magis=addslashes($mag["nome_utente"]);
?>
<tr>
<td width="1%"><input type="button" class="BOTTONE" name="elimina_utente" value="ELIMINA" onclick="cancella(<?php echo $mag['ID_utente'],$magis ?>)"></td>
<td><b><?php echo $mag['nome_utente'] ?></b></td></tr>
<?php
}
ma nulla... la funzione non da segni di vita.
P.S.
Dove sbaglio???