Nous avons résolu un problème que nous avions avec un navigateur en raison de l'impossibilité de se connecter aux sous-domaines en ajoutant la ligne de code suivante.Pourquoi mes sessions ne sont-elles pas enregistrées au hasard?
ini_set('session.cookie_domain', '.'.get_domain('http://'.$_SERVER['SERVER_NAME']));
La fonction get_domain obtient le domaine d'un site de sorte que "subdomain.com" renvoie "domain.com". Nous ajoutons un "." afin que nos sessions soient bonnes dans tous les sous-domaines.
Ce résolu le problème de ne pas être en mesure de se connecter, mais le problème est maintenant que depuis que nous avons ajouté cette ligne de code nous au hasard pas être en mesure de se connecter parce que les sessions ne sont pas créés et sont juste NUL.
Je dis au hasard parce que je ne peux pas comprendre ce qui le cause. Un jour, un utilisateur peut se connecter, il tente de se connecter le jour suivant et cela ne fonctionne pas. Effacer les cookies résoudra généralement le problème. Une idée de ce que je pourrais faire de mal? J'ai essayé de googler mais je n'ai rien trouvé qui ait aidé, nos utilisateurs sont frustrés et je manque d'idées. Toute aide est vraiment appréciée.
J'utilise des cookies de session et non manuellement la définition de cookies via la fonction set_cookie. Êtes-vous en train de dire que je devrais voir si la création d'un cookie est possible avant de se connecter? Je ne comprends pas vraiment votre suggestion de test GET. – Gazillion
Le test consiste simplement à tester si la configuration d'un cookie fonctionne et à n'offrir un formulaire de connexion que si le paramétrage d'un cookie a fonctionné. Pour tester si un cookie peut être défini, vous devez définir le cookie, faire une demande supplémentaire au navigateur et dans cette requête supplémentaire, vérifier si le cookie a été défini. Le cookie de test est un autre cookie puis le cookie de session. Est-ce que vous définissez beaucoup plus d'autres cookies? – hakre
Merci, mais il s'avère que j'avais oublié de faire le changement dans l'un de mes en-têtes. Je suis embarrassé. – Gazillion