Le problème c'est plutôt que le code PHP n'est pas interprété car tu appel un fichier en ".js" qui n'est pas "inliner" dans ta page html et donc servi comme asset statique et non interprété par PHP.
Voilà ce qu'on me renvoie quand je demande l'id : <?php echo count($_SESSION['vet']); ?>
Je vous donne mon JS complet :
function ajoutpanier(description){
$("#panier").append(`<div class="vet" onclick="supp(this)" id="<?php echo count($_SESSION['vet']); ?>">${description}</div>`);
}
function supp(el){
alert(el.id);
}
La fonction ajoutpanier rajoute dans le <div id = panier> du php les différents éléments comme prévu. Par contre quand je clique sur l'élément qui s'affiche (fonction supp) il me retourne l'id et je voudrais que ce soit le nombre d'éléments de $_SESSION['vet'] qui existe bien (et avec le code que j'ai l'alert me renvoie <?php echo count($_SESSION['vet']); ?>).
Westixy,
Tu as utilisé le ` dans le append(...) (j'avais jamais utilisé ce caractère avant, c'est quoi la différence avec ' ou " ? Quel est la logique d'avoir plusieurs syntaxe différente dans le append ?
Merci ca avance ... en mettant le script a la fin j'obtiens bien le nombre d’éléments de $_SESSION['vet'] en id mais la deuxième partie de ma fonction ne marche pas complètement :(.
function ajoutpanierbis(description, prix, caution){ $.ajax({
url : 'ajout.php',
type : 'GET',
dataType : 'html',
data : 'description=' + description + '&prix=' + prix + '&caution=' + caution,
});
}
function supp(el){
alert(el.id);
$(el).remove();
}
mon ajout.php :
<?php
session_start();
$i=1;
if (isset($_SESSION['vet'][$i])){
$i=count($_SESSION['vet'])+1;
}
$_SESSION['vet'][$i]=$_GET['description'];
$_SESSION['prix'][$i]=$_GET['prix'];
$_SESSION['caution'][$i]=$_GET['caution'];
if (isset($_SESSION['cautiontot'])){
$_SESSION['cautiontot']=$_SESSION['cautiontot'] + $_GET['caution'];
}else{
$_SESSION['cautiontot']=$_GET['caution'];
}
if (isset($_SESSION['prixtot'])){
$_SESSION['prixtot']=$_SESSION['prixtot'] + $_GET['prix'];
}else{
$_SESSION['prixtot']=$_GET['prix'];
}
?>
et donc quand je lance la fonction ajouterpanier un element apparait dans <div id=panier> et avec $Ajax je cree un element supplémentaire dans $_SESSION['vet']. Quand j'actualise la page j'ai bien la confirmation que cet element a été rajouté correctement à la suite du tableau $_SESSION['vet']. Mais quand je n'actualise pas et redeclenche la fonction ajoutpanier(), l'id du nouvel élément est le même que l'élément précédent (comme ci l'élément supplémentaire des $_SESSION['vet'] n'avait pas été créé) !
- Edité par Webnoob 29 mai 2017 à 22:43:34
recuperer nb d'élément de $_SESSION dans script
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
ça devrait résoudre le problème.