Données de session non enregistrées

Eléphant du PHP | 65 Messages

21 mars 2011, 15:55

Bonjour,

//$liste est un tableau renseigné de valeurs

1er cas, je code:
session_start();
...
...
if (isset($_POST['submit'])) {	
  $_SESSION['liste'] = $liste;
}
=> les données de session ne sont pas enregistrées dans $_SESSION['liste']

2ème cas, je code ( sans if (isset($_POST['submit'])) ):
  $_SESSION['liste'] = $liste;
=> les données de session sont bien enregistrées dans $_SESSION['liste']

J'aimerais comprendre pourquoi les données de session ne sont pas enregistrées dans le 1er cas et le sont dans le 2ème ?

Cordialement
Jac.

ViPHP
ViPHP | 2291 Messages

21 mars 2011, 16:34

Salut,
session_start();
 ...
 ...
//Dans le cas ou $_POST['submit'] existe
 if (isset($_POST['submit'])) { 
$_SESSION['liste'] = $liste;
 }
 
Cela veux dire que soit $_POST n'existe pas (dans ton formulaire) ou alors il porte un nom différent :)
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Eléphant du PHP | 65 Messages

21 mars 2011, 18:48

J'ai trouvé mon erreur:
en faisant :
echo '<form method="POST" action="client2.php" name="client">';
...
if (isset($_POST['submit'])) {
$_SESSION['liste'] = $liste;
}
l'action n'était pas sur la page courante (client2.php) (celle qui traite les données $liste).

merci dunbar.