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 06/09/2006, 17h11   #1
Nouveau Membre du Club
 
Inscription : février 2005
Messages : 164
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 164
Points : 37
Points : 37
Par défaut untilisation des sessions

Bonjour,

J'ai du mal a comprendre le fonctionnement des sessions. Je souhaiterais recuperer les elements selectionnés dans un formulaire (essentielleemnt des listes de choix) A chaque fois que je selectionne un element d'une liste de choix , je realise un submit(onchange = ... submit(). Dans le fichier php , j'appelle la fonction session_start(). Dans ce cas est ce que mes donnees enregistrer dans ma session sont-elles perdues ?

voici un bout de mon code :

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
 
 
<?php
session_start();
 
 
// recuperation de l'element selectionne dans ma liste de choix
    	if (isSet($_POST['lst_theme'])) 
    	{
		$theme = $_POST['lst_theme'];	
		if  ($theme != NULL) $_SESSION["id_theme"] = $theme;	
    	}
	//else $theme = NULL ;	
 
?><html>
<LINK REL=stylesheet HREF="Style_Form.css" TYPE="text/css">
<!-- script java : on recupere l'index de la couche selectionne afin de mettre a jour le formulaire --!>
<script type="text/javascript" language="javascript">
	function getSelectedIndexLibelle() 
	{
		s1 = document.getElementById('lst_libelle');
		return s1.selectedIndex;
	}
</script>
mcdelay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 17h35   #2
Membre chevronné
 
Avatar de Hervé Saladin
 
Développeur Web
Inscription : décembre 2004
Messages : 636
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2004
Messages : 636
Points : 689
Points : 689
à priori ça à l'air bon pour le code PHP.
Je ne comprend pas : quel est ton problème ... ?
Conseil : pour des explications sur les sessions, avant toute chose va voir la FAQ : http://php.developpez.com/faq/?page=sessions
__________________
Ne cliquez pas sur ce lien
Hervé Saladin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2006, 17h43   #3
Membre émérite
 
Avatar de alain31tl
 
Alain
Inscription : novembre 2005
Messages : 897
Détails du profil
Informations personnelles :
Nom : Alain
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : novembre 2005
Messages : 897
Points : 910
Points : 910
Salut

C'est l'objectif de ton formulaire, je suppose, celui de transmettre une autre variable à ta session ?

Dans ce cas, il te faudrait préciser juste avant ton formulaire la ligne :

Code :
session_unregister('lst_theme');
Et/ou toutes autre variables à remplacer.
__________________
Ce n'est pas parce que les choses sont difficiles qu'on n'ose pas les entreprendre.
C'est parce qu'on n'ose pas les entreprendre qu'elles sont difficiles.
alain31tl est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 15h04   #4
Nouveau Membre du Club
 
Inscription : février 2005
Messages : 164
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 164
Points : 37
Points : 37
.. je comprends un peu mieux le fonctionnement. En fait j'ai plusieurs listes de choix, quand je selectionne un element de la liste 1, je perds la valeur de la variable de la liste 2 préalablement selectionné (un submit est réalisé pour toutes selections, liste 1 ou liste 2, je souhaiterai conservé la valeur de la liste 2) . Par contre j'ai remarqué que si je ne fais pas de nouveau un session_start la valeur de liste2 est conservé. Faut-il donc a chaque submit refaire le session_start () ? Peut on verifier si une session est deja ouverte et dans ce cas ne pas reouvrir une sessio ?

Merci pour votre soutien !!
mcdelay est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 15h11   #5
Membre chevronné
 
Avatar de Hervé Saladin
 
Développeur Web
Inscription : décembre 2004
Messages : 636
Détails du profil
Informations personnelles :
Âge : 30

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2004
Messages : 636
Points : 689
Points : 689
- tu dois appeler session_start() chaque fois que tu vvas vouloir accèder à la session dans ton script.

- tu peux appeler session_start() autant de fois que tu veux, ça n'ouvrira pas plusieurs sessions distinctes, ca sera toujours la meme. Il est donc inutile de vérifier si une session est deja ouverte.

- tu peux ne pas appeler session_start() pendant plusieurs pages, le contenu de ta session ne sera pas perdu pour autant (il faudra juste bien penser à rapeller session_start() avant d'y accèder)

- lorsque tu apelles session_start() tu ne dois jamais avoir envoyé quoi que ce soit au navigateur dans ce script (pas de code html, pas de echo ni de print, pas de header etc ...).

voila, c'est un peu plus clair comme ça ?
__________________
Ne cliquez pas sur ce lien
Hervé Saladin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/09/2006, 15h23   #6
Nouveau Membre du Club
 
Inscription : février 2005
Messages : 164
Détails du profil
Informations forums :
Inscription : février 2005
Messages : 164
Points : 37
Points : 37
.. Oui c'est plus clair , je pensais qu'une sesion strat réinitialisait à chauqe fois toutes les variables mais ce n'est pas le cas et opuis j'ai fait quelques modifs dans mon programme et tout marche comme je le souhaite !

Merci pour votre aide !
mcdelay 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 08h17.


 
 
 
 
Partenaires

Hébergement Web