Inscrit le: 04 Mai 2005 Messages: 66 Localisation: france
Posté le: 01 Avr 2006 17:28
Sujet du message: problème sessions pour nouveau site - [réglé]
Bonjour,
j'ai besoin d'un petit coup de main pour un nouveau site que je suis en train de créer. Pour la première fois, je veux utiliser le système des sessions pour créer un espace réservé aux adultes; je souhaite me passer des cookies en passant simplement la variable 'entrer' pour valider l'accès.
mon problème est que mon code marche très bien sous mozilla sous linux ainsi que sur mon serveur local; (mais pas avec konqueror...). Par contre ça ne marche pas à tous les coups (?) sous windows que ce soit avec ie ou avec firefox et je ne comprends pas pourquoi... il y a un truc qui m'échappe.
Deuxième point, je n'arrive pas à supprimer toutes les variables de la session. j'ai utilisé unset mais malgré il reste toujours des traces dans le dossier sessions et finit par le saturer. j'ai probablement mal du la formuler. Savez-vous au bout de combien de temps le serveur vire ces fichiers temporaires et quelle est la capacité maxi du cache (free)?
En tous les cas, merci pour votre aide.
jean-marie
[édité par AideInfo : merci d'utiliser la balise [code]]
Dernière édition par cpflam le 07 Avr 2006 17:20; édité 1 fois
Auteur
Message
AideInfo Administrateur Expert phpBB
Inscrit le: 11 Juin 2002 Messages: 3913
Posté le: 02 Avr 2006 23:04
Sujet du message:
1. Précise le problème.
2. Les fichiers restent parfois, mais la session ne soit pas être utilisable. Tu peux les supprimer par la fonction unlink() en récupérant la date de modification par filemtime(). Le contenu du dossier sessions n'est pas utilisable en HTTP. _________________ Services gratuits
phpBB-Tutoriaux, tous les tutoriaux pour débuter et utiliser phpBB
sessions
Auteur
Message
cpflam Posteur débutant
Inscrit le: 04 Mai 2005 Messages: 66 Localisation: france
Posté le: 03 Avr 2006 8:13
Sujet du message: sessions
bonjour,
le problème est que de temps en temps - et je ne sais pas pourquoi - quand on clique sur "entrer", au lieu d'arriver dans l'espace "adulte", on est éjecté et retourné vers la page de sélection. par ailleurs, le script ne fonctionne pas du tout quand j'utilise konqueror alors que normalement c'est interprété côté serveur et que le type de navigateur ne devrait pas jouer. je ne vois pas ce qui ne vas pas.
on a donc un script qui fonctionne la plupart du temps avec ie, mozilla et firefox mais pas à chaque coup ce qui est pour le moins gênant... tout se passe comme si parfois la variable "entrer" n'était pas correctement passée ou récupérée puis interprétée par le script de la page "adultes" qui alors redirige vers la page "acces" alors qu'aurait du être affiché le contenu de "adultes".
les sessions sont détruite lors de l'unload de la page adultes. mes "résidus" de sessions apparaissent en fait quand la page adultes ne s'est pas affichée et que la redirection vers la page "acces" s'est produite.
je ne sais pas si j'ai été plus clair, mais il doit y avoir une erreur de code minime qui fait que ça coince déjà avec konqueror et je ne la trouve pas. cette erreur doit plus ou moins être compensée par les autres navigateurs mais pas à chaque coup d'ou le fonctionnement parfois anormal de la page.
maintenant ça peut aussi venir du serveur de free qui n'envoie pas correctement les header quand il est un peu sollicité.
idée?
merci pour tout
jean-marie
ps: le code d'interprétation de la page adultes est:
Inscrit le: 04 Mai 2005 Messages: 66 Localisation: france
Posté le: 03 Avr 2006 18:42
Sujet du message: sessions
merci pour ta réponse,
mais précisément, je voulais 'éviter l'utilisation des cookies sur les pc qui visitent. C'est pour cela que je passe par la variable SID dont la valeur est stockée sur le serveur dans un dossier "sessions" (imposé par free en lieu et place de temp). je n'ai fait que tester avec mon propre matériel. ça devrait donc logiquement marcher tout le temps ou jamais. or ça marche la plupart du temps, mais pas tout le temps, même avec le même navigateur et sans que j'ai changé quoi que ce soit... comprends pas.... pour konqueror, il était effectivement paramétré pour refuser les cookies... or je ne comprends pas, il ne devrait pas y avoir de cookies du tout puisque ça doit passer par le serveur et pas le navigateur? en tous les cas, il marche a présent comme les autres c'est à dire la plupart du temps... mais pas tout le temps.
mis à part en passant par la page nocookies, as-tu une idée pour m'expliquer ce qui fait que le même navigateur marche ou pas à 10 minutes d'intervalle parfois?
si je ne trouve pas, je ferais comme tu l'as suggéré.
en tous les cas,merci pour ton aide.
jean-marie
ps: excuse-moi pour les codes qui n'étaient pas entre balises codes, je n'y avait pas pensé...
Auteur
Message
AideInfo Administrateur Expert phpBB
Inscrit le: 11 Juin 2002 Messages: 3913
Posté le: 04 Avr 2006 9:49
Sujet du message:
Il te faut inclure l'identifiant de session dans l'URL pour ne pas avoir de cookie.
Doc PHP a écrit:
Chaque visiteur accédant à votre page web se voit assigné un identifiant unique, appelé 'identifiant de session'. Il peut être stocké soit dans un cookie, soit propagé dans l'URL.
Inscrit le: 04 Mai 2005 Messages: 66 Localisation: france
Posté le: 04 Avr 2006 17:29
Sujet du message: sessions
Bonjour,
pour le fait d'inclure l'identifiant dans l'url, je pensais l'avoir fait dans cette ligne de code:
Code:
header("Location:espace_adultes.php?echoSID");
sauf erreur dans cette ligne, c'est ici que c'est sensé être fait en ajoutant echoSID à l'url, Non? ou bien je dois juste mettre SID et pas echoSID ?
enfin, vous avez probablement raison, il s'agit peut être d'un cookies mal formaté qui est refusé de temps à autre. Peut être aussi que ça vient du serveur de free qui ne réagit pas forcément assez vite lors de l'envoi des headers et qu'on peut toujours chercher.
Grace à vous, j'ai déjà compris pourquoi konqueror refusait de fonctionner. c'était bien une histoire d'acceptation de cookies. il me faudra donc recourir à cette page "nocookies". Mais c'est tout de même bizarre qu'il faille en passer par là alors que je pensais ne pas en avoir besoin...
Inscrit le: 04 Mai 2005 Messages: 66 Localisation: france
Posté le: 05 Avr 2006 19:29
Sujet du message: sessions
bonjour,
si j'ai bien compris, je dois alors écrire:
Code:
header("Location:espace_adultes.php?echo acces");
acces étant ma variable ?
pourtant le code marche tel qu'il est écrit alors qu'il devrait en ce cas être rejeté cf le code de vérification sur la page adultes; page d'arrivée. J'ai vérifié, il n'y a pas de cookie de stocké dans le navigateur; et pourtant si ce dernier refuse les cookies, ça ne marche effectivement pas...
jean-marie
Auteur
Message
AideInfo Administrateur Expert phpBB
Inscrit le: 11 Juin 2002 Messages: 3913
Posté le: 05 Avr 2006 23:11
Sujet du message:
Il y a les cookies réels, et les cookies tiers, pas forcément stockés par le navigateur.
Inscrit le: 04 Mai 2005 Messages: 66 Localisation: france
Posté le: 07 Avr 2006 17:20
Sujet du message: session
Bonjour,
je te remercie pour tes conseils, depuis que j'ai retiré le echo, je n'ai plus eu - je touche du bois - de problème. le script a l'air de fonctionner comme il doit. Comme souvent, ça tiens parfois à peu de choses. Grâce à ton aide j'en ai appris un peu plus sur le mécanisme des sessions et les cookies que je n'avais jamais encore utilisé jusque là.
Vous pouvez poster de nouveaux sujets dans ce forum Vous pouvez répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum