Javascript message de confimation avant suppr

Résolu/Fermé
aman - 5 juin 2011 à 14:12
 aman - 10 juin 2011 à 19:01
Bonjour,

j'ai réalisé mon code PHP pour supprimer un enregistrement mais j'ai un petit probleme le message de confirmation qui ne marche pas

8 réponses

Profil bloqué
5 juin 2011 à 14:56
Sans code ça va être compliqué...
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
Modifié par avion-f16 le 5/06/2011 à 15:03
Salut,

Tu peux utiliser la fonction confirm() en JS.
Elle retourne true ou false (true si l'utilisateur clique sur "Ok").

Exemple :
<a href="/news/supprimer/5"
    onclick="return confirm('Êtes-vous certain ?');">
    Supprimer
</a>

La pensée mène le monde.
0
voila mon code mais ca marche pas car il execute la requette en tt les cas si j ai cliqué sur ok ou annuler

<?php
session_start();


echo
"<script>
confirm('Voulez-vous vraiment supprimer')
</script>";
if(confirm){
$connexion = mysql_connect('localhost','root','') or die ("Connexion au serveur impossible");
mysql_select_db(BD,$connexion)or die ("la base non reconnue");

if(isset($_GET['cne'])){
extract($_GET);


$sql="DELETE FROM eleve WHERE CNE ='$cne'";
mysql_query($sql) or die('erreur sql'.mysql_error());
print ("<script language = \"JavaScript\">");
print ("location.href = 'Filtrage_eleve_univ -page.php';");
print ("</script>"); }}

?>
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
5 juin 2011 à 17:21
<script> 
confirm('Voulez-vous vraiment supprimer') 
</script>
Tu en fais quoi du résultat ?

if(confirm){
D'où vient confirm ?
Tu ne peux pas mélanger les fonctions/variables entre JS et PHP !

confirm() (en JS) doit être utilisé sur le lien, comme je l'ai montré.
Au niveau du PHP, tu ne dois pas faire cette vérification : si le script est exécuté, c'est que la page a été demandée. Et si la page a été demandée, c'est que l'utilisateur a confirmé.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Merci pour l'aide ^^ j'ai ajouté onclick dans mon lien et une fonction confirm mais
comment je peux récupérer l'action faite par l'utilisateur c'est a dire ok ou annuler ??
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
5 juin 2011 à 18:20
C'est fait automatiquement.

Tu as ceci :
onclick="return confirm('Êtes-vous certain ?');"
Si l'utilisateur clique sur "Ok", ça devient ceci :
onclick="return true;"
Donc la page est chargée.

Sinon, ça devient ceci :
onclick="return false;"
Et là, la page n'est pas chargée
0
je me sens perdu meme je pense que le truc est simple

j ai 2 pages une qui execute la requette de suppression et l autre une qui contient le lien supprimer

echo'
<a href="supr-eleve.php?cne='.$row[0].'" class="table_delete" onclick="return confirm("Êtes-vous certain ?");">supprimer</a>
<a href="mod_eleve.php?cne='.$row[0].'" class="table_edit">modifier</a>

';
ca doit m afficher le message de confirmation????????
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
5 juin 2011 à 20:19
onclick="return confirm("Êtes-vous certain ?");"
Il y a un problème au niveau des guillemets.

Voici ce que "le navigateur voit" :
onclick=["return confirm("]Êtes-vous certain ?[");"]
Les crochets délimitent les chaines de caractère.
On voit clairement que le code est invalide.

Donc mon exemple, j'ai utilisé les guillemets simples (apostrophes) :
onclick="return confirm('Êtes-vous certain ?');"
0
salut j ai un probleme la meme avec les apostrophes
voile message s erreur



Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\interface\Filtrage_niv -page.php on line 140

voila mon code la ligne 140 contient onclick:

echo ' <td width="200">'.$res['nom_niv'].'</td>
<td width="100">
<a href="supr-niveau.php?code_niv='.$res[0].'" onclick="return confirm('Êtes-vous certain ?');" class="table_delete">supprimer</a>
<a href="mod_niveau.php?code_niv='.$res[0].'" class="table_edit">modifier</a>


</td>
' ;
0
Profil bloqué
10 juin 2011 à 17:04
echo '<td width="200">'.$res['nom_niv'].'</td><td width="100">
<a href="supr-niveau.php?code_niv='.$res[0].'" onclick="return confirm(\'Êtes-vous certain ?\');" class="table_delete">supprimer</a>
<a href="mod_niveau.php?code_niv='.$res[0].'" class="table_edit">modifier</a></td>';
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
10 juin 2011 à 17:06
Perso j'évite d'afficher du HTML via PHP.
Je préfère fermer les instructions de traitement (~ "balise") PHP puis faire un echo des variables seules.
0
Profil bloqué
10 juin 2011 à 17:08
Aussi.
0
avion-f16 Messages postés 19246 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 21 avril 2024 4 497
10 juin 2011 à 17:09
Ou encore mieux, on sépare le code de présentation (HTML) du code de logique (PHP) grâce au pattern MVC.
0