Ma variable de $_Session ne marche pas
Fermé
Guest
-
Nicoblem Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Nicoblem Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis débutant en PHP et j'ai un gros problème.
Voila, j'ai un gros projet à réaliser donc je préfère le diviser en plein de petites parties pour être sur que les parties ne se gène pas l'une l'autre.
Je suis arrivé à la partie où je dois créer une variable de session appelé $_session['page'] qu'on peut manipuler avec trois boutons :
-Un premier qui va incrémenter la variable $_session['page']
-Un deuxième qui va décrémenter la variable $_session['page']
-Et un dernier composé d'une alerte pour savoir à tout moment la page à la quel la personne se trouve(celui la je compte pas le garder c'est juste pour les test)
voila donc la bête noir :
je suis débutant en PHP et j'ai un gros problème.
Voila, j'ai un gros projet à réaliser donc je préfère le diviser en plein de petites parties pour être sur que les parties ne se gène pas l'une l'autre.
Je suis arrivé à la partie où je dois créer une variable de session appelé $_session['page'] qu'on peut manipuler avec trois boutons :
-Un premier qui va incrémenter la variable $_session['page']
-Un deuxième qui va décrémenter la variable $_session['page']
-Et un dernier composé d'une alerte pour savoir à tout moment la page à la quel la personne se trouve(celui la je compte pas le garder c'est juste pour les test)
voila donc la bête noir :
<?php
session_start();
?>
<html>
<body>
<?php
if (!isset($_SESSION['page']))
{
$_SESSION['page'] = 100;
}
?>
<input type='button' value='page' id="Btn33" onclick="<?php echo "alert('".$_SESSION['page']."')" ?>"/>
<input type='button' value='-' id="Btn22" onclick="<?php $_SESSION['page'] = $_SESSION['page']-1 ?>"/>
<input type='button' value='+'id="Btn27" onclick="<?php $_SESSION['page'] = $_SESSION['page']+1 ?>"/>
</body>
</html>
A voir également:
- Ma variable de $_Session ne marche pas
- Le fichier contient un programme écrit en python. le programme construit un mot secret mais il ne l'affiche pas. modifiez ce programme afin que à chaque itération de la boucle : la variable a augmente de 2 la variable b diminue de 1 ajoutez une instruction pour faire afficher le mot secret construit. quel est ce mot secret ? ✓ - Forum Python
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- Vérifiez la variable d'environnement TEMP. QUE FAIRE ????? ✓ - Forum Microsoft Office
6 réponses
Bonjour
Ton code ne modifie en rien $_SESSION['page'] car cette variable se trouve dans le serveur et tes "onclick" n'agissent que localement, chez le client. Regarde le code source généré par ta page, celui que tu vois avec Ctrl-U : il n'y a aucun $_SESSION['page'] dedans.
Si tu veux vraiment modifier cette variable, il faut que le serveur soit invoqué d'une manière ou d'une autre quand tu cliques sur tes boutons, en utilisant la méthode Window.location et en faisant ton incrémentation en PHP. Tu peux aussi le faire en Ajax.
Si tu veux simplement incrémenter un nombre, utilise une variable Javascript et le PHP n'a plus rien à faire là-dedans.
Ton code ne modifie en rien $_SESSION['page'] car cette variable se trouve dans le serveur et tes "onclick" n'agissent que localement, chez le client. Regarde le code source généré par ta page, celui que tu vois avec Ctrl-U : il n'y a aucun $_SESSION['page'] dedans.
Si tu veux vraiment modifier cette variable, il faut que le serveur soit invoqué d'une manière ou d'une autre quand tu cliques sur tes boutons, en utilisant la méthode Window.location et en faisant ton incrémentation en PHP. Tu peux aussi le faire en Ajax.
Si tu veux simplement incrémenter un nombre, utilise une variable Javascript et le PHP n'a plus rien à faire là-dedans.
Nicoblem
Messages postés
2
Date d'inscription
Statut
Membre
Dernière intervention
Merci beaucoup a tout les deux et merci pour ces explications super précises je m'y met tout de suite.
Salut et merci de ton aide,
C'est vrai que mon code manquait de point virgule dans les balises PHP, je les ai rajoutés ais ca ne marche toujours pas malheureusement
Quand je clique sur le bouton "echo" tout se passe bien et on me renvoi l'alerte mais quand je clique sur le bouton d'incrémentation ou de décrémentation rien ne se passe et la variable $_session['page'] n'est pas modifiée... :/
C'est vrai que mon code manquait de point virgule dans les balises PHP, je les ai rajoutés ais ca ne marche toujours pas malheureusement
Quand je clique sur le bouton "echo" tout se passe bien et on me renvoi l'alerte mais quand je clique sur le bouton d'incrémentation ou de décrémentation rien ne se passe et la variable $_session['page'] n'est pas modifiée... :/
$_SESSION['page']-1 -> --$_SESSION['page']
$_SESSION['page']+1 -> ++$_SESSION['page']
https://www.php.net/manual/fr/language.operators.increment.php
$_SESSION['page']+1 -> ++$_SESSION['page']
https://www.php.net/manual/fr/language.operators.increment.php
Non toujours rien, ça ne marche pas c'est toujours pareil écho fonctionne mais pas l'incrémentation ou la décrémentation.
(voilà le nouveau code, j'ai peut-être commis une erreur )
(voilà le nouveau code, j'ai peut-être commis une erreur )
<?php session_start(); ?> <html> <body> <?php if (!isset($GLOBALS['page'])) { $GLOBALS['page'] = 100; } ?> <input type='button' value='page' id="Btn33" onclick="<?php echo "alert('".$GLOBALS['page']."')"; ?>"/> <input type='button' value='-' id="Btn22" onclick="<?php --$_SESSION['page'] ; ?>"/> <input type='button' value='+'id="Btn27" onclick="<?php ++$_SESSION['page'] ; ?>"/> </body> </html>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Euh... je suis pas sure de comprendre désolé ^^'
Je faisais des recherches en même temps et j'avais essayé la modification des $_sessions $globals c'est de ca que tu me parlais ?
voila mon VRAI code mais le problème reste exactement le même malheureusement
Je faisais des recherches en même temps et j'avais essayé la modification des $_sessions $globals c'est de ca que tu me parlais ?
voila mon VRAI code mais le problème reste exactement le même malheureusement
<?php
session_start();
?>
<html>
<body>
<?php
if (!isset($_SESSION['page']))
{
$_SESSION['page'] = 100;
}
?>
<input type='button' value='page' id="Btn33" onclick="<?php echo "alert('".$_SESSION['page']."')"; ?>"/>
<input type='button' value='-' id="Btn22" onclick="<?php --$_SESSION['page'] ; ?>"/>
<input type='button' value='+'id="Btn27" onclick="<?php ++$_SESSION['page'] ; ?>"/>
</body>
</html>
Quand tu visionnes ta page sur le navigateur internet (Firefox, Explorer, Chrome, etc).
Tu fais clique-droit -> Code source de la page.
Tu verras que le code PHP disparaît, c'est à dire qu'il a été interprété avant que le navigateur ne l'affiche. Et donc, dans le onclick, au lieu d'incrémenter, il ne se passera rien car c'est vide. Il faut lui mettre un lien vers une autre page PHP qui sera chargée d'incrémenter/décrémenter la variable.
Si tu as du mal à comprendre ça, arrêtes tout de suite et ré-étudies le PHP et le Javascript.
Tu fais clique-droit -> Code source de la page.
Tu verras que le code PHP disparaît, c'est à dire qu'il a été interprété avant que le navigateur ne l'affiche. Et donc, dans le onclick, au lieu d'incrémenter, il ne se passera rien car c'est vide. Il faut lui mettre un lien vers une autre page PHP qui sera chargée d'incrémenter/décrémenter la variable.
Si tu as du mal à comprendre ça, arrêtes tout de suite et ré-étudies le PHP et le Javascript.