Bon matin, j'ai un menu qui doit etre afficher dependant du status de l'utilisateur alors j'ai cree une condition pour savoir le status en question.
Depuis 2 jours j'essais de trouver ce qui cloche avec ma condition suivante:
mon_fichier.js
if(<?php echo !isset($_SESSION['username'])?'false':'true'; ?>) {
alert("true");
membre =true;
changeMenu('membre');
}
else {
alert("false");
admin =true;
changeMenu('admin');
}
Si je met le code entre balise script dans mon .php je recois bien les alertes par contre la console affiche changemenu est undefined et lorsqu'il est dans mon js je recois aucune alerte par contre la console affiche SyntaxError: expected expression, got '<'
Je dois absolument le garder dans mon .js pour l'integrer dans le scope merci d'avance.


confirmer la valeur d'une variable session grace au javascript
Débuté par pcxpert, Apr 04 2015 10:48 AM
php javascript
#2
Posté 04 April 2015 - 17:26 PM
Salut,
Tu ne peux pas écrire du PHP dans un fichier JS, PHP (langage serveur) est exécuté depuis le serveur, alors que JS est exécuté depuis le client (navigateur). Tu peux en revanche placer du PHP et du JS au sein d'une page HTML (ou PHP), mais sans pour autant les mélanger.
Dans tous les cas ton script ne peut pas marcher puisque tu essaye de mélanger deux langages qui ne sont pas interprétés au même moment et ne se comprennent pas entre eux...
Tu peux en revanche utiliser une condition PHP pour remplir une variable JS, par exemple un truc du genre (pas du tout testé) :
<?php
"si ta condition est vraie"
<script> renseigne ta variable JS à true</script>
"sinon"
<script> renseigne ta variable JS à false</script>
?>
<script> ton script JS qui dépend de la variable</script>
PHP sera exécuté sur le serveur et te renverra directement la valeur de la condition dans ta page HTML, puis le JS sera exécuté selon le résultat de la condition.
Tu ne peux pas écrire du PHP dans un fichier JS, PHP (langage serveur) est exécuté depuis le serveur, alors que JS est exécuté depuis le client (navigateur). Tu peux en revanche placer du PHP et du JS au sein d'une page HTML (ou PHP), mais sans pour autant les mélanger.
Dans tous les cas ton script ne peut pas marcher puisque tu essaye de mélanger deux langages qui ne sont pas interprétés au même moment et ne se comprennent pas entre eux...
Tu peux en revanche utiliser une condition PHP pour remplir une variable JS, par exemple un truc du genre (pas du tout testé) :
<?php
"si ta condition est vraie"
<script> renseigne ta variable JS à true</script>
"sinon"
<script> renseigne ta variable JS à false</script>
?>
<script> ton script JS qui dépend de la variable</script>
PHP sera exécuté sur le serveur et te renverra directement la valeur de la condition dans ta page HTML, puis le JS sera exécuté selon le résultat de la condition.
Tutoriels AS3 >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions - Raycasting - Plateformes - Mode7 - Starfield - Frogger - Space Invader - Blackjack - Sudoku - Asteroids - Video Poker - Rogue Like (partie 1) - Rogue Like (partie 2) - Mastermind - Rendus 2D - Flixel - Auditorium - Particules - Pacman - Doodle Jump - Course de voiture
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
Jeux perso >> Mes jeux
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
Jeux perso >> Mes jeux
#3
Posté 04 April 2015 - 18:14 PM
en fait si il est possible d'executer du code javascript et php en meme temps car il y a plusieurs annee j'ai eu recourt a cette methode.
je me souvien que je devais renomer le js en php et que je devais inclure un genre de meta dans le fichier meme mais pour le reste cela reste vague.
je me souvien que je devais renomer le js en php et que je devais inclure un genre de meta dans le fichier meme mais pour le reste cela reste vague.
#5
Posté 04 April 2015 - 18:57 PM
Re,
A lire : http://www.toutjavas...r/savoir17.php3
PHP interprété en premier (serveur) puis le HTML et le JS (navigateur), donc on peut mettre du JS dans du PHP mais pas l'inverse.
Une solution pour "mixer" les deux :
<?php echo 'var maVariable = ' . $variable; ?>
Content que la solution avec le Boolean fonctionne
A lire : http://www.toutjavas...r/savoir17.php3
PHP interprété en premier (serveur) puis le HTML et le JS (navigateur), donc on peut mettre du JS dans du PHP mais pas l'inverse.
Une solution pour "mixer" les deux :
<?php echo 'var maVariable = ' . $variable; ?>
Content que la solution avec le Boolean fonctionne

Tutoriels AS3 >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions - Raycasting - Plateformes - Mode7 - Starfield - Frogger - Space Invader - Blackjack - Sudoku - Asteroids - Video Poker - Rogue Like (partie 1) - Rogue Like (partie 2) - Mastermind - Rendus 2D - Flixel - Auditorium - Particules - Pacman - Doodle Jump - Course de voiture
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
Jeux perso >> Mes jeux
Tutoriels Javascript >> Pong - Taquin - Memory - Tic Tac Toe - Pendu - Snake - Proximity - Cascade - Démineur - Bejeweled - Tetris - Collisions -
Jeux perso >> Mes jeux
#6
Posté 05 April 2015 - 06:56 AM
Bonsoir Monsieur Spi, grâce a votre dernier commentaire j'ai résolue le problème car oui j'avais tester le bool mais simplement dans un script pure javascript et en essayant avec du php la boucle me retournais toujours false.
Par contre <?php echo 'var maVariable = ' . $variable; ?> fait un echo avec la variable et la valeur de la variable alors je savais que nous étions proche de la réponse j'ai simplement déplacé le echo et par magie cela a fonctionné
merci encore.
<?php
//include .....
sec_session_start();
if (login_check($mysqli) == true) {
$logged = 'in';
} else {
$logged = 'out';
}
?>
<script>
var testing123 = '<?php echo $logged; ?>';
if (testing123=="in") {
alert('in');
} else {
alert('out');
}
</script>
Par contre <?php echo 'var maVariable = ' . $variable; ?> fait un echo avec la variable et la valeur de la variable alors je savais que nous étions proche de la réponse j'ai simplement déplacé le echo et par magie cela a fonctionné

<?php
//include .....
sec_session_start();
if (login_check($mysqli) == true) {
$logged = 'in';
} else {
$logged = 'out';
}
?>
<script>
var testing123 = '<?php echo $logged; ?>';
if (testing123=="in") {
alert('in');
} else {
alert('out');
}
</script>
Répondre à ce sujet

1 utilisateur(s) li(sen)t ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)