Je développe actuellement deux sites Web et les débogèrent en se connectant à Le premier site est référencé avec J'ai créé un script de connexion pour chacun dans lequel trois variables de session spécifiques à domaines sont définies, par exemple: p>
Cependant, lorsque je me connecte à Des idées sur la manière dont je pourrais résoudre ce problème serait très apprécié. : ( p> localhost code>. p>
http: // localhost / web1 code> et la seconde est référencée avec
http: // localhost / web2 code>. p>
$ _ session ['web1_user'] code> li>
$ _ session ['web1_login'] code> li>
$ _ session ['web1_sessionid'] code> li>
ol>
session_destroy () code>, je suis automatiquement déconnecté du site
9 Réponses :
Les sessions BEZ sont partagées dans le même navigateur. Si vous vous déconnectez à partir d'un onglet, les autres onglets seront déconnectés, P>
Exemple: je me connecte à Chrome, et j'ouvre dans un autre chrome, les sessions sont partagées, donc si je me déconnecte d'un, l'autre est déconnecté automatiquement! P>
Définir un nom de session différent dans chaque application, soit via session_name ( ) code>
ou via session.name code>
. P>
Vous êtes un homme de haute représentant et personne n'attendant qu'un lien ne répond que de votre part
Vous pouvez utiliser ce
Vous pouvez utiliser un nom de session différent dans tous les sites Web, comme pour le premier site Web que vous avez utilisé J'ai déjà fait face à ce problème et j'ai résolu-le en utilisant un nom différent de la session. p> _ session ['web1_user'], $ _session ['web1_login'], $ _session ['web1_sessionid'] code> Deuxième site Web Vous pouvez utiliser
_ session ['web2_user'] code> p>
Utilisez avant session_start (); code> p> p> p> P>
J'ai récemment résolu un problème qui est lié à votre question. À l'origine, je cherchais une mise en œuvre similaire à ce que vous décrivez et, après avoir fait un peu de recherche, c'est ce que j'ai proposé:
Site 1 Fort>: P> $some_name = session_name("some_name");
ini_set('session.cookie_domain', 'yourdomainname');
session_start();
echo $_SESSION['user'];
echo $_SESSION['password'];
Vous devez créer un hôte différent pour différents sites P>
Dans ce cas, vous avez deux sites exécutés sur le même hôte appelé localhost afin que les mêmes sessions de nom d'hôte soient partagées. P>
Inclure le fichier avec le démarrage de la session dans le deuxième domaine. p>
Web1 contient le fichier de démarrage de la session, web2 include ('../ web1 / session.php'); p>
AHHH, les plaisirs de l'hébergement partagé! La meilleure chose à faire est simplement d'utiliser simplement un navigateur différent pour chaque site chaque fois que vous avez besoin d'être connecté aux deux sites simultanément ...
Pour expliquer pourquoi cela est important, vous devez comprendre ce qui suit: P>
Ce qui précède tuera toutes les variables de session reliant le serveur à votre navigateur (du côté serveur). p> Le moyen de gérer cela facilement consiste à effectuer des variables de session dans un autre ensemble de tableaux: p> vous pouviez Bien sûr, faites-la imaginer: p> puis lorsque vous déconnectez du site 1 p> Dans ce cas, vous avez créé Un système de gestion de session distinct pour chaque site (à l'aide d'une matrice bidimensionnelle, dont la couche supérieure est saisie par l'identifiant de votre site). Cela le rend afin que chaque site gère un ensemble séparé de variables de session - et lorsque vous vous en détruisez un, vous ne touchez pas les autres. P> Cependant, je vous recommande donc d'utiliser différents navigateurs (ou en plus). .. p> p> Session code> Les variables sont stockées sur le serveur, avec une référence clé sur le serveur et un cookie sur votre navigateur. Une fois que vous non défini et détruisez l'un des deux des deux, une correspondance ne peut plus être faite - et votre session est partie! P>
N'utilisez pas Session_Destroy pour ce cas. Au lieu de cela, désintisez les clés de session pour chaque site Web en particulier.
Si vous ne voulez pas modifier votre code comme solution ci-dessous, pointez BTW. Je vous suggérerais de jeter un coup d'œil à la création d'hôtes virtuels et de modifier votre fichier hôte. De cette façon, vous pouvez simuler que vous travaillez sur des noms de domaine entièrement qualifiés pour les deux applications, où les noms de domaine sont différents. Cela résoudrait votre problème localhost dans un instant.