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
FILE index.php
FILE script.php
FILE delete_script.php
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.
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
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