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 15/05/2007, 11h09   #1
Nouveau Membre du Club
 
Inscription : avril 2004
Messages : 77
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 77
Points : 27
Points : 27
Envoyer un message via MSN à mulot49
Par défaut plusieurs session_start() obligatoires ?

bonjour, j'ai un problème lors de l'écriture en session, voila le code :
(premier code de la page)
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
require_once("require.php"); 	//include differents configuration files
session_start();//Start the session (must be after require.php)				
session_destroy();				//Delete all keys in the session
try{
	$mySkin=new Skin(); 			//load the skins
	$myLanguage=new Language(); 	//load the language
	$Users=new ListUsers();			//get All users of the database
}catch(CyberviaException $Ex){
	Error($Ex);exit;
}
if(isset($_POST['idUser'])){
	session_start();
	$_SESSION["currentuser"]=$Users->getUserById($_POST['idUser']);
}
?>
Si je ne rajoute pas le session_start() en gras, la variable currentuser n'est pas mise en session. Elle l'est en fait dans la page courante mais pas sur mes autres pages (lorsque je redirige vers une autre page)?

Pourquoi ? Merci
mulot49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2007, 11h39   #2
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 686
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

Informations professionnelles :
Activité : Développeuse PHP/Java

Informations forums :
Inscription : avril 2007
Messages : 3 686
Points : 5 451
Points : 5 451
Bonjour,
Etant donné que tu détruis ta session, il faut bien la rouvrir il me semble.
Code :
1
2
3
4
session_start();
session_destroy();
...
session_start();
__________________
Modératrice PHP
Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2007, 12h01   #3
Membre chevronné
 
Avatar de Dia_FR
 
Homme Aurélien
Développeur Web
Inscription : avril 2006
Messages : 510
Détails du profil
Informations personnelles :
Nom : Homme Aurélien
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2006
Messages : 510
Points : 643
Points : 643
pas ok :
Code :
1
2
session_start(); //Start the session (must be after require.php)
session_destroy(); //Delete all keys in the session
session_start crée une session
session_destroy la détruit, il ne la vide pas !

en gros, tu crées un objet et juste derrière, tu le détruis et plus loin, tu essayes de l'utiliser !

ok :
Code :
1
2
session_start(); //Start the session (must be after require.php)
$_SESSION = array(); //Delete all keys in the session
__________________
Dia [ Page DVP ] [ Blog ] [ Site pro ]
Dia_FR est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/05/2007, 14h30   #4
Nouveau Membre du Club
 
Inscription : avril 2004
Messages : 77
Détails du profil
Informations forums :
Inscription : avril 2004
Messages : 77
Points : 27
Points : 27
Envoyer un message via MSN à mulot49
Ok merci, le problème venait bien du destroy();
mulot49 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 06h51.


 
 
 
 
Partenaires

Hébergement Web