Variables de session !!!

Résolu
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006 - 26 mai 2005 à 17:39
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 27 mai 2005 à 14:40
Bonjour, j'ai un formulaire à partir duquel l'utilisateur doit sélectionner deux critères, une fois que l'utilisateur à sélectionné ces critères, la page est rechargée sur elle même afin d'avoir les liens correspondants!
Mon problème est qu'il ne conserve pas en mémoire la valeur de la variable lorsque qu'on change de critère. j'ai essayé avec session_start etc .. maisj e comprends pas exactement ce que je dois faire pour qu'elle soir conservée !!
voici mon script: Merci d'avance.

<?
session_start();
?>


<html>
<head>
<title>RESULTAT</title>
</head>

- LISTE DES PRINCIPAUX ETABLISSEMENTS PAR ZONE GEOGRAPHIQUE:

Sélectionner l'année du fichier souhaité :

<FORM method="post" action="liste3.php" >
<select name="annee">
<option value=" "> </option>
<option value="2004" >2004</option>
<option value="2005" >2005</option>
</select>
L'année sélectionnée est :
<?php
echo $annee;
$var1=$annee;
?>

Sélectionner le résultat souhaité;
(effectif, nombre d'établissement global ou par tranche d'effectif):

<select name="result" onchange="this.form.submit();">
<option value=" "> </option>
<option value="EFFECTIF">EFFECTIF</option>
<option value="NBETABL">NOMBRE D'ETABLISSEMENT</option>
<option value="NBETABLT">NOMBRE D'ETABLISSEMENT PAR TRANCHE D'EFFECTIF</option>
</select>
Le résultat sélectionné est :
<?php
echo $result;
$var2=($result);
$_session["ann"]=$var1;
?>


<TABLE border="1" cellspacing="1" width="80%" align="center">
<TR>
<TD width="80%" align="left" border="0"> -PAR COMMUNE
</TD>
</TR>
<TABLE border="0" cellspacing="1" width="80%" align="center">
<TR>
<TD width="10%" align="left" border="0">
</TD>
<TD width="70%" align="left">/<? echo $var2 ; ?>/libcom.htm"> DU DEPARTEMENT
</TD>
</TR>
<TR>
</form>

</html>

5 réponses

vince1415 Messages postés 88 Date d'inscription dimanche 19 octobre 2003 Statut Membre Dernière intervention 24 janvier 2006
27 mai 2005 à 10:54
Salut,

En faite la ton script envoie les données vers ta page mais tu ne les
récupéres jamais, il faut que au début de ton script tu fasse par
exemple :

<?php

if ($_POST['annee'] != NULL) // Si on a posté une année

$_SESSION['annee'] = $_POST['annee']; // On stocke la valeur dans la session

?>



tu fais pareil pour tous les champs de ton formulaire.

Sinon tu peut chercher sur internet ya vraiment beaucoup de tuto sur
les formulaires en plus le principe n'est pas très compliqué.

Bonne continuation
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
26 mai 2005 à 19:52
Salut,



remplace le <? par <?php



ensuite tu dois suivre un schéma simple :



Si les données du formulaire ont été postées tu affiches les champs
avec leur valeur sinon tu affiches le formulaire avec des champs vides
(sans l'attribut value)

<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
27 mai 2005 à 09:15
Merci mais je comprends pas tout !! je sais pas trop comment faire ça !!!!
:-((
0
fredo35m Messages postés 244 Date d'inscription jeudi 14 avril 2005 Statut Membre Dernière intervention 12 juillet 2006
27 mai 2005 à 11:12
merci!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
27 mai 2005 à 14:40
Ne surtout pas coder avec un if($variable!=NULL)



Remplace ça :

<?php

if ($_POST['annee'] != NULL) // Si on a posté une année

$_SESSION['annee'] = $_POST['annee']; // On stocke la valeur dans la session

?>



par ça :



<?php

session_start();

if (isset($_POST['annee'])) // Si on a posté une année

$_SESSION['annee'] = $_POST['annee']; // On stocke la valeur dans la session

?>


<hr size="2" width="100%">




<li>Entraide, dépannage et vulgarisation informatique: Mon site de vulgarisation informatique</li>
0
Rejoignez-nous