Insertion PHP dans une variable JS

Résolu/Fermé
barale61 Messages postés 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 - 30 déc. 2015 à 17:06
barale61 Messages postés 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 - 2 janv. 2016 à 17:24
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 lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 524
Modifié par Pitet le 30/12/2015 à 17:18
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 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 110
30 déc. 2015 à 17:54
En cliquant sur le bouton, cela ne faite rien.
0
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650 > tirando
1 janv. 2016 à 23:23
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 1192 Date d'inscription jeudi 13 septembre 2012 Statut Membre Dernière intervention 17 avril 2024 110
2 janv. 2016 à 17:24
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