Insertion PHP dans une variable JS

Résolu
Bonjour,

Je souhaite mettre une confirmation JS avec comme valeur une variable PHP mais ça me renvoi vers la première entrée de ma table et non vers celle demandée.
Je vous remercie de votre aide.

function confirmation(id)
{ 
var id = parseInt('<?php echo htmlspecialchars($donnees['id']);?>');
if (confirm("Voulez-vous vraiment supprimer le billet:\n\n " + " " + "<?php echo htmlspecialchars($donnees['titre']);?>"+ " ?" )) window.location.href = "supprime_billet.inc.php?id="+id;
}


Évidemment en dehors du JS le PHP fonctionne bien.

2 réponses

  1. Merci beaucoup ça marche comme ça. Je ne peux plus installer firebug sur FireFox Aurora et j'ai fait un post à ce sujet: https://forums.commentcamarche.net/forum/affich-32821961-firebug-plus-compatible#p32821961
    1. Salut,

      Il faudrait plutôt renseigner les informations du billet lors de l'appel de la fonction confirmation en paramètres plutôt que de les saisir directement dans la fonction, sinon il faudrait créer une fonction par billet...

      Par exemple lors de l'affichage des tes billets :
      <!-- Bouton de suppression -->
      <button onclick="confirmation(<?php echo htmlspecialchars($donnees['id']);?>, <?php echo htmlspecialchars($donnees['titre']);?>)">Supprimer</button>
      


      et la fonction javascript :
      function confirmation(id, titre) { 
          if (confirm("Voulez-vous vraiment supprimer le billet:\n\n " + titre + " ?")) 
        window.location.href = "supprime_billet.inc.php?id="+id;
      }
      


      Bonne journée
      1. En cliquant sur le bouton, cela ne faite rien.
      2. Par contre vous pouvez faire ça:

        _écrire la valeur avec PHP dans un élément HTML
        <p id='titre'><?php
         htmlspecialchars($donnees['titre']);
        ?>
        <p id='id'><?php
         htmlspecialchars($donnees['id']);
        ?>
        </p>
        Une fois écrit dans la page on peut récupérer le contenu des balises avec javascript:
        
        <button onclick="confirmation(document.getElementById('id').innerHTML,document.getElementById('id').innerHTML);">Supprimer</button>
      3. Modérateur
        @tirandooulaaa.
        Mettre le même ID à plusieurs endroits.... et vouloir s'en servir dans le javascript ???..... ça ne fonctionnera jamais !

        La solution de Pitet est la bonne....
        Il a juste oublié de mettre des quotes autour de sa variable "Texte".

        Un truc du genre :
        <button onclick="confirmation(<?php echo htmlspecialchars($donnees['id']);?>, '<?php echo htmlspecialchars($donnees['titre']);?>')">Supprimer</button>
        


        Si ça ne fonctionne toujours pas, jettes dont un oeil dans la Console de ton navigateur voir si il y a des erreurs.
        (je t'invite à utiliser la console du plugin FireBug pour le navigateur FireFox).