Conversion variables de session en JS
Bonjour,
Je cherche à convertir une variable de session en JS.
Voici le code que j'utilise quand la variable de session est une chaîne de caractère :
Code:
<script> var user_id = '<?php if(isset($_SESSION['sess_user_id']) && $_SESSION['sess_user_id'] != "") { echo $_SESSION['sess_user_id']; } ?>'</script>
Le problème est dans le code suivant :
Code:
<script>var sess_communes = <?php if(isset($_SESSION['sess_communes'])) { echo $_SESSION['sess_communes']; } else '' ?></script>
Le premier cas renvoie une chaîne de caractère alors que le second ramène un objet JSON.
Conséquence : quand une session est ouverte, ça marche nickel, mais dès que l'on se déconnecte l'application est vautrée et la console renvoie :
Code:
1 2
| <script>var id_user = '' // cad chaîne vide
var sess_communes = </script> // le code n'est pas fermé |
Autrement dit, le code n'est pas fermé.
Comment contourner le problème ? Merci pour vos réponses.
Sylvain
MAJ : Mon code ne semble pas accepter les opérateurs de coalescence :/
Code:
1 2 3 4
| var communes1 = [];
var communes2 = <?php echo $_SESSION['sess_communes'] ?> ?? 'Salut';
console.log(communes2); |
ne renvoie rien et renvoie même une erreur : 'Unexpected token '??''
Je sais pas trop quoi faire, c'est bloquant et toutes les solutions possibles et imaginables défaillent les unes après les autres....
Merci pour vos retours. Sylvain