mémorisation valeur formulaire sur plusieurs pages

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : mémorisation valeur formulaire sur plusieurs pages

par Chile » 22 nov. 2006, 22:14

merci Charabia...ca fonctionne
j'ai remplacé post par session dans le formulaire:
<form action="" method="post" name="devise" id="devise">
              <div align="center">
                <select name="devise" id="devise" onChange="javascript:this.form.submit();">
                  <option value="EUR" <? if ($_SESSION['devise'] == 'EUR') { echo 'selected="selected"'; } ?>>€ Euro</option>
                  <option value="USD" <? if ($_SESSION['devise'] == 'USD') { echo 'selected="selected"'; } ?>>$ us</option>
                </select>
              </div>
          </form>
par contre je conserve =='EUR' et 'USD', sinon ca marche pas.

pour info sur mon test:
//init des variables
if (!isset($_SESSION['devise'])) $_SESSION['devise']="EUR";
$currency = $_SESSION['devise']; 
tu as raison il est peut-être en trop car j'ai le code pour la mise a jour de la devise plus bas:
<?php
//-------Mise a jour devise
 if($_POST["devise"] == 'EUR')
 {
 $currency = $_POST['devise'];
 $_SESSION['devise']=$currency; //mAj de la devise
 }
 elseif($_POST["devise"] == 'USD')
 {
 $currency = $_POST['devise'];
 $_SESSION['devise']=$currency; //mAj de la devise
 }
?>
je vais regarder ca de plus près
merci en tout cas :wink:

par charabia » 22 nov. 2006, 21:48

En fait au lieu d'utiliser $_POST['devise'] dans ton formulaire, tu utilises la session à la place tout simplement ;)

Par contre ton test consiste en quoi ? Je me demande si tu ne t'es pas un peu mélangé.

Ne serait-ce pas plutôt ça ?
if (isset($_POST['devise']))
{
	$_SESSION['devise'] = $_POST['devise'];
}
Et ensuite dans ton formulaire tu utilises $_SESSION['devise']. Inutile de dire que ça vaut "EUR" étant donné que ça va avoir la valeur du champ du formulaire.

par Chile » 22 nov. 2006, 21:20

salut et merci Charabia,
j'ai deja une variable de session pour la devise :
if (!isset($_SESSION['devise'])) $_SESSION['devise']="EUR";
$currency = $_SESSION['devise']; 
mais je ne sais pas comment l'integrer a mon formulaire

par charabia » 22 nov. 2006, 21:04

Tu peux une variable de session pour ta devise, tu pourras ainsi la récupérer sur d'autres pages.

mémorisation valeur formulaire sur plusieurs pages

par Chile » 22 nov. 2006, 20:01

salut,
j'ai réaliser un petit formulaire pour choix devise.
Je conserve le choix du visiteur sur ce formulaire et sur cette page,
par contre je n'arrive pas a la conserver sur d'autre page :cry:
j'ai une varible de session et une variable de la devise qui suit tres bien pour l'affichage des prix suivant la devise choisi, mais je n'arrive pas a l'integrer au formulaire.
voici mon formulaire:
<form action="" method="post" name="devise" id="devise">
                      <div align="center">
                        <select name="devise" id="devise" onChange="javascript:this.form.submit();">
                          <option value="EUR" <? if (isset($_POST['devise']) AND $_POST['devise'] == 'EUR') { echo 'selected="selected"'; } ?>>€ Euro</option>
                          <option value="USD" <? if (isset($_POST['devise']) AND $_POST['devise'] == 'USD') { echo 'selected="selected"'; } ?>>$ us</option>
                        </select>
                      </div>
                  </form>
merci