[SESSION] 2 domaines, même script
Posté : 09 nov. 2009, 01:30
par hamzafes
Salam,
j'ai la situation suivante:
- j'ai 2 noms de domaine A et B, qui pointent sur un même dossier contenant un fichier index.php (deux domaines compagnons, c-à-d vu de l'extérieur deux sites différents)
- ce fichier index.php génère un code html différent en fonction du domaine (je teste sur $_SERVER['HTTP_HOST'])
- mon script (index.php) crée des variables de session différentes pour chaque domaine.
Ma question est la suivante :
vu que c'est un même script sur un même serveur est ce qu'avec le domaine A je peux accéder aux variables de session créer avec le domaine B?
Merci d'avance
et Allah mo3ine
Re: [SESSION] 2 domaines, même script
Posté : 09 nov. 2009, 09:44
par @rthur
Bonjour,
Je n'ai jamais eu ce cas d'utilisation mais à priori je dirai qu'il suffit de créer 2 cookies de sessions enregistrés avec les bons noms de domaine (paramètre $domain)
http://fr.php.net/session_set_cookie_params
http://fr.php.net/setcookie
Par ailleurs, ça n'a rien à voir avec ta question mais si tu fais 2 sites avec exactement le même contenu et juste le logo ou des zones infimes qui changent, méfies toi tu risques de te faire pénaliser/bannir par Google
Re: [SESSION] 2 domaines, même script
Posté : 09 nov. 2009, 13:59
par hamzafes
Merci @arthur,
En fait, mes deux sites n'ont pas un même contenu, c'est juste le traitement qui est le même, le contenu de chaque site est récupèré depuis la base de données. Mon but est d'éviter que l'un des domaines écrase les variables de session de l'autre, pour qu'ils restent complètement indépendant.
ex.: $_SESSION['email'] peut avoir une valeur différente en fonction du nom de domaine
Donc j'ai essayé en local deux fonctions:
1- La première est celle que vous m'avez proposé session_set_cookie_params (avant session_start) je modifiais à chaque fois le 3 ème argument $domain par l'un des domaines. Résultat : que $domain soit A ou B les variables sont les mêmes.
2- Et j'ai utilisé aussi session_name($name) (avant session_start), j'ai mis comme nom de session le nom de domaine (en remplaçant le point par _) et ça a marché.
je ne sais pas sur un serveur qu'est ce que ça peut donner.
Merci encore une fois
et Allah mo3ine