Transmission variable de session

Transmission variable de session - PHP - Programmation

Marsh Posté le 25-01-2009 à 19:04:45    

Bonjour à tous,
 
 
Je rencontre un problème lors de la transmission de variable de session.
 
Je crée une session pour transmettre une variable de pages en pages.
 
La variable de session prend la forme d'un entier qui est modifié à  
chaque validation et sélection d'un élément de la liste déroulante présente sur toutes les pages.
 
Je récupère bien la valeur de la liste quand je sélectionne pour la première fois l'élément dans ma liste déroulante.
 
Seulement, la 2ème fois, la variable de session ne veut plus s'initialiser et reste sur le 1er élément sélectionner.
 
 
Voici le code :
 

Citation :

<?php
session_start();
if(isset($_SESSION['site'])) {      
 $site = $_SESSION['site'];
}
else {
$_SESSION['site'] = $_POST['site'];
}
?>
<html>
<head>
<title>Zone d'administration</title>
</head>
<body>
<?php
include 'classe_sql.php';
include 'connexion.php';
<?php
$sql_site = mysql_query("select id_site, nom_site from site order by nom_site" );
echo "<form method='post' action=''>";
echo "S&eacute;lectionner le site : ";
echo "<SELECT name='site' size='1'>";
echo "<option value='annuaire.php'>-- S&eacute;lectionner --</option>";
while ($donnees = mysql_fetch_array($sql_site)) {
echo "<option value='".$donnees['id_site']."'";
if($site==$donnees['id_site']) echo " selected";
echo ">".$donnees['nom_site']."</option>";
}
echo "</SELECT>";
?>
<input type="submit" value="Valider">
</form>
</p>
?>


 
 
Merci pour votre aide,
 
José

Reply

Marsh Posté le 25-01-2009 à 19:04:45   

Reply

Marsh Posté le 25-01-2009 à 19:24:20    

Modifie ton  

Code :
  1. if(isset($_SESSION['site'])) {      
  2. $site = $_SESSION['site'];
  3. }
  4. else {
  5. $_SESSION['site'] = $_POST['site'];
  6. }


 
en  
 

Code :
  1. if(isset($_SESSION['site']) && !isset($_POST['site'])) {      
  2. $site = $_SESSION['site'];
  3. }
  4. elseif(isset($_POST['site']) {
  5. $_SESSION['site'] = $_POST['site'];
  6. $site =  $_POST['site'];
  7. }
  8. else
  9. {
  10. $site = null;
  11. }


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
Reply

Marsh Posté le 25-01-2009 à 19:38:52    

Merci beaucoup esox_ch, ça fonctionne parfaitement.
 
A bientôt sur Hardware.fr

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed