Aide Session ID, mais je ne suis pas loin...
eric
-
rjl Messages postés 543 Date d'inscription Statut Membre Dernière intervention -
rjl Messages postés 543 Date d'inscription Statut Membre Dernière intervention -
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
- Session invalide ou obsolète - Forum Consommation & Internet
- Www.yahoomail.com ouverture de session ✓ - Forum Yahoo mail
- Teamviewer code de session expiré ✓ - Forum Logiciels
- Gate first id ✓ - Forum Navigateur
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