PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » Session PHP ok, sauf sous Safari !!! » 25-06-2009 18:35:57

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***

#2 Re : Forum Général PHP » Session PHP ok, sauf sous Safari !!! » 25-06-2009 18:35:57

Ben merci pour l'info... mais je n'ai pas trouvé sur Google que Safari bloque des sites marchands ou des forums par ex, où les sessions sont utilisées largement.
Il doit bien y avoir une solution quelque part...

#3 Forum Général PHP » Session PHP ok, sauf sous Safari !!! » 25-06-2009 18:35:57

philoli
Réponses : 3

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 mySQL 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 XP et Vista 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 dans le header.

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 !

Pied de page des forums

Propulsé par FluxBB