Php, js, confirmation avt suppression d'infos
necro27
Messages postés
160
Date d'inscription
Statut
Membre
Dernière intervention
-
necro27 Messages postés 160 Date d'inscription Statut Membre Dernière intervention -
necro27 Messages postés 160 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
Alors voilà j'ai beau chercher sur le net je ne trouve pas de solution à mon problème.
Je dispose d'un site internet avec authentification des membres (via phpmyadmin). Sur ce site, l'administrateur possède une gestion complète des membres (ajout, modification suppression). Mon problème porte sur la suppression des membres.
Je met à disposition une liste déroulante qui affiche tous les membres existant dans la base de données, et une fois sélectionné, un bouton supprimer qui donc avec une requête sql de suppression, efface l'enregistrement dans la bdd.
Sur la soumission du formulaire (onsubmit) j'appelle une fonction de confirmation :
Pour l'appel de la fonction (page suppmemb.php) :
($numutil correspond à la valeur retournée par la liste déroulante)
(Page suppmemb2.php)
Bon voilà ma question, plus claire :
En soumettant le formulaire, j'appelle la fonction confirmation et en cliquant sur "ok" j'ai bien mon message "test". Mais je n'arrive pas à aller sur la page suppmemb2.php (qui contient donc le code de suppression). En d'autre termes le message "test2" ne s'affiche pas.
Je cherche d'éventuelles précisions pour me guider, me faire comprendre pourquoi cela ne fonctionne pas.
Toutes les solutions que j'ai trouvé sur le net me dirige vers un onclick sur le bouton submit, mais je l'évite, c'est pour cela que je passe donc par un onsubmit sur le formulaire.
Merci de vos réponses
Necro27
Alors voilà j'ai beau chercher sur le net je ne trouve pas de solution à mon problème.
Je dispose d'un site internet avec authentification des membres (via phpmyadmin). Sur ce site, l'administrateur possède une gestion complète des membres (ajout, modification suppression). Mon problème porte sur la suppression des membres.
Je met à disposition une liste déroulante qui affiche tous les membres existant dans la base de données, et une fois sélectionné, un bouton supprimer qui donc avec une requête sql de suppression, efface l'enregistrement dans la bdd.
Sur la soumission du formulaire (onsubmit) j'appelle une fonction de confirmation :
function confirmation() { var msg="Êtes-vous sûr de vouloir supprimer cet enregistrement ?" if (confirm(msg)) { alert("test"); location.replace("suppmemb2.php"); } }
Pour l'appel de la fonction (page suppmemb.php) :
<form method="POST" action="page_admin.php?numadmin=3&numutil= <?php echo $numutil; ?>" name="FormSupMemb" onsubmit="javascript:confirmation();"> <select >....</select>
($numutil correspond à la valeur retournée par la liste déroulante)
(Page suppmemb2.php)
<?php include("connect.php"); echo '<script>alert("test2");</script>'; if (isset($_POST['lstmemb']) && !empty($_POST['lstmemb'])) { $sql="delete from utilisateur where NumUtil='".$_POST['lstmemb']."'"; $exec=mysql_query($sql) or die (mysql_error()); } ?>
Bon voilà ma question, plus claire :
En soumettant le formulaire, j'appelle la fonction confirmation et en cliquant sur "ok" j'ai bien mon message "test". Mais je n'arrive pas à aller sur la page suppmemb2.php (qui contient donc le code de suppression). En d'autre termes le message "test2" ne s'affiche pas.
Je cherche d'éventuelles précisions pour me guider, me faire comprendre pourquoi cela ne fonctionne pas.
Toutes les solutions que j'ai trouvé sur le net me dirige vers un onclick sur le bouton submit, mais je l'évite, c'est pour cela que je passe donc par un onsubmit sur le formulaire.
Merci de vos réponses
Necro27
A voir également:
- Php, js, confirmation avt suppression d'infos
- Forcer suppression fichier - Guide
- Confirmation de lecture whatsapp - Guide
- Confirmation de lecture gmail - Guide
- Easy php - Télécharger - Divers Web & Internet
- Suppression compte gmail - Guide
2 réponses
Voila ce que je fais moi pour ce cas :
<form name="formulaire" action="./index.php?page=supp_Tsite&categorie=type_site" method="post" id="site"> </p> <p align="center"> <?php $requete='SELECT id_Tsite,lib_Tsite FROM type_sites order by lib_Tsite'; $resultat= mysql_query($requete) or die('<br><br>Erreur SQL !'.mysql_error());?> <select name="choix"> <option value="0">Choisissez un type de site </option> <?php while ($donnees = mysql_fetch_array($resultat)){ echo '<option value='.$donnees[0].'>'; echo $donnees[1]; echo'</option>'; } ?> </select> <script language="javascript"> function confirmSuppr() { val = document.forms.formulaire.choix.options[document.forms.formulaire.choix.options.selectedIndex].text if (window.confirm("Vous etes sur le point de supprimer le type de site suivant : " + val) ) { // Clic sur OK document.forms.formulaire.submit(); } } </script> <p align="left"> <input type="button" value="Supprimer" onclick="confirmSuppr()"> </form> <?php if(isset($_POST['choix'])){ $supp="DELETE FROM type_sites WHERE id_Tsite='".($_POST['choix'])."'"; $del=mysql_query($supp) or die('<br><br>Erreur SQL !'.mysql_error()); }
Oui mais le souci avec le onclick sur le bouton est que les fonctions js ne sont pas interprétés sur un appui sur la touche "entrée". Du moins c'est ce que je vois le plus souvent sur le net.
C'est pour cela que je souhaite passer par le onsubmit du formulaire.
Je bloque.
Merci quand même je vais tout de même tester avec le bouton, mais ce ne sera pas une solution finale, sauf si mes sources sont erronées
Necro27
C'est pour cela que je souhaite passer par le onsubmit du formulaire.
Je bloque.
Merci quand même je vais tout de même tester avec le bouton, mais ce ne sera pas une solution finale, sauf si mes sources sont erronées
Necro27
oui j'ai oublié de préciser, voilà les test que j'ai fait :
location.replace("suppmemb2.php");
window.location.replace("suppmemb2.php");
window.location.href("suppmemb2.php");
location.href("suppmemb2.php");
Aucunes de celles-ci ne fonctionnent..
ps : j'ai tout de même réessayé, en vain.
Merci tout de même pour ta réponse.
Cette variable est en fait le numéro du membre sélectionné dans la liste déroulante.
Serait-ce le souci? en effet j'ai eu du mal pour récupérer la valeur de la liste déroulante, mon code fonctionne, mais je doute.
je vais le mettre, peut-être trouvera tu une erreur à ne pas faire.
Voilà, petit code, mais voulant garder la donnée sélectionnée dans la liste déroulante au rechargement de la page, je n'ai pas réussi à faire autrement. Peut-être le souci est t'il ici?
Pour la barre d'adresse voici ce qu'il en sort :
http://localhost/SiteInternet/page_admin.php?numadmin=3&numutil='x'
Où 'x' correspond donc au numéro du membre sélectionné dans la liste déroulante.
Ps : je suis en stage et aujourd'hui j'ai dû partir de mon poste de travail cet après-midi, ainsi je ne suis pas très présent. et je fini à 17h30 ce soir...Mais je tien à préciser que les réponse fournies m'intéressent, même si je donne l'impression de part ma présence "inexistante" que cela n'est pas..
Tout cela pour dire que je m'excuse mais que dès demain je pourrais travailler calmement, et que bien sûr je lis bien les aides apportées. Aujourd'hui été exceptionnel.
Encore merci Breud62 et désolé car je me doute bien que parler dans le vide est plus que désagréable :-/
Necro27