Javascript message de confimation avant suppr

Résolu
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

  1. 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.
    1. 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>"); }}

      ?>
      1. <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é.
        1. 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 ??
          1. 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
            1. 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????????
              1. 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 ?');"
                1. 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>
                  ' ;
                2. 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>';
                3. 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.
                4. Aussi.
                5. Ou encore mieux, on sépare le code de présentation (HTML) du code de logique (PHP) grâce au pattern MVC.