Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/05/2006, 08h53   #1
Membre régulier
 
Avatar de carelha
 
Inscription : mars 2006
Messages : 168
Détails du profil
Informations personnelles :
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : mars 2006
Messages : 168
Points : 74
Points : 74
Par défaut formulaire et $data > $_session

Bonjour,

j'ai une page sur laquelle sont affichés les résultats d'une requête sous la forme $data. Ils sont inclus dans un formulaire de type post.

Je souhaite ensuite transformer ces résultats en variables de session, mais quand je fais print_r($_SESSION); je n'ai aucun résultat.


sur ma première page, pour afficher les résultats, j'ai
Code :
1
2
3
4
5
6
while ($data = mysql_fetch_array($req1)) 
{
 echo ' <form action="guideactivites.php" method="post"><br>Activite :'.$data['activite'].'<br>';
  echo 'Activité numéro :'.$data['id'].'<br>';
echo '  <input type="submit" name="modifier" value="Modifier">';
}
j'ai ensuite dans la même page (guideactivite.php)

Code :
1
2
3
4
5
if (isset($_POST['modifier']) && $_POST['modifier'] == 'Modifier') 
{
$_SESSION['id'] = $_POST['id']; 
header('Location: guideactivites_modif.php');
exit();}
mais quand je fais dans guideactivites_modif.php print_r($_SESSION), il n'y a aucun résultat, la variable n'est pas déclarée.


Merci beaucoup pour votre aide, je suis bloquée.
carelha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 08h57   #2
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
Salut !

tu appelles bien sur chaque page où tu accèdes à $_SESSION ?
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 09h05   #3
Membre régulier
 
Avatar de carelha
 
Inscription : mars 2006
Messages : 168
Détails du profil
Informations personnelles :
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : mars 2006
Messages : 168
Points : 74
Points : 74
oui, dans la première j'ai
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
if (isset($_POST['modifier']) && $_POST['modifier'] == 'Modifier') 
{
session_start();
$_SESSION['id'] = $_POST['id']; 
mysql_free_result ($req1);
mysql_close ();
header('Location: guideactivites_modif.php');
exit();
}
?>
et dans guide activites_modifs j'ai
Code :
1
2
3
4
5
6
7
8
9
10
11
<?php
session_start();
if (!isset($_SESSION['login'])) 
{
    header ('Location: guideindex.php');
    exit();
}
else
{
print_r($_SESSION);
}
carelha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 09h11   #4
Rédacteur
 
Avatar de Swoög
 
Inscription : janvier 2003
Messages : 6 053
Détails du profil
Informations personnelles :
Âge : 24

Informations forums :
Inscription : janvier 2003
Messages : 6 053
Points : 7 144
Points : 7 144
Envoyer un message via MSN à Swoög Envoyer un message via Skype™ à Swoög
fait un après le session_start() et vérifie que le résultat est bien le même
__________________
Rédacteur "éclectique" (XML, IRC, Web...)
Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
pensez à la balise [code] (bouton #) et au tag (en bas)
Swoög est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 09h16   #5
Membre habitué
 
Avatar de if_zen
 
Homme Olivier
Développeur Java
Inscription : juin 2004
Messages : 252
Détails du profil
Informations personnelles :
Nom : Homme Olivier
Âge : 30
Localisation : France, Puy de Dôme (Auvergne)

Informations professionnelles :
Activité : Développeur Java
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2004
Messages : 252
Points : 148
Points : 148
Envoyer un message via MSN à if_zen
salut !

Ton session_start(); doit être la toute première instruction de ta page php...
Au lieu de faire if (...) session_start(); essaye de faire session_start(); directement.

Dans ta premiere page tu as $req1, ça correspond bien à quelque chose ?
if_zen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 09h26   #6
Membre régulier
 
Avatar de carelha
 
Inscription : mars 2006
Messages : 168
Détails du profil
Informations personnelles :
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : mars 2006
Messages : 168
Points : 74
Points : 74
en fait j'avais un premier session_start(); en tout début de page,
pour limiter l'accès et j'en avais remis un à la fin avant de déclarer les variables de sessions , j'ai donc enlevé le second.
quand je fais echo session_id (tout àla fin, cf. code), il ne m'affiche que la toute première variable (le login qui sert à limiter l'accès) et pas les autres.


$req1 correspond bien à qq chose
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 
//première session
<?php
session_start();
if (!isset($_SESSION['login'])) 
{
    header ('Location: guideindex.php');
    exit();
}
else
{
// on se connecte à notre base 
mysql_select_db ('*****', $base);//etc etc
 
//première requête que je vous passe pour obtenir $clef
 
//requête 
$sql1 = 'SELECT id, public, activite, description FROM aide_ac WHERE structure="'.$clef.'"';
 
$req1 = mysql_query($sql1) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
 
//récupération des résultats sous forme d'un tableau
 
 while ($data = mysql_fetch_array($req1)) 
{
  echo ' <form action="guideactivites.php" method="post"><br>;
  echo 'Activité numéro :'.$data['id'].'<br>';
echo 'Public :'.$data['public'].'<br>';
echo '  <input type="submit" name="modifier" value="Modifier">';
}
}
?>
 
// déclaration des variables de session
 
<?php
if (isset($_POST['modifier']) && $_POST['modifier'] == 'Modifier') 
{$_SESSION['id'] = $_POST['id']; 
mysql_free_result ($req);
mysql_free_result ($req1);
mysql_close ();
echo session_id();
}
?>

Merci de votre aide !
carelha est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 09h32   #7
Expert Confirmé
 
Avatar de Eusebius
 
Inscription : avril 2003
Messages : 3 286
Détails du profil
Informations forums :
Inscription : avril 2003
Messages : 3 286
Points : 3 155
Points : 3 155
Il faut des champs dans le formulaire pour envoyer des variables POST.
Ta balise form n'est pas fermée.
Eusebius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/05/2006, 09h37   #8
Membre régulier
 
Avatar de carelha
 
Inscription : mars 2006
Messages : 168
Détails du profil
Informations personnelles :
Localisation : France, Yvelines (Île de France)

Informations forums :
Inscription : mars 2006
Messages : 168
Points : 74
Points : 74
merci !

maintenant ça saute aux yeux.
carelha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h49.


 
 
 
 
Partenaires

Hébergement Web