Non mi passa il risultato di una variabile nell'url

Soulfearor

Utente Attivo
16 Set 2014
53
0
6
Torino
www.serenagraficatorino.it
Salve a tutti.
Premessa: sto usando javascript assieme a PHP e per me è la prima volta, inoltre ho suddiviso alcuni script in più pagine, quindi se voi riuscite a fare la stessa cosa con molto meno, vi invidio xD

Di seguito gli script:

FILE script_connect.php
PHP:
<?php
$connessione = mysqli_connect('localhost', 'root', '', 'provaphp') or die(mysqli_error());
?php

FILE index.php
PHP:
<?php
include 'script_connect.php';
include 'script.php';

if(mysqli_num_rows($select_query) == 0) {
	echo "Non ci sono utenti nel DB";
}
else {
	echo $show;
}
?>

FILE script.php
PHP:
<?php
$show = NULL;

$select_query = mysqli_query($connessione, "SELECT * FROM esercitazione_eliminare_record_con_conferma");
while($risultato = mysqli_fetch_assoc($select_query)) {
	$show .= $risultato['nome'] ." " .$risultato['cognome'] .", " .$risultato['eta'] ." <form action=\"script_delete.php?id=$id\" method=\"POST\"><input type=\"hidden\" value='".$risultato['id']."' name=\"id\"><input type=\"submit\" onclick=\"myFunction()\" value=\"Elimina\" name=\"delete\"></form><br>";
}

if(isset($_POST['id'])) $id = $_POST['id'];
if(isset($_POST['delete'])) $delete = $_POST['delete'];
?>

HTML:
<script>
function myFunction() {
    if(confirm("Sei sicuro di voler cancellare questo utente\?\?")) {
	window.location = "script_delete.php?id=$id";
	}
}
</script>

FILE delete_script.php
PHP:
<?php
include 'script_connect.php';

$id = $_GET['id'];

$delete_query = mysqli_query($connessione, "DELETE FROM esercitazione_eliminare_record_con_conferma WHERE ID = $id");
if($delete_query) {
	echo "Utente eliminato con successo!!";
	header ("refresh:3; url=index.php");
	exit;
}
else {
	echo "Si e' verificato un errore";
	header ("refresh:3; url=index.php");
	exit;
}
?>


I problemi che si presentano sono:
1 nel controllo dove c’è confirm, window.location può essere omesso lasciando lo script così
2 nell’action del form se lo lascio vuoto non mi reindirizza alla pagina indicata da window.location
3 se nell’action lascio quello che c’è scritto mi da questo errore: “Undefined variabile: id in” in quanto nell’url è presente $id
4 lasciando tutto com’è mi reindirizza alla pagina esatta ma nell’url, l’id è lasciato vuoto, quindi niente query e niente eliminazione.

Codice:
http://localhost/prove/script%20cancellazione%20un%20record%20con%20conferma/script_delete.php?id=

Come posso far si che venga passato un id nell’url, così che poi venga assegnato ad un’altra variabile con il metodo GET?

Grazie mille :)
 

Soulfearor

Utente Attivo
16 Set 2014
53
0
6
Torino
www.serenagraficatorino.it
Ciao filomeni e grazie per la risposta.
Ho provato a sostituire la mia stringa di codice con la tua ma non funziona.
Prima non mi passava l'id ma il javascript si attivava, con la tua modifica ora manco più quello si attiva.

Come posso fare?
Grazie :)
 

Soulfearor

Utente Attivo
16 Set 2014
53
0
6
Torino
www.serenagraficatorino.it
Up

PHP:
<?php
$show = NULL;

$select_query = mysqli_query($connessione, "SELECT * FROM esercitazione_eliminare_record_con_conferma");
while($risultato = mysqli_fetch_assoc($select_query)) {
	$show .= $risultato['nome'] .' ' .$risultato['cognome'] .', ' .$risultato['eta'] 
	.' <form action="" method="POST"><input type="hidden" value="'.$risultato['id'].'" name="id"><input type="button" onclick="myFunction()" value="Elimina" name="delete"></form><br>';
}

if(isset($_POST['id'])) $id = $_POST['id'];
if(isset($_POST['delete'])) $delete = $_POST['delete'];

?>
Codice:
<script>
function myFunction() {
    if(confirm("Sei sicuro di voler cancellare questo utente\?\?")) {
	window.location = "script_delete.php?id=$id";
	}
}
</script>

Non mi da più i 2 errori ma nell'URL mi appare $id e non il valore assegnato. Se al posto di $id metto un numero specifico, funziona.
 

filomeni

Moderatore
Membro dello Staff
MOD
14 Mag 2006
1.052
6
38
50
Roseto degli Abruzzi (TE)
www.sitiweb.cloud
Ciao, probabilmente non c'è il recupero della vaiabile "$id", fai una prova.
Prima del javascript recupera con php $id e stampalo a monitor... vedi se c'è il recupero reale della variabile, ti faccio un esempio pratico:
Codice:
<?php
$id=$_POST['id'];
echo $id;
die("mi fermo qui per prova");
...
?>

<script>
function myFunction() {
    if(confirm("Sei sicuro di voler cancellare questo utente\?\?")) {
	window.location = "script_delete.php?id=<?php echo $id ?>";
	}
}
</script>
Se il valore di $id viene stampato a monitor sicuramente deve essere passato più in basso al javascript nella maniera indicata da me.
Ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
I $_POST che non mi passa i dati PHP 3
maxbossi Questo FORUM non passa Rank! Presenta il tuo Sito 0
Shyson AUTO_INCREMENT non si aggiorna MySQL 2
Shyson Codice wp-login non funziona PHP 2
S WORDPRESS NON FA INSTALLARE PIU NULLA WordPress 9
Shyson Non mi fa accedere al sito WordPress 12
N Non Autorizzato. Dovresti rimuovere il parametro customize_messenger_channel per visualizzare l'anteprima in frontend. WordPress 1
R INSERT INTO tabella non funziona Classic ASP 2
A Problema, non so, di scale() o transform, oppure altro? HTML e CSS 0
felino Conversione da MPG a MP4: audio non sincronizzato Windows e Software 1
F Telecamere Wi-Fi non si connettono A nvr IP Cam e Videosorveglianza 0
G Finestra di dialogo che non si apre - programma NUENDO Windows e Software 0
L php mysql non salva solo id PHP 21
D Pagina non trovata Wordpress WordPress 7
S connesso, internet non disponibile ( con extebder tp-link850) Reti LAN e Wireless 0
F Script java elenco alfabetico non funziona Javascript 3
F Script non funzionante. Devo elencare in ordine alfabetico un elenco di nominativi, ma lo script non Javascript 2
L Estrazione dati casuali non doppioni MySQL 1
napuleone non si chiude il thead e non si apre il tbody Javascript 0
napuleone non si aggiorna textarea in tempo reale Javascript 3
D Modem Asus non trasmette ogni 3/4 giorni Reti LAN e Wireless 2
M non static method cannot be referenced from a static context Java 1
napuleone Con le date il codice da di matto o forse non è così Javascript 6
M Questa pagina non carica correttamente Google Maps: aiuto!! HTML e CSS 1
M "Internet non disponibile" Reti LAN e Wireless 0
L Non vedo pc in rete Reti LAN e Wireless 0
M Numero random non ripetitivo Java 2
G pc desktop non si connette all'hotspot wifi Reti LAN e Wireless 0
L Non riesco a riprodurre uno sfondo Photoshop 0
N Server mysql non raggiungibile da connessione esterna MySQL 1
R Select concatenata che non funziona la seconda volta Ajax 3
L non duplicare dati in stato "aggiornamento" PHP 6
R [Visual Studio Community] Non trovo il Progetto di Setup .NET Framework 0
zorro file PDF non visualizzo niente PHP 9
D modificare questo codice per inserimento in text e non in tabella jQuery 1
A variabile non riconosciuta PHP 0
A Copertura: indicizzata, non inviata nella mappa del sito XML 1
A funzione iconv () non mi funziona PHP 4
D File pdf che non si aprono .... PHP 1
MarcoGrazia ON DUPLICATE KEY ma in realtà non UPDATE mai PHP 17
R Non riesco a rinnovare l'immagine di sfondo PHP 1
G non riesco a capire quale sia l'errore [SQL] MySQL 2
R Non riesco a cambiare l'immagine di sfondo PHP 4
MarcoGrazia Valori di ritorno json via ajax non visti. jQuery 1
W Non fa l'upload PHP 0
W Parametro non corretto. (code: 87) PHP 4
MarcoGrazia Se non sai se riceverai da GET o da POST, puoi verificarlo e far scegliere allo script. Snippet PHP 0
D Alias AS non funziona più con DATE_FORMAT? MySQL 2
A php metodo post jquery non da mai errore jQuery 4
A fread non legge il contenuto del file PHP 4

Discussioni simili