Forum AideInfo.com Index du Forum

Ajouter cette page sur un site de bookmarks
scoopeo  fuzz  tapemoi  nuouz  bookeet  pioche  Partagez sur del.icio.us  Partagez sur digg.com  Partagez sur furl.net  Partagez sur Yahoo! Mon Web 2.0  Partagez sur StumbleUpon  Partagez sur Google Bookmarks  Partagez sur Technorati  Partagez sur blinklist  Partagez sur Newsvine  Partagez sur ma.gnolia  spurl  simpy

Rechercher Liste des Membres Groupes d'utilisateurs Profil Connexion S'enregistrer Messagerie privéeMessagerie privée   Règles du forum Retour au siteRetour au site
  Poster un nouveau sujet Répondre au sujet Forum AideInfo.com Index du Forum » Webmastering - langages du web   
problème sessions pour nouveau site - [réglé]
Auteur Message
cpflam
Posteur débutant


Inscrit le: 04 Mai 2005
Messages: 66
Localisation: france

MessagePosté le: 01 Avr 2006 16:28
MessageSujet du message: problème sessions pour nouveau site - [réglé]
Répondre en citant

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.

voici le code qui me sert à donner l'accès:

Code:
<?php
session_start();
if($_POST['acces']=="entrer")
{
$_SESSION['acces']="entrer";
header("Location:espace_adultes.php?echoSID");
}
else
{
include('adultes/texte_acces_adultes.php');
}
?>
<div align="center">
<form method="post" action="<?= $_SERVER['PHP_SELF']; ?>">
<input type="submit" name="acces" value="entrer" />
</form>
<br /><br />
<form method="post" action="index.php">
<input type="submit" name="retour" value="retour" />
</form>
<br /><br />
</div>
</body>
</html>


vous pouvez tester ici:

http://sosparanormal.free.fr/acces_adultes.php

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 16:20; édité 1 fois
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
Auteur Message
AideInfo
Administrateur
Expert phpBB


Inscrit le: 11 Juin 2002
Messages: 3919

MessagePosté le: 02 Avr 2006 22:04
MessageSujet du message:
Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
sessions
Auteur Message
cpflam
Posteur débutant


Inscrit le: 04 Mai 2005
Messages: 66
Localisation: france

MessagePosté le: 03 Avr 2006 7:13
MessageSujet du message: sessions
Répondre en citant

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:

Code:
<?session_start();
if($_SESSION['acces']!="entrer")
{
header("Location:acces_adultes.php");
}
?>


[édité par AideInfo : merci de mettre TOUTE portion de code entre balises [code]]
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
Auteur Message
AideInfo
Administrateur
Expert phpBB


Inscrit le: 11 Juin 2002
Messages: 3919

MessagePosté le: 03 Avr 2006 13:47
MessageSujet du message:
Répondre en citant

C'est dû au refus des cookies. Tu peux contourner ça en rajoutant
Code:
else
{
header("location:nocookie.php");
}


nocookie.php est une page sur laquelle tu demandes l'activation des cookies.
_________________
Services gratuits

phpBB-Tutoriaux, tous les tutoriaux pour débuter et utiliser phpBB
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
sessions
Auteur Message
cpflam
Posteur débutant


Inscrit le: 04 Mai 2005
Messages: 66
Localisation: france

MessagePosté le: 03 Avr 2006 17:42
MessageSujet du message: sessions
Répondre en citant

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é...
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
Auteur Message
AideInfo
Administrateur
Expert phpBB


Inscrit le: 11 Juin 2002
Messages: 3919

MessagePosté le: 04 Avr 2006 8:49
MessageSujet du message:
Répondre en citant

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.


Pour le fait que c'est aléatoire, peut-être un cookie créé aléatoirement et qui n'est pas accepté. Pour ma part, lors de mes quelques essais, je n'ai reproduis le problème qu'en refusant les cookies.
_________________
Services gratuits

phpBB-Tutoriaux, tous les tutoriaux pour débuter et utiliser phpBB
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
sessions
Auteur Message
cpflam
Posteur débutant


Inscrit le: 04 Mai 2005
Messages: 66
Localisation: france

MessagePosté le: 04 Avr 2006 16:29
MessageSujet du message: sessions
Répondre en citant

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

merci pour tout :-)

jean-marie
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
Auteur Message
AideInfo
Administrateur
Expert phpBB


Inscrit le: 11 Juin 2002
Messages: 3919

MessagePosté le: 04 Avr 2006 17:50
MessageSujet du message:
Répondre en citant

Il faut remplacer echoSID par la variable que comprend ton identifiant de session.
_________________
Services gratuits

phpBB-Tutoriaux, tous les tutoriaux pour débuter et utiliser phpBB
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
sessions
Auteur Message
cpflam
Posteur débutant


Inscrit le: 04 Mai 2005
Messages: 66
Localisation: france

MessagePosté le: 05 Avr 2006 18:29
MessageSujet du message: sessions
Répondre en citant

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
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
Auteur Message
AideInfo
Administrateur
Expert phpBB


Inscrit le: 11 Juin 2002
Messages: 3919

MessagePosté le: 05 Avr 2006 22:11
MessageSujet du message:
Répondre en citant

Il y a les cookies réels, et les cookies tiers, pas forcément stockés par le navigateur.

Tu peux utiliser l'un de ces codes.

Code:
header("Location:espace_adultes.php?session=$acces");


Code:
header("Location:espace_adultes.php?SID");

_________________
Services gratuits

phpBB-Tutoriaux, tous les tutoriaux pour débuter et utiliser phpBB
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
session
Auteur Message
cpflam
Posteur débutant


Inscrit le: 04 Mai 2005
Messages: 66
Localisation: france

MessagePosté le: 06 Avr 2006 16:35
MessageSujet du message: session
Répondre en citant

bonjour,

vous me proposez d'écrire:

Code:
header("Location:espace_adultes.php?SID");


moi j'avais:

Code:
header("Location:espace_adultes.php?echoSID");


peut être que les dysfonctionnement venaient alors de mon 'echo' qui était peut être en trop. Pourtant je pensais cette écriture juste.

En tous les cas, merci pour tout. Smile une fois de plus vos conseils m'ont été précieux.

jean-marie
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
Auteur Message
AideInfo
Administrateur
Expert phpBB


Inscrit le: 11 Juin 2002
Messages: 3919

MessagePosté le: 06 Avr 2006 20:54
MessageSujet du message:
Répondre en citant

Echo est une fonction, tu ne peux donc pas l'utiliser là. Tu ne peux l'utiliser que si tu veux afficher dans ta page l'identifiant session, en ajoutant un espace après echo.
_________________
Services gratuits

phpBB-Tutoriaux, tous les tutoriaux pour débuter et utiliser phpBB
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
session
Auteur Message
cpflam
Posteur débutant


Inscrit le: 04 Mai 2005
Messages: 66
Localisation: france

MessagePosté le: 07 Avr 2006 16:20
MessageSujet du message: session
Répondre en citant

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à.

merci encore :-)

jean-marie
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur  
 
  Poster un nouveau sujet  Répondre au sujet Forum AideInfo.com Index du Forum » Webmastering - langages du web
Réponse rapide
Nom d'utilisateur:

Very Happy Smile Sad Surprised Shocked Confused Cool Laughing Mad Razz Embarassed Crying or Very sad Evil or Very Mad Twisted Evil Rolling Eyes Wink Exclamation Question Idea Arrow Neutral Mr. Green Raleur Plié de rire
Options
Citer le dernier message
Question anti-robots:
Cette question est malheureusement nécessaire pour empêcher les robots publicitaires de poster des messages sur ce forum. Merci de votre compréhension. (sensible à la casse( Majuscules/minuscules))
Saisissez le mot anticonstitutionnellement.
Votre réponse:
 

Informations
Page 1 sur 1
Permissions: 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
Montrer les messages depuis:   
Page 1 sur 1
 
Sauter vers:  


Powered by phpBB v2 © 2001, 2005 phpBB Group ¦ Theme : Creamy White, modifié par Eric FICHOT pour AideInfo.com