Richiesta conferma utente - php

  • Creatore Discussione Creatore Discussione valgo54
  • Data di inizio Data di inizio

valgo54

Nuovo Utente
5 Ott 2015
11
0
1
Ciao Forum
Vorrei inserire in una form php che gestisce la cancellazione di un record da un DB MySql una richiesta di conferma prima di effettuare l'operazione.
Prendendo spunto dal codice in allegato sintetizzo cosa dovrei fare. La form php ha una combo box con l'elenco dei record tra i quali l'utente sceglie quello da cancellare. Tale record viene visualizzato . A questo punto l'utente clicca sul pulsante "Cancella" il quale innesca il metodo POST che prende i dati visualizzati e fa partire l'istruzione sql di "delete". Prima della "delete" ho bisogno di inserire una richiesta di conferma senza aprire altre pagine php( tipo una msgbox di visual studio).
Qualcuno mi può aiutare.
Grazie
 

Allegati

Puoi usare un alert con confirm in JS se non va in conflitto con il codice che tu hai già, ma questo a noi non è dato di sapere.

Però la sezione HTML5 non centra nulla
 
ciao
io farei anche un controllo lato server, ti faccio uno schema, comunque migliorabile
PHP:
<?php
session_start();
if(isset($_POST["conferma"]) || isset($_POST["annulla"]){
	if(isset($_POST["conferma"]){
		$sql_del = "DELETE FROM db_ordini_clienti.clienti WHERE id_cliente =".$_SESSION['id_cliente'];
		if(mysqli_query( $con,$sql_del )){
			echo "cancellazione riuscita";
		}else{
			echo "cancellazione non riuscita";
		}
	}
	//distruggi la sessione
	$_SESSION['id_cliente']=array();
	//e metti un ritorno automatico a dove vuoi, questa pagina o altra
}
if(isset($_POST['cancella'])){ 
	//myFunction();
	$id_cliente =$_POST['ident_cliente'];
	$_SESSION['id_cliente']=$id_cliente;
	//....
	//mostri se ti interessa i dati record da eliminare
	echo "sicuro di eliminare il record eccetera....";//eventualmete estrai i dati di interesse e li mostri
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!--.........-->
<?php
if(isset($_POST['cancella'])){ 
	//myFunction();
	$id_cliente =$_POST['ident_cliente'];
	$_SESSION['id_cliente']=$id_cliente;
	//....
	//mostri se ti interessa i dati record da eliminare
	echo "sicuro di eliminare il record eccetera....";//eventualmete estrai i dati di interesse e li mostri
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
conferma: <input name="conferma" type="submit" id="conferma" value="conferma" />
annulla: <input name="annulla" type="submit" id="annulla" value="annulla" />
</form>
<?php
}
?>
<!--.........-->
 
Ciao
ho provato a far girare il codice ma mi segnala.
"Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\index.php on line 43"
Ho provato a sistemarlo ma non vorrei stravolgere il codice e avere un risultato non corretto
Ci sono 2 blocchi con "if(isset($_POST['cancella'])){" e non ho ancora molta confidenza con i blocchi "php" e "html" innsestati.
Ti spiacerrebbe fare un controllo.
Grazie
 
ciao
scusa avevo fatto un errore di copy/paste
PHP:
<?php
session_start();
if(isset($_POST["conferma"]) || isset($_POST["annulla"]){
    if(isset($_POST["conferma"]){
        $sql_del = "DELETE FROM db_ordini_clienti.clienti WHERE id_cliente =".$_SESSION['id_cliente'];
        if(mysqli_query( $con,$sql_del )){
            echo "cancellazione riuscita";
        }else{
            echo "cancellazione non riuscita";
        }
    }
    //distruggi la sessione
    $_SESSION['id_cliente']=array();
    //e metti un ritorno automatico a dove vuoi, questa pagina o altra
}
if(isset($_POST['cancella'])){ 
    //myFunction();
    $id_cliente =$_POST['ident_cliente'];
    $_SESSION['id_cliente']=$id_cliente;
    //....
    //mostri se ti interessa i dati record da eliminare
    echo "sicuro di eliminare il record eccetera....";//eventualmete estrai i dati di interesse e li mostri
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<!--.........-->
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
conferma: <input name="conferma" type="submit" id="conferma" value="conferma" />
annulla: <input name="annulla" type="submit" id="annulla" value="annulla" />
</form>
<?php
}
?>
<!--.........-->
 
Ciao
ho provato a far girare che il codice ma non si attiva nulla. Allora mi sono creato una form fittizzia che in allegato è la "index" che ha un pulsante "cancella". lo clicco e parte il tuo codice ma mi si sovrappongono la form "index.php" e la form "conferma_cancellazione.php".
Non so se tu la pensavi così?
Grazie
 

Allegati

Ciao borgo italia
ho fatto qualche passo avanti, anche se non è quello che vorrei fare. Per due motivi:
1) sono costretto a chiamare un'altra pagina e fare uscire i due pulsanti "conferma cancellazione" e "annulla" mentre sarebbe più simple fare una tipo msgbox di visual studio che ti fa uscire un popup di richiesta senza dove chiudere la form attiva , aprirne un'altra e poi ritornare su quella iniziale.
2) Riguardo "ritornare a quella iniziale" si è costretti a cliccare sul pulsante "annulla" e poi sul link ( nell'esempio si chiama "back") per tornare indietro alla form iniziale. Per "form iniziale" intendo quella dove visualizzo i dati del record da cancellare e nella quale è presente il tasto "cancella") .
Restiamo in contatto..
grazie
ciao
 

Allegati

Discussioni simili