Vous n'êtes pas identifié(e).
Pages :: 1
Bonsoir à tous,
Je poste ici car j'ai un problème avec une session qui ne tient pas avec les navigateurs suivants : safari, chrome, Mozilla.
Cela fonctionne très bien avec internet explorer...
Chacune de mes page commence par ce code php :
---------------------------------------------
session_start();
require("../conf.php3");
if (!isset($_SESSION['pseudo']))
{
header("Location: deconnexion.php");
exit();
}
$sql = connect_sql();
----------------------------------------------
Lorsque ca ne fonctionne pas, je suis déconnecté au bout de une, 3 , 7 pages consultées. Ca dépend des fois...
Je déduis que je n'ai pas fait d'erreur dans mon code php puisque cela fonctionne de temps à autre et surtout que cela fonctionne avec ie.
Si vous avez des idées, je suis preneur car je comprends vraiment pas...
Hors ligne
Bonjour,
Lorsque ca ne fonctionne pas, je suis déconnecté au bout de une, 3 , 7 pages consultées. Ca dépend des fois...
La gestion des durées de session est quelque chose que l'on peut contrôler avec précision et non au petit bonheur la chance.
Il y a deux sources de contrôle de gestion de session possibles:
- Au niveau de la configuration de votre serveur Apache.
- Au niveau de votre applicatif en bases de données (éventuellement en version ultra light avec des cookies que je ne recommande pas).
++
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Bonjour,
merci beaucoup pour la réponse...
Je n'utilise pas les cookies pour garder la session active...
Au niveau de la configuration du serveur Apache :
Je suis chez OVH en hébergement mutualisé perso. Je viens de contacter leur service technique pour voir si le problème ne vient de la config du serveur...
A noter qu'avec tous mes sites web hébergés chez OVH en 60gp, aucune soucis de déconnexion...
Encore un indice qui pousse à croire que le problème se situe chez eux ou tout simplement que mon hebergement n'est pas compatible avec les fonctions sessions de PHP.
j'attends la réponse d'ovh...
a+
Hors ligne
Bonjour,
OVH n'y est pour rien. Ce sont des paramètres (il y en a trois) qui normalement relèvent de votre compétence et qui servent à gérer les sessions selon vos besoins de production, et que vous soyez sur du dédié ou du mutualisé.
Ces trois paramètres (cf. ci-dessous) sont configurables à partir de votre code PHP via l'instruction ini_set() dont voici un lien vers la liste des paramètres.
session.gc_divisor
session.gc_maxlifetime
session.gc_probability
Bonne continuation
Note :
Il y a deux sources de contrôle de gestion de session possibles:
- Au niveau de la configuration de votre serveur Apache.
- Au niveau de votre applicatif en bases de données
Elles sont complémentaires
Dernière modification par Jc (11-01-2014 11:56:00)
POO PHP+Ajax en MVC avec PDO et Bases de données épaisses : What else?
Hors ligne
Merci pour la réponse,
Je viens de tester.
même avec ces 3 paramètres sur mes pages, rien y fait...
J'insiste une nouvelle fois sur le fait que sur 10 sites web similaires qui utilise le même bout de code PHP, c'est le seul qui me fait cela et uniquement avec Google chrome. C'est très déroutant.
D'ailleurs, lorsque je perds la session avec chrome, et que je me reconnecte sans fermer la page du navigateur, ca fonctionne.
Mais bon, si mes utilisateurs doivent se connecter 2 fois pour visualiser leur espace membre, ca va pas le faire je pense.
Je suis à cours d'idées d'autant quand me documentant j'ai vu que d'autres ont le même problème que moi avec chrome ..
Pour info j'ai testé avec ce code PHP :
ini_set('session.gc_maxlifetime', 5000);
ini_set('session.gc_divisor', 100);
ini_set('session.gc_probability',0);
session_start(); //On ouvre la session pour pouvoir verifier si le membre est connecté
if (!isset($_SESSION['pseudo'])) //Le code pour verifier qu'une session existe
{
echo "vous devez etre connecte"
}
Franchement, tous les tutos que j'ai trouvé sur les sessions indique ce genre de code, je ne sais pas quoi faire d'autre
a+
hervé
Hors ligne
Apres une multitude de test, je viens de m'apercevoir que la déconnexion se fait lorque j'utilise mon menu css3 qui se trouve dans mon fichier header.php
que j'appelle sur chaque page de cette façon :
<?
require ("header.php");
?>
Lorsque je passe par un lien de mon corps de page, pas de pb...
Je deviens fou...
bonne nuit, ras le bol
Hors ligne
Saluton,
Si tu ne veux pas avoir d'autres mauvaises surprises évite les short-tags PHP.
Les balises PHP c'est <?php ?>
Ça n'a probablement rien à voir avec ton problème pour lequel il pourrait nous être utile de voir ce que contient header.php même si, a priori, je ne vois pas en quoi CSS3 peut interférer avec les sessions.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
Bonjour,
A force de tester, je viens de voir ce qui cloche et je ne l'aurais jamais cru !
dans mon header.php se trouve le menu de mon site avec des liens de type : http://www.nomdedomaine.com/repertoire/page.php
Ces urls me déconnectent.
Si je place des urls de ce type : repertoire/page.php
je ne suis plus déconnecté !!!
Vous y comprenez quelque chose, moi rien du tout ??
En tout soulagé d'avoir trouver la faille à mon probleme... ouff
a+
hervé
Hors ligne
Pages :: 1