[Php] Sessions (perte avec tableau)

Fermé
actiproj - 28 juil. 2011 à 01:02
xdiz Messages postés 108 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 19 décembre 2012 - 28 juil. 2011 à 16:01
Bonjour,

Je développe actuellement une interface d'identification en PHP 5 chez OVH
Le visiteur tape son login, mot de passe et un serveur de référence
Il est ensuite redirigé sur ce serveur de référence

Je me sers pour cela des sessions qui me permettent de stock l'identifiant utilisateur et l'identifiant du serveur

***************************************************
Sur le fichier d'identification, j'ai le code suivant :
$serveur= $liste_serveur[$id_serveur];
list($numero_serveur, $prefixe_serveur, $url, $dirroot) = $serveur;
			
$_SESSION['Membre_serveur'] = $id_serveur;
$_SESSION['Membre_serveur_Prefixe'] = $prefixe_serveur;
$_SESSION['Membre'] = $id;
// Le tableau de session contient les bonnes valeurs ici

redirection( $url."/index.php"); // En fait un header derrière


Dans le fichier que je récupère les sessions sont vides
$liste_serveur : Tableau initialisé en lisant une base de données avec PDO
***************************************************



***************************************************
J'ai pu remarqué en revanche que si je met le code suivant
if ( $id_serveur == 2) {
	$numero_serveur = 2;
	$url = 'http://www.actiproj.com/';
	$prefixe_serveur = 'a1';
}
			
$_SESSION['Membre_serveur'] = $id_serveur;
$_SESSION['Membre_serveur_Prefixe'] = $prefixe_serveur;
$_SESSION['Membre'] = $id;
// Le tableau de session contient les bonnes valeurs ici

redirection( $url."/index.php"); // En fait un header derrière


Dans ce cas les sessions sont bien récupérées
***************************************************

Je n'arrive pas à comprendre pourquoi ça ne fonctionne pas en passant par un tableau alors que ça fonctionne sans (le programme initial est beaucoup plus développé que cela bien entendu et je n'ai pas reproduit en mettant ce simple code)
Merci de votre aide

ActiProj

A voir également:

6 réponses

actiproj Messages postés 3 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 28 juillet 2011 1
28 juil. 2011 à 15:37
Tout d'abord merci pour le var_dump, je ne connaissais pas mais c'est très utile

Ensuite, j'ai fini par trouver, rien à voir avec les variables

Le header se faisait sur un sous domaine et les sessions ne peuvent donc pas fonctionner dans ce cas (la solution de passer par des cookies me dérange pour des raisons de sécurité)

Merci à tous ceux qui ont cherché
1
xdiz Messages postés 108 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 19 décembre 2012 41
28 juil. 2011 à 01:34
Bonjour,

Affiche à la fin de ton code ceci :
echo '<pre>'.print_r($GLOBALS).'</pre>';


Cela permet d'afficher toutes les variables de ta page.
0
actiproj Messages postés 3 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 28 juillet 2011 1
28 juil. 2011 à 01:42
Le stockage doit se faire dans la session, pas dans global
Mais pour répondre à ce que je suppose être ta question, à la sortie du premier fichier PHP, pour les deux codes, j'ai bien les bonnes valeurs dans $_SESSION

Par contre, dans le cas du premier code, je n'ai plus ces valeurs dans le fichier redirigé alors que je l'ai dans le second code et à priori, la seule différence, c'est l'utilisation de ce tableau

Je pensais au départ à un passage par valeur ou par référence mais pour l'instant je ne comprend pas vraiment
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
28 juil. 2011 à 10:08
Bonjour,

Es-tu sûr que $serveur contient les bonnes informations ?
Essaie de faire var_dump($serveur) pour voir.

Xavier
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
actiproj Messages postés 3 Date d'inscription jeudi 28 juillet 2011 Statut Membre Dernière intervention 28 juillet 2011 1
28 juil. 2011 à 10:39
Malheureusement oui, j'ai fait une table de trace qui stocke le contenu des variables au fur et à mesure, ce qui m'a permis d'identifier la solution que je ne comprends pas (et surtout trop statique pour être exploitable)
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
28 juil. 2011 à 11:03
Tu peux quand même nous donner le résultat de var_dump($serveur) ?
0
xdiz Messages postés 108 Date d'inscription jeudi 3 janvier 2008 Statut Membre Dernière intervention 19 décembre 2012 41
28 juil. 2011 à 16:01
Au moins tu as trouvé par toi même, donc c'est parfait :)
0