Insertion PHP dans une variable JS

Résolu
barale61 Messages postés 1214 Date d'inscription   Statut Membre Dernière intervention   -  
barale61 Messages postés 1214 Date d'inscription   Statut Membre Dernière intervention   -
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.

A voir également:

2 réponses

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
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
0
barale61 Messages postés 1214 Date d'inscription   Statut Membre Dernière intervention   110
 
En cliquant sur le bouton, cela ne faite rien.
0
tirando
 
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>
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > tirando
 
oulaaa.
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).
0
barale61 Messages postés 1214 Date d'inscription   Statut Membre Dernière intervention   110
 
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
0