Passer une variable JS en $_SESSION

Résolu/Fermé
Tiilouli Messages postés 2 Date d'inscription samedi 20 décembre 2014 Statut Membre Dernière intervention 21 décembre 2014 - 20 déc. 2014 à 22:30
Tiilouli Messages postés 2 Date d'inscription samedi 20 décembre 2014 Statut Membre Dernière intervention 21 décembre 2014 - 21 déc. 2014 à 14:20
Bonjour,

J'aimerai donner une de mes variable JS à la variable session. Voila ce que je fait actuellement :
<script type="text/javascript">
var jsonArr =[];


//Remplissage de mon jsonArr


<?php session_start();$_SESSION['var']= QUE DOIS RAJOUTER ;?>
console.log(jsonArr);

}
</script>

2 réponses

Utilisateur anonyme
21 déc. 2014 à 00:05
Bonjour

Je suppose que tu sais que le javascript s'exécute chez le client, alors que le PHP s'exécute dans le serveur.
Ceci veut dire que la ligne
<?php session_start();$_SESSION['var']= QUE DOIS RAJOUTER ;?> 
est exécutée dans le serveur, et que là, la variable javascript n'existe pas ; elle n'existe même pas encore chez le client, puisque le script n'a pas encore été complètement envoyé.
Ça ne veut pas dire que ce que tu veux est impossible, simplement que ça se passe d'une manière très différente. Regarde les tutoriels sur AJAX qui sert justement à faire ce genre de choses.
Grosso modo, le principe est que à la place de ton <?php session_start();$_SESSION['var']= QUE DOIS RAJOUTER ;?>, tu dois appeler une fonction AJAX (en pratique, tu l'appelles en Javascript) qui va a son tour appeler un script php sur le serveur en lui envoyant ce que tu veux (ta fameuse variable par exemple). Ce script php va, lui, pouvoir enregistrer la valeur dans une variable de session et même envoyer une réponse à la fonction AJAX qui l'a appelé.
Il y a donc appel à un script php, mais ce n'est pas celui (a priori) qui contenait le javascript.
C'est très pratique et pas difficile quand on a compris le mécanisme, mais au début, ça peut surprendre.
2
Tiilouli Messages postés 2 Date d'inscription samedi 20 décembre 2014 Statut Membre Dernière intervention 21 décembre 2014
21 déc. 2014 à 14:20
Hum, ok. J'avais perdu de vu que le php s'exécute côté serveur et non client.

Je vais aller voir les tuto AJAX !

Merci de ta réponse =)
0