Ptite Question sur les SESSIONS

Ptite Question sur les SESSIONS - Programmation

Marsh Posté le 30-03-2002 à 13:23:46    

Bon salut
 
Javais deja eut un probleme avec les sessions et la j'ai refait un truc et voila j'ai un probleme :
 
Je voudrais en fait, que chaque fois qu'un mec arrive sur le site, ou meme si plusieurs IE sous ouvert par le meme mec, il est un PHPSESSID de sessions differents, afin qu'il ai un CADDIE different vous comprenez ?
 
La sitatuation la voila :
 
En local quand j'ouvre 2 IE sur chacun j'ai un PHPSESSID different
 
par contre sur le net : Chaque fois c le meme, c trop bizarre, ca fait que je me retrouve avec le meme caddie sur chaque fenetre
 
comment que ca se fait ca ?
Pourtant sur mon INDEX.PHP j'ai bien mis un session_start().
 
Je comprend plus
Qui a une idée ? C assez important

Reply

Marsh Posté le 30-03-2002 à 13:23:46   

Reply

Marsh Posté le 30-03-2002 à 13:37:38    

compare les phpinfo rubrique sessions en local et en ligne  :hello:

Reply

Marsh Posté le 30-03-2002 à 14:05:31    

bah a ce que j'ai vu c a peu pres les memes
 
sauf que en local jsuis sous PHP4.0.6 et en ligne c PHP 4.1.2

Reply

Marsh Posté le 30-03-2002 à 18:50:32    

S'il y a un cookie sur le PC du gars avec le SID c'est peut-être normal. Parce que je sais pas si c'est l'URL ou le cookie qui l'emporte.

Reply

Marsh Posté le 31-03-2002 à 00:08:49    

ca peut pas etre un probleme de Cookie vu que je n'en cré jamais, c ca lavantage des sessions.
 
ca commence a me saouler

Reply

Marsh Posté le 31-03-2002 à 00:27:47    

non ta pas compris, php peut transmettre l'id de sessions et les infos de session dans des cookie si l'option cookies_use est sur on ou qqch comme ça

Reply

Marsh Posté le 31-03-2002 à 14:59:42    

A mon tour de poser une question :
 
Vient de http://www.phpinfo.net/?p=articles&rub=sessions :

Citation :

- La solution la plus simple : si PHP a été compilé avec l'option ?-enable-trans-sid et qu'on a configuré session.use_trans_sid à 1, il n'est pas nécessaire de se préoccuper de transmettre l'id de session, PHP la transmet automatiquement dans l'URL de manière transparente (on ne voit pas l'id de session dans l'URL). C'est sans doute la solution la plus élégante et la moins casse-tête.
MAIS, cette solution ne peut pas être retenue dans la majorité des cas ! En effet, PHP ne gère plus cette fonctionnalité sitôt qu'on effectue une redirection avec un header ! De plus, si on utilise des URL absolues, ce qui peut arriver dans certains développements, PHP ne transmet pas l'id de session car il suppose qu'on se dirige vers un site extérieur.
 
- On peut comme souvent se reposer sur un système de cookies. PHP le gère d'ailleurs automatiquement dans sa configuration avec session.use_cookies. S'il est à 1, l'id de session est automatiquement enregistré en tant que cookie sur l'ordinateur du client. Cette solution ne peut pas non plus être retenue telle quelle car si le client refuse les cookies, l'id de session n'est pas enregistrée.
 
- On peut décider de passer à chaque fois l'id de session dans l'URL. C'est une solution qui fonctionne à tous les coups même si elle est lourde et peu élégante.
Les URL seront alors de la forme : "index.php?".session_name()."=".session_id() ou index.php?<? echo session_name();?>=<? echo session_id(); ?> ou autres variantes du même genre.


 
Moi ce qui m'intéresserait c'est le premier cas. Dans mon phpinfo() le trans-id est bien activé, dans le php.ini aussi, le cookie_use est à 0. Le problème c'est que à chaque URL dans mes pages y'a pas moyen, je vois le SID '?PHPSESSID=lmdsiqhisqf57sdt4' ... Alors dites moi ce qui ne va pas et je m'inclinerai peut-être enfin devant la suprématie des sessions parce que pour l'instant je trouve que c'est de la grosse daube.

 

[jfdsdjhfuetppo]--Message édité par Dost67--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 31-03-2002 à 15:56:30    

T'inquiète moi c pareil, g du remettre cookies à 1 sinon je devait mettre le sid et ct chiand voila tout  :D  :D  :D

Reply

Marsh Posté le 31-03-2002 à 16:04:32    

C de la daube alors ! Pourtant je comprends pas pkoi sur www.phpinfo.net ils disent PHP la transmet automatiquement dans l'URL de manière transparente (on ne voit pas l'id de session dans l'URL). ... Alors ?

Reply

Marsh Posté le 31-03-2002 à 16:05:46    

oué ça m'a étonné aussi, car g pas réussi, alors en attendant de trouver une réponse ben je laisse les cookies sur on

Reply

Marsh Posté le 31-03-2002 à 16:05:46   

Reply

Marsh Posté le 31-03-2002 à 16:14:55    

Moi aussi j'attends la réponse. Le pire c'est qu'il n'y en a plein qui disent que c'est bien, etc. et pas un pour réoudre notre pb.

Reply

Marsh Posté le 31-03-2002 à 16:15:51    

Tu utilises koi comme version de PHP et apache, win/linux CGI/module (c à toi que g demandé ou pas déjà ?)

Reply

Marsh Posté le 31-03-2002 à 16:23:00    

Oui c'est à moi que t'as déjà demandé. D'ailleurs je sais que toi c'est WinXP/PHP en CGI.
Moi c'est EasyPHP 1.5 et comme j'ai tjrs pas regardé quelle version de PHP 4 c'était, j'ai tjrs pas la réponse. En tt cas c'est en module Apache.

Reply

Marsh Posté le 31-03-2002 à 16:47:02    

Bon en fait il ont dû dire n'importe quoi sur www.phpinfo.com parce que j'ai trouvé ça sur un site english : (http://www.onlamp.com/pub/a/php/2001/04/26/sessions.html?page=2)

Citation :

Of course, manually attaching the SID is not always the most convenient way to do things. Therefore, you can also ensure that it is automatically appended by compiling PHP with -enable-trans-id. In doing so, you will not have to include the <?=SID?> within the URL, as it will be automatically placed there.


Bref, la fin de tout espoir.

 

[jfdsdjhfuetppo]--Message édité par Dost67--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 31-03-2002 à 17:57:39    

Ca veut dire koi ?

Reply

Marsh Posté le 31-03-2002 à 18:02:34    

Bien sûr, ajouter manuellement le SID à l'URL n'est pas tjrs la manière la plus conviviale de faire. Donc vous pouvez aussi vous assurer que le SID sera automatiquement ajouté en compilant PHP avec -enable-trans-id. En faisant comme ça, vous n'aurez pas à inclure le <?=SID?> dans l'URL, puisque il y sera placé auomatiquement.
 
Donc en fait pour résumer les sessions c'est 2 possibilités :
1. les cookies ce qui ne permet pas de contourner le problème des cookies
2. une URL affreuse avec une chaîne de 32 caractères dedans

 

[jfdsdjhfuetppo]--Message édité par Dost67--[/jfdsdjhfuetppo]

Reply

Marsh Posté le 31-03-2002 à 18:15:35    

Tiens j'ai trouvé un truc intéressant :

Code :
  1. function localRedirect("url" ) {
  2.   global $HTTP_COOKIE_VARS;
  3.   if (isset($HTTP_COOKIE_VAR["PHPSESSID"])) {
  4.     header("Location: $url" );
  5.   }
  6.   else {
  7.     header("Location: $url" ."?" . SID);
  8.   }
  9. }


This allows a much cleaner fallback when the cookie was rejected by the user.  The only thing remaining that is non-transparent is that I can't seem to get the "Accept Cookie" dialog to not pop up on every succeeding page if the user declines the first one.

Reply

Marsh Posté le 31-03-2002 à 18:16:38    

Et puis ils nous font chier ceux qui utilisent pas les cookies parce que c'est soit disant "dangereux" !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed