begin process at 2012 05 31 07:10:23
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Divers

 > 

Divers

 > 

probleme phpsessid


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

probleme phpsessid

mardi 22 août 2006 à 16:55:39 | probleme phpsessid

soothsayer

Bonjour,
j'ai un petit soucis que je ne parviens pas à résoudre:
sur l'index de mon site (page d'accueil avec compteur de visites "basique" en php )
lorsqu'on clique sur lien vers la page d'accueil, la variable PHPSESSID est envoyée en clair à la fin de l'url.
Si je supprime le "session_start(); " de ma page, cela rentre dans l'ordre mais j'en ai besoin.
Sur les autres pages du site ça fonctionne pourtant correctement...
voici le code du compteur (début de la page) :


<?php
session_start();
// aller chercher le nombre de visiteurs
$fichier=fopen("live/users/compteur.txt","r");
$nombre_de_visites=fread($fichier,filesize("live/users/compteur.txt"));
fclose($fichier);

//visiteur déjà compté?:
if($_SESSION ["compte"]==0){
    //incremente le compteur
    $fichier=fopen("live/users/compteur.txt","w+");
    $nombre_de_visites=$nombre_de_visites+1;
    fwrite($fichier,$nombre_de_visites);
    fclose ($fichier);
    //rajouter dans le tableau de l'utilisateur
    $_SESSION["compte"]=1;
}
?>
Si quelqu'un a une idée ?...
merci d'avance!
mardi 22 août 2006 à 17:55:50 | Re : probleme phpsessid

Guillemouze

ca depend surement de la config de ton navigateur. mais c'est peut etre aussi celle du serveur, mais je pense que la plus part des serveurs passent d'abord par les cookies.

extrait de php.net:

Il y a deux méthodes de propagation de l'identifiant de session :

  • Cookies

  • Par URL

Le module de session supporte les deux méthodes. Les cookies sont optimaux, mais comme ils ne sont pas sûrs (tous les internautes ne les acceptent pas), ils ne sont pas fiables. La seconde méthode place l'identifiant de session directement dans les URL.

PHP est capable de faire cela de manière transparente, lorsqu'il est compilé avec l'option --enable-trans-sid. Si vous activez cette option, les URL relatives seront modifiées pour contenir l'identifiant de session automatiquement. Alternativement, vous pouvez utiliser la constante SID, qui est définie, si le client n'a pas envoyé le cookie approprié. SID est soit de la forme session_name=session_id ou une chaîne vide.

Note : L'option arg_separator.output de php.ini vous permet de personnaliser le séparateur d'arguments. Pour être complètement en accord avec les spécifications XHTML, spécifiez &amp; ici.

Alternativement, vous pouvez utiliser la constante SID qui est définie si la session a commencé. Si le client n'envoie pas un cookie de session approprié, il aura la forme session_name=session_id. Sinon, il vaudra une chaîne vide. Ainsi, vous pouvez dans tous les cas l'inclure dans l'URL.


mardi 22 août 2006 à 18:10:27 | Re : probleme phpsessid

soothsayer

ben,en fait ça fait la même chose sur firefox et sur IE, donc ça viendrait de la config du serveur?
ce que j'arrive pas à comprendre c'est pourquoi sur les autres pages du site où il y a aussi un session-start(); j'ai pas ça...(en même temps je sais pas si c'est vraiment gênant ...)
mardi 22 août 2006 à 21:53:42 | Re : probleme phpsessid

Guillemouze

l'ouverture de ta balise php (<?) est bien le 1er caractere de ta page? genre ya pas un espace qui traine avant? paske c bizare si ca le fait que sur une seule page!
peut etre parce que c'est ta page d'accueil et que une fois ta session demarree, il le met plus?!
mardi 22 août 2006 à 22:19:27 | Re : probleme phpsessid

soothsayer

il s'agit bien du premier caractère de ma page.(je viens quand même de vérifier)
je pense que c'est lié à la configuration du serveur, car un autre site que j'ai réalisé avec le même code en début de première page fonctionne parfaitement sur un autre serveur ... donc je vais voir avec l'hebergeur du site (je vais me renseigner sur leur option "enable-trans-sid")
merci
mercredi 23 août 2006 à 09:30:26 | Re : probleme phpsessid

Guillemouze

essaye de regarder la config de ton serveur. pour y acceder, rien de plus simple. tu cree une page xx.php qui contient uniquement :

<? phpinfo(); ?>

et tu va consulter cette page
mercredi 23 août 2006 à 10:43:12 | Re : probleme phpsessid

soothsayer

j'ai controlé la config : le trans-id est activé, je pense que le souci vient de là!
mercredi 23 août 2006 à 11:12:23 | Re : probleme phpsessid

Guillemouze

peut etre peut tu contourner le probleme en enregistrant toi meme le cookie avec la constante SID
puis, quand tu demarre la session, tu met la valeur que tu a lu dans le cookie grace à session_id
mercredi 23 août 2006 à 11:17:33 | Re : probleme phpsessid

soothsayer

c'est ce que je pensais tenter, je fais un essai aujourd'hui (si j'en ai le temps!) et je te tiens informé du résultat.
merci pour ton aide.
jeudi 24 août 2006 à 21:24:47 | Re : probleme phpsessid

soothsayer

bonjour,
je termine mon sujet, j'ai trouvé le moyen de contourner le problème.
c'est peut-être un peu bizarre comme méthode, mais bon...ça fonctionne !
en fait , au lieu de faire un simple "<a href...> ma page suivante</a>" (avec mon PHPSESSID qui s'ajoutait à la suite), je crée un formulaire en POST, avec une action sur ma page suivante, un input "submit" et un input 'hidden' qui envoie mon PHPSESSID (en post,donc masqué...).


1 2

Cette discussion est classée dans : fichier, nombre, page, compteur, visites


Répondre à ce message

Sujets en rapport avec ce message

Compteur de visites unique [ par must ] Salut comment faire un compteur de visites qui pourrait compter une seule fois la visite d'une page,c'est à dir si la personne reviens dix fois sur la Problème de Compteur / php [ par bshaka ] Bonjour à tous,Je cherche à installer un compteur dans ma page d'accueil, ça ne fonctionne pas, j'ai la valeur qui se trouve dans le fichier "compteur Compteur de visite [ par texis12 ] Bonjour à tous, je débute en PHP et j'aimerais créer un compteur de visite, mais pas un simple compteur qui augmente à chaque rafraîchissement de pag téléchargement de fichier de puis serveur [ par nouvinfo ] Bonjour, Je suis un novice. voici ce que je fais: J'ai crée un formulaire dans une page.php ('formulaire_entrer_donnee.php'). Ce formulaire permet d EXCEL Recopier une ligne automatiquement en fonction d'un nombre. [ par kisbo ] Bonjour tout le monde j'ai besoin d'aide sur excel, je voudrais rentrer les données sur la page 1 de mon document et que sur la page 2 tout soit recop fichier .hta [ par mailliam ] Bonjour tous! j'ai une question, je veux envoyer des données sur un formulaire php sur mon site, depuis une page .hta d'un ordi au boulot. mon probl Compteur personnalisé : nombre de décès [ par yukisan ] Bonjour à tous, mon premier message sur le forum malgré que je connaisse ce site depuis pas mal de temps. Voilà pour en revenir à l'objet de mon mess comment remplacer du code dans un fichier A par un autre code dans le fichier B [ par michelvernet2 ] bonjour, j'ai un site à refaire, page par page ( je sais c'est dépassé, mais c'est comme ça ) . Actuellement, j'opère manuellement : je copie mon code Rien ne se modifie dans mon fichier... Pourquoi ? [ par jytest ] Bonjour, Débutant en php, j'ai un souci avec ce code qui a l'air de fonctionner... sauf qu'il ne fonctionne pas... rien ne change dans le fichier 'vi


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,468 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales