Session PHP ok, sauf sous Safari !!!
philoliv
-
philoliv -
philoliv -
Bonjour,
Un truc à s'arracher les cheveux...
J'ai une page PHP "connexion.php" qui traite la saisie d'un pseudo et d'un password pour accéder à une page "membre.php".
- Dans connexion.php, je vérifie que le pseudo est dans la base de données des adhérents, que le mot de passe correspondant est ok, et je renvoie vers la page des membres.
J'ai un truc du genre :
$_SESSION['adh'] = "toto"; // (par ex)
$url=$adr."/membre.php";
header('Location: '.$url);
où $adr est l'URL du site.
- dans membre.php, je commence par vérifier que la variable $_SESSION['adh'] est ok, sinon je renvoie vers une page du type "Vous devez vous connecter pour accéder à cette page".
Toutes les pages du site commencent évidemment par :
session_start();
Tout cela fonctionne sans problème sous IE, sous Firefox, sous Opera.... mais pas sous Safari !!! (j'ai testé différentes versions sous Windows sous 2 PC distincts). Avec Safari, ma variable $_SESSION['adh'] n'est pas reconnue dans "membre.php", et j'ai le msg "Vous devez vous connecter...etc".
Si je recommence une deuxième fois l'identification, ça passe... comme si cette variable n'était prise en compte qu'au 2e coup.
Je sais bien que PHP fonctionne côté serveur et est sans rapport avec le navigateur... je ne sais plus quoi faire, je manque d'idées, c'est à s'arracher les cheveux.
Si vous aviez des idées sur des subtilités de fonctionnement des sessions avec Safari, ça serait top... je n'ai rien trouvé.
Merci d'avance !
Un truc à s'arracher les cheveux...
J'ai une page PHP "connexion.php" qui traite la saisie d'un pseudo et d'un password pour accéder à une page "membre.php".
- Dans connexion.php, je vérifie que le pseudo est dans la base de données des adhérents, que le mot de passe correspondant est ok, et je renvoie vers la page des membres.
J'ai un truc du genre :
$_SESSION['adh'] = "toto"; // (par ex)
$url=$adr."/membre.php";
header('Location: '.$url);
où $adr est l'URL du site.
- dans membre.php, je commence par vérifier que la variable $_SESSION['adh'] est ok, sinon je renvoie vers une page du type "Vous devez vous connecter pour accéder à cette page".
Toutes les pages du site commencent évidemment par :
session_start();
Tout cela fonctionne sans problème sous IE, sous Firefox, sous Opera.... mais pas sous Safari !!! (j'ai testé différentes versions sous Windows sous 2 PC distincts). Avec Safari, ma variable $_SESSION['adh'] n'est pas reconnue dans "membre.php", et j'ai le msg "Vous devez vous connecter...etc".
Si je recommence une deuxième fois l'identification, ça passe... comme si cette variable n'était prise en compte qu'au 2e coup.
Je sais bien que PHP fonctionne côté serveur et est sans rapport avec le navigateur... je ne sais plus quoi faire, je manque d'idées, c'est à s'arracher les cheveux.
Si vous aviez des idées sur des subtilités de fonctionnement des sessions avec Safari, ça serait top... je n'ai rien trouvé.
Merci d'avance !
A voir également:
- Session PHP ok, sauf sous Safari !!!
- Safari pour windows - Télécharger - Navigateurs
- Easy php - Télécharger - Divers Web & Internet
- Télécharger safari mac - Télécharger - Navigateurs
- Atout pique play ok - Forum Jeux vidéo
- Session invalide ou obsolète - Forum Consommation & Internet
1 réponse
Eureka !
J'ai enfin trouvé le problème : j'ai travaillé sur le site en ".com", mais il y avait aussi un nom et une redirection en ".fr".
J'ai tapé une fois, par mégarde, le nom en ".fr" dans Safari, et la complétion d'URL du navigateur m'y a ramené à chaque fois...
Comme j'avais mis l'URL du site en dur dans config.inc, je perdais ma session en zappant du ".fr" au ".com". Le script me ramenait au ".com" et forcément, ça fonctionnait à la seconde tentative.
24h de passés sur un truc pareil... je dois être blond à l'intérieur ***soupirs***
J'ai enfin trouvé le problème : j'ai travaillé sur le site en ".com", mais il y avait aussi un nom et une redirection en ".fr".
J'ai tapé une fois, par mégarde, le nom en ".fr" dans Safari, et la complétion d'URL du navigateur m'y a ramené à chaque fois...
Comme j'avais mis l'URL du site en dur dans config.inc, je perdais ma session en zappant du ".fr" au ".com". Le script me ramenait au ".com" et forcément, ça fonctionnait à la seconde tentative.
24h de passés sur un truc pareil... je dois être blond à l'intérieur ***soupirs***