OVH Cloud OVH Cloud

ID Session et chaine tronque

2 réponses
Avatar
Damran
Bonjour,
J'ai un petit problème :
Je construit des variables qui contiennent les tableaux que je doit afficher
sur le site (via echo).
Le site utilise des variables et ID de session. Lorsque l'on se connect au
site, pour le premier accèes, les liens contiendrons l'ID en cour
(mapage.php?id=3a4e75f723a403f579271949ea4ef558). Ensuite, si l'utilisateur
accèpte les cookies, j'arrête de passer l'ID via l'URL.

Voilà le problème, sur mon serveur de prod sous linux (et pas en local sous
windows), lorsque les liens contiennent l'ID de session, les chaines générés
sont tronqués. Comme ces chaines contiennent les différents tableaux à
afficher, la page est alors complétement tordu (exemple, chaine coupé avant
la fermeture d'un tableau, résultat, tout est décalé).

J'ai alors regardé si php est bugé. Et je voit que sur une version x, il y a
effectivement un bug avec les ID. Je n'ai pas réussit à savoir quel genre de
bug c'est, et en vérifiant, ce n'est même pas la version que mon serveur
utilise. :-(

Je ne sais vraiment plus quoi faire.

Si vous avez une idée ... et bien merci beauuuuucoup ;-)

Damran

2 réponses

Avatar
Guillaume Bouchard
Damran wrote:
Le site utilise des variables et ID de session. Lorsque l'on se connect au
site, pour le premier accèes, les liens contiendrons l'ID en cour
(mapage.php?id:4e75f723a403f579271949ea4ef558). Ensuite, si l'utilisateur
accèpte les cookies, j'arrête de passer l'ID via l'URL.


Je pense que c'est une mauvaise methode, mais bon, ce n'est pas le sujet.

Voilà le problème, sur mon serveur de prod sous linux (et pas en local sous
windows), lorsque les liens contiennent l'ID de session, les chaines générés
sont tronqués. Comme ces chaines contiennent les différents tableaux à
afficher, la page est alors complétement tordu (exemple, chaine coupé avant
la fermeture d'un tableau, résultat, tout est décalé).


Voila la preuve que les tableaux c'est mal :)

Rassure moi, je ne suis pas certain d'avoir tout comprit, mais tu passes
quelque chose du genre dans ton url:

?id=..&tableau=<table>....gnagna

Donc :

1) la methode est crade
2) c'ets normal que ton navigateur la tronque, il y a une limite imposé
par la RFC http sur la longueur des chaines GET.
3) Ou alors je n'ai rien compris

--
Guillaume.

Avatar
Damran
"Guillaume Bouchard" a écrit dans le message de news:
40b8640c$0$21573$
Damran wrote:
Le site utilise des variables et ID de session. Lorsque l'on se connect
au


site, pour le premier accèes, les liens contiendrons l'ID en cour
(mapage.php?id:4e75f723a403f579271949ea4ef558). Ensuite, si
l'utilisateur


accèpte les cookies, j'arrête de passer l'ID via l'URL.


Je pense que c'est une mauvaise methode, mais bon, ce n'est pas le sujet.

Voilà le problème, sur mon serveur de prod sous linux (et pas en local
sous


windows), lorsque les liens contiennent l'ID de session, les chaines
générés


sont tronqués. Comme ces chaines contiennent les différents tableaux à
afficher, la page est alors complétement tordu (exemple, chaine coupé
avant


la fermeture d'un tableau, résultat, tout est décalé).


Voila la preuve que les tableaux c'est mal :)

Rassure moi, je ne suis pas certain d'avoir tout comprit, mais tu passes
quelque chose du genre dans ton url:

?id=..&tableau=<table>....gnagna

Donc :

1) la methode est crade
2) c'ets normal que ton navigateur la tronque, il y a une limite imposé
par la RFC http sur la longueur des chaines GET.
3) Ou alors je n'ai rien compris
C'est effectivement le cas, j'aurai jamais fait un truc pareil !! ;-)


Je vais faire plus claire (enfin, j'espère) :
Suivant la demande de l'utilisateur, des tableaux (pas le type array, des
vrais tableau avec <table> </table> toussa), doivent être affiché de telle
ou telle manière.
Le code HTML de ces tableaux est généré via le code php (c'est pas en dure).
Pour cela, je construit une chaîne de type string que j'afficherai au bon
endroit via un "echo". Les tableaux peuvent contenir tout ce que l'on trouve
dans un tableau, et donc en autre, des liens.
Si la session a été ouverte via la page en cour, je passe l'ID dans les
liens pour pouvoir retrouver la session sur la page suivante. Si la session
est déjà ouverte, l'ID de session est dans un cookie, plus besoin de le
passer dans les URL (technique très connus, utilisé par exemple sur
osCommerce).
Et bien si j'ai l'ID de session dans les liens, les chaînes que j'ai
construites ne sont pas complète. Et comme elles contiennent des tableaux à
afficher, si la chaîne est tronqué, le tableau aussi et le site ne ressemble
plus à rien.


Voilà
Merci

Damran