Non mi passa il risultato di una variabile nell'url

Soulfearor

Utente Attivo
16 Set 2014
54
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
54
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
54
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.054
6
38
53
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
otto9due $_FILE non passa i dati dal form PHP 1
I $_POST che non mi passa i dati PHP 3
maxbossi Questo FORUM non passa Rank! Presenta il tuo Sito 0
felino Mac OS e Client Mail: Stato non in linea Mac e Software 1
I nome utente non esiste nel database PHP 1
M Drag and Drop non capisco le sequenze... Javascript 1
L Suggerimento Pagespeed per non vedenti HTML e CSS 0
F comando di inclusione file audio in I-Pad non funziona HTML e CSS 1
M Immagini non usate WordPress 0
B Non riesco a trovare i cognomi con i caratteri speciali in Access (Microsoft 365) MS Access 0
G Numero zero null non deve visualizzare nulla PHP 0
F Paypal _xclick IPN non risponde PHP 1
R Variabile non risconosciuta dentro una funzione PHP 1
C ACCESS Aprire maschera se valore non presente in una combo MS Access 7
E Alert non viene mostrato PHP 1
felino Hardisk WD SATA 1TB 3.5" non si avvia! Hardware 4
K Scrip non funzionante Javascript 1
R jquery che cambia css di un elemento non mi funziona sulla pagina caricata da ajax Ajax 5
zorro CREATE TABLE non funziona PHP 6
L tipo boolean non funzionante su mariadb (mysql). E codice php 7.4. PHP 0
Sevenjeak Php8 non carica estenzioni PHP 0
R query DELETE non cancella i record PHP 1
otto9due Input text: accetta solo numeri e non può essere vuoto. Javascript 9
G Non vedo frecce su forme Photoshop 2
G Il mio sito dopo aver abilitato l'ssl non visualizza le immagini con indirizzi senza ssl HTML e CSS 0
P jquery refresh div non funziona Javascript 0
N Problema SEO "L'URL non si trova su Google" SEO e Posizionamento 4
S Certificato SSL non funzionante Domini 0
zorro modulo di registrazione: funziona ma non sempre PHP 2
D Form contatti non funzionante HTML e CSS 0
MarcoGrazia Trovare record nel database partendo da id non sequenziali PHP 6
M Non ho rinnovato il mio sito su Aruba... Domini 1
T IP INFO NON FUNZIONA PHP 0
Shyson Google search non trova il mio sito SEO e Posizionamento 1
E Estrarre dati da doppia tabella, banale ma non sempre PHP 1
P Data scraping in PHP non funziona PHP 4
keyascii Non è mai troppo tardi Presentati al Forum 0
N dati tabella non presi PHP 1
P Pagina modifica record che non funziona PHP 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

Discussioni simili