[Php] Sessions (perte avec tableau)
actiproj
-
xdiz Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
xdiz Messages postés 108 Date d'inscription Statut Membre Dernière intervention -
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 :
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
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
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:
- [Php] Sessions (perte avec tableau)
- Tableau word - Guide
- Tableau ascii - Guide
- Trier un tableau excel - Guide
- Tableau croisé dynamique - Guide
- Imprimer tableau excel sur une page - Guide
6 réponses
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é
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é
Bonjour,
Affiche à la fin de ton code ceci :
Cela permet d'afficher toutes les variables de ta page.
Affiche à la fin de ton code ceci :
echo '<pre>'.print_r($GLOBALS).'</pre>';
Cela permet d'afficher toutes les variables de ta page.
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
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
Bonjour,
Es-tu sûr que $serveur contient les bonnes informations ?
Essaie de faire var_dump($serveur) pour voir.
Xavier
Es-tu sûr que $serveur contient les bonnes informations ?
Essaie de faire var_dump($serveur) pour voir.
Xavier
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question