[php ]session et ovh [resolu]

slt

voila un petit truc qui m’arrive et j’avoue y perdre mon latin
j’au lien sur ma page :

index.php?r=panier&amp;<?php echo strip_tags(SID); ?>

jusque l’a rien d’anormal

mais en mettant sur un mutualise sur ovh voici le resultat :
index.php?r=panier&PHPSESSID=a173fe54fff8f93da4316598002a383f&PHPSESSID=a173fe54fff8f93da4316598002a383f

et si je ne met que cela :
index.php?r=panier

voici le resultat :
index.php?r=panier&PHPSESSID=a173fe54fff8f93da4316598002a383f
et le & n’etant pas code avec &amp; ne passe pas

comment puis je l’avoir dans le lien si dans mon code je ne le specifie pas est ce la config php de ovh ?

config de ovh : http://90plan.ovh.net/test.php

voici le resultat :

il le met deux fois ??
une solution ?
je ne passe pas le w3c validor a cause de cela pas bien genant mais bon j’ai deja valide tout le site en css j’aurai aime finalise aussi le reste

autre point pour passer ma valeur de l’id session dans un swf j’utilise cela
[cpp]
<object type=“application/x-shockwave-flash” data=“menu2.swf<?php echo "?PHPSESSID=".utf8_encode(urlencode(session_id())).""; ?>” width=“250” height=“485”>
<param name=“movie” value=“menu2.swf<?php echo "?PHPSESSID=".utf8_encode(urlencode(session_id())).""; ?>” />

[/cpp]
et la j’ai bien la session correct qui passe dans le menu du swf
dans mon animation flash je recupere bien l’id et quand je clique sur un lien du menu flash l’id est bien presente dans l’url
y aurai t il une incidence sur mes erreurs ?

resultat du validator :
Errors: 4

[cpp] 1.

  Line 44, column 93: cannot generate system identifier for general entity "PHPSESSID"

  ...SID=93e832ff0445e35b70ad40c69e84b3ac&amp;PHPSESSID=93e832ff0445e35b70ad40c69e84b3

  An entity reference was found in the document, but there is no reference by that name defined. Often this is caused by misspelling the reference name, unencoded ampersands, or by leaving off the trailing semicolon (;). The most common cause of this error is unencoded ampersands in URLs as described by the WDG in "Ampersands in URLs".

  Entity references start with an ampersand (&amp;) and end with a semicolon (;). If you want to use a literal ampersand in your document you must encode it as "&amp;amp;" (even inside URLs!). Be careful to end entity references with a semicolon or your entity reference may get interpreted in connection with the following text. Also keep in mind that named entity references are case-sensitive; &amp;Aelig; and &amp;aelig; are different characters.

  Note that in most documents, errors related to entity references will trigger up to 5 separate messages from the Validator. Usually these will all disappear when the original problem is fixed.

  &#9993;
  Line 44, column 93: general entity "PHPSESSID" not defined and no default entity

  ...SID=93e832ff0445e35b70ad40c69e84b3ac&amp;PHPSESSID=93e832ff0445e35b70ad40c69e84b3

  This is usually a cascading error caused by a an undefined entity reference or use of an unencoded ampersand (&amp;) in an URL or body text. See the previous message for further details.

  &#9993;
  Line 44, column 102: reference to entity "PHPSESSID" for which no system identifier could be generated

  ...2ff0445e35b70ad40c69e84b3ac&amp;PHPSESSID=93e832ff0445e35b70ad40c69e84b3ac" title

  This is usually a cascading error caused by a an undefined entity reference or use of an unencoded ampersand (&amp;) in an URL or body text. See the previous message for further details.

  &#9993;
  Line 44, column 92: entity was defined here

  ...SSID=93e832ff0445e35b70ad40c69e84b3ac&amp;PHPSESSID=93e832ff0445e35b70ad40c69e84b

[/cpp]

Salut,
euh… t’as pas accès au php.ini ?

non pas sur un mutualise
mais je peut definir certaines options de php.ini via un htaccess en le mettant a la racine du site
j’ai deja defini qq flags comme error reporting 0

essaye voir cette fonction

session_name(“mon_id_de_session”);

par defaut l’id de session est en cookie ???

a mon avis mutualise rewrite les url pour ses besoins …

pas en cookie client
la session est stocke sur le serveur
je vais tester de nomer la session

oui la session est sur le serveur mais l’id de session est stocke sur le client en cookie par defaut

le pb pourrai venir du cookie ?
car j’ai fait un test en bloquant tous les cookies navigateurs ma session fonctionne mais j’ai toujours cette erreur

non mais ce qui est sur c que ton hebergeur a modifié le comportement par defaut donc il a pu mettre en place le module de rewrite des url pour ajouter la variable phpsessid…

mais avec session_name(“mon_id_de_session”); tu peux modifier le nom de cette variable donc peut etre dejouer ce rewrite…

faut tester

ok merci
je te tiens au courant
le temps de tester cela

Pour ton problème, une solution :

http://fr.php.net/manual/en/ini.php#ini.list

ini_set( ‘arg_separator.output’, ‘&amp;’);

Je ne sais pas ce que cela donnera

hello sans_nom

merci je vais regarde cela
je vais le rajouter au flag pour voir ce que cela donne
je vous tiens au courant mais demain car ce soir repos :slight_smile:

toujours dans le php.ini(via ini_set() )
mets session.use_trans_sid à 0, de cette facon c’est toi qui gerera manuellement le passage d’id de session par url

elle est deja implante a 0 pour le trans_sid
c’est pour cela que je ne comprend pas comment elle peut passer alors que c’est a off
si je ne met que index.php?r=panier
elle m’affiche quand meme l’id de session apres
j’ai verifier mon code au moins 5 fois deja
et quand je ne met que index.php?r=panier&<?php echo strip_tags(SID); ?>
il m’affiche deux fois l’id
je suis out pour ce soir je verrais demain d’ou cela peut il provenir

[cpp]
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off
[/cpp]

se peut que ca vienne d’un eventuel .htaccess, il me semble qu’on peut parametrer php via ce fichier, donc si la generation automatique du SID peut etre spécifier dedans, ce peut etre la raison

mais non ça vien du module de rewrite des url c tout et la tu peux rien faire…

http://httpd.apache.org/docs/misc/rewriteguide.html

Heu, si ça vient de ce module, alors dans ce cas pas besoin de passer la session et ça devrait pas te géner outre mesure.

ben en fait j’ai pas compris ce qui le genait, je repond juste a la question d’ou vien ce parametre parasite… lol

en fait c’est pas genant en soi je sais bien mais juste que j’aurai aime pouvoir valider le site en w3c c’est juste a cause de ces id de sessions que la validation ne passe pas
j’ai valide tout le site en css
je suis peut etre un peut trop maniaque sur ca

en fait ca affiche dans l’url (seulement sous IE) pas sous firefox:
index.php?r=panier&PHPSESSID=a173fe54fff8f93da4316598002a383f&PHPSESSID=a173fe54fff8f93da4316598002a383f
c’est un peu lourd

sous ie seulement alors c pas du rewrite…

le rewrite modifie carrement le source html envoyé au navigateur…

ya pas un javascript ajouté par ton hebergeur du style location.href=location.href+’&PHPSESSID=…’

en fait ca vient du navigateur petite erreur de ma part
quandje fait afficher source sous IE j’ai cette erreur mais sous firefox il ne marque pas du tout l’id de session

sous ie en affichant le source et le validator du w3c :
index.php?r=panier&PHPSESSID=a173fe54fff8f93da4316598002a383f&PHPSESSID=a173fe54fff8f93da4316598002a383f
sous firefox
index.php?panier&

ca doit etre du rewrite
j’ai essayer avec un htaccess de modifier en rewritant l’url completement cela mais aucun resultat
j’ai envoye un mail a ovh pour connaitre si il avait modif qq chose sur leur serveur j’attend leur reponse
bref pour l’instant mon site est ok
juste mon cote maniaque qui aurait voulut le valider w3c :=)