Aide Session ID, mais je ne suis pas loin...
eric
-
rjl Messages postés 591 Statut Membre -
rjl Messages postés 591 Statut Membre -
Bonjour,
J'ai une petite question, je crois bien que je ne suis pas loin, mais il manque un petit quelque chose! Je vous exemple. J'ai créer un petit script pour le changement de devise sur mon site web.
Si EUR est sélectionné, on affiche en euro, sinon, en Canada.
La, je souhaite que lorsque EUR est sélectionné, il le reste sur les autres pages.
Comment faire?
Voici une partie de mon code, qui est joint à chacun de mes pages, avec un include en haut complètement de la page :
<?php
session_start();
// Je démarre la session...
$_SESSION['devise'] = $_POST['devise'];
// La variable posté est stocké dans $_SESSION....
Ici, j'associe chaque prix à une variable.
Ensuite :
if($_SESSION['devise'] == ""){$devSign = "$"; $devTaux = 1;}
if($_SESSION['devise'] == "eur"){$devSign = "€"; $devTaux = 0.80632;}
if($_SESSION['devise'] == "cad"){$devSign = "$"; $devTaux = 1;}
Ensuite, le calcul.
$var = $taux * $var;
Tout marche parfaitement bien, le changement de devise se fait. Excepté, que la devise EUR ne s'enregistre pas quand je change de page.
Si quelqu'un pourrais m'aider, ce serait très apprécié!
Merci.
J'ai une petite question, je crois bien que je ne suis pas loin, mais il manque un petit quelque chose! Je vous exemple. J'ai créer un petit script pour le changement de devise sur mon site web.
Si EUR est sélectionné, on affiche en euro, sinon, en Canada.
La, je souhaite que lorsque EUR est sélectionné, il le reste sur les autres pages.
Comment faire?
Voici une partie de mon code, qui est joint à chacun de mes pages, avec un include en haut complètement de la page :
<?php
session_start();
// Je démarre la session...
$_SESSION['devise'] = $_POST['devise'];
// La variable posté est stocké dans $_SESSION....
Ici, j'associe chaque prix à une variable.
Ensuite :
if($_SESSION['devise'] == ""){$devSign = "$"; $devTaux = 1;}
if($_SESSION['devise'] == "eur"){$devSign = "€"; $devTaux = 0.80632;}
if($_SESSION['devise'] == "cad"){$devSign = "$"; $devTaux = 1;}
Ensuite, le calcul.
$var = $taux * $var;
Tout marche parfaitement bien, le changement de devise se fait. Excepté, que la devise EUR ne s'enregistre pas quand je change de page.
Si quelqu'un pourrais m'aider, ce serait très apprécié!
Merci.
A voir également:
- Aide Session ID, mais je ne suis pas loin...
- Id telephone - Guide
- Gate first id ✓ - Forum Navigateur
- Teamviewer code de session expiré ✓ - Forum Logiciels
- Www.yahoomail.com ouverture de session ✓ - Forum Yahoo mail
- Je ne peux pas ouvrir ma session sur mon ordinateur ✓ - Forum Windows 10
5 réponses
Bonjour eric,
Je suppose que la devise Euro est connue par son coefficient (1 ou 0.80632... ou l'inverse) ?
Mais où sauves-tu cette devise en $_SESSION['devise'] ou autre variable session à récupérer dans les autres pages ?
Je ne l'ai pas compris mais peut-être ai-je tout faux ?
@+ RJL0831
Je suppose que la devise Euro est connue par son coefficient (1 ou 0.80632... ou l'inverse) ?
Mais où sauves-tu cette devise en $_SESSION['devise'] ou autre variable session à récupérer dans les autres pages ?
Je ne l'ai pas compris mais peut-être ai-je tout faux ?
@+ RJL0831
Oui c'est exactement ça.. Et ça fonctionne très bien.
Le problème, c'est que je ne sais pas comment stocker la variable de devise lorsque je change de page... J'ai beau chercher dans les tutoriels, mais je vois rien. Je crois qu'il manque quelques ligne à mon code :
<?php
session_start();
$_SESSION['devise'] = $_POST['devise'];
$devSign = "$";
$prix1 = 3.25;
if($_SESSION['devise'] == ""){$devSign = "$"; $devTaux = 1;}
if($_SESSION['devise'] == "eur"){$devSign = "€"; $devTaux = 0.80632;}
if($_SESSION['devise'] == "cad"){$devSign = "$"; $devTaux = 1;}
$prix1 = $devTaux * $prix1;
Et plusieurs autres prix... Ce code est affiché sur toutes les pages avec un include.
Le problème, c'est que je ne sais pas comment stocker la variable de devise lorsque je change de page... J'ai beau chercher dans les tutoriels, mais je vois rien. Je crois qu'il manque quelques ligne à mon code :
<?php
session_start();
$_SESSION['devise'] = $_POST['devise'];
$devSign = "$";
$prix1 = 3.25;
if($_SESSION['devise'] == ""){$devSign = "$"; $devTaux = 1;}
if($_SESSION['devise'] == "eur"){$devSign = "€"; $devTaux = 0.80632;}
if($_SESSION['devise'] == "cad"){$devSign = "$"; $devTaux = 1;}
$prix1 = $devTaux * $prix1;
Et plusieurs autres prix... Ce code est affiché sur toutes les pages avec un include.
Bonjour
Tu utilises mal ta session...
En effet, dès le début du script, tu fais $_SESSION['devise'] = $_POST['devise'];
Autrement dit, tu écrases la valeur qui avait été éventuellement mémorisée dans $_SESSION['devise'] : ce n'était pas la peine de la mémoriser !
Il ne faut modifier cette variable que quand il y a une vraiment nouvelle valeur, et non pas à tous les coups :
Tu utilises mal ta session...
En effet, dès le début du script, tu fais $_SESSION['devise'] = $_POST['devise'];
Autrement dit, tu écrases la valeur qui avait été éventuellement mémorisée dans $_SESSION['devise'] : ce n'était pas la peine de la mémoriser !
Il ne faut modifier cette variable que quand il y a une vraiment nouvelle valeur, et non pas à tous les coups :
if (!empty($_POST['devise'])) $_SESSION['devise'] = $_POST['devise'];
C'est super, merci beaucoup...
Il manque deux accolades ;) {}
if (!empty($_POST['devise'])) {$_SESSION['devise'] = $_POST['devise'];}
Cette ligne juste en dessous du session start à tout réglé.
Il manque deux accolades ;) {}
if (!empty($_POST['devise'])) {$_SESSION['devise'] = $_POST['devise'];}
Cette ligne juste en dessous du session start à tout réglé.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question