23-02-2011, 12:38 PM
Salut à tous,
Je vais essayé de vous expliquer un petit problème que j'ai avec les sessions PHP. Je travaille avec une BD mysql et je récupère des données que je stocke dans une session PHP. Mes données stockées en base sont des nombres de grande valeur en général (de l'ordre du milliard voir au dessus)
J'ai fais un petit script qui reproduit le même phénomène.
Voilà mon code:
Au 1er chargement de la page, tout se passe bien:
Après un rechargement de la page (F5):
Il me créé "cette chose bizarre" qui ressemble à une variable sérialisé et je ne sais pas d'où elle sort.
Si vous avez une idée du pourquoi du comment, je suis preneur.
Tryou
Je vais essayé de vous expliquer un petit problème que j'ai avec les sessions PHP. Je travaille avec une BD mysql et je récupère des données que je stocke dans une session PHP. Mes données stockées en base sont des nombres de grande valeur en général (de l'ordre du milliard voir au dessus)
J'ai fais un petit script qui reproduit le même phénomène.
Voilà mon code:
<?php
session_start();
//session_destroy();
unset($_SESSION['header']);
unset($_SESSION['datas']);
unset($_SESSION['colors']);
$_SESSION['header'] = array();
$_SESSION['datas'] = array();
$_SESSION['colors'] = array();
for($i=0; $i<24; $i++) $_SESSION['datas'][0][$i] = $i*$i*$i*$i*$i*$i*$i*$i*$i;
$_SESSION['header'][0] = 'header0';
$_SESSION['colors'][0] = 'color0';
echo "<pre>-------------var_dump session";
var_dump($_SESSION);
echo "fin var_dump session--------------------</pre>";
?>
Au 1er chargement de la page, tout se passe bien:
Citation :-------------var_dump session
array
'header' =>
array
0 => string 'header0' (length=7)
'datas' =>
array
0 =>
array
0 => int 0
1 => int 1
2 => int 512
3 => int 19683
4 => int 262144
5 => int 1953125
6 => int 10077696
7 => int 40353607
8 => int 134217728
9 => int 387420489
10 => int 1000000000
11 => float 2357947691
12 => float 5159780352
13 => float 10604499373
14 => float 20661046784
15 => float 38443359375
16 => float 68719476736
17 => float 118587876497
18 => float 198359290368
19 => float 322687697779
20 => float 512000000000
21 => float 794280046581
22 => float 1207269217792
23 => float 1801152661463
'colors' =>
array
0 => string 'color0' (length=6)
fin var_dump session--------------------
Après un rechargement de la page (F5):
Citation :-------------var_dump session
array
'd:198359290367.:;i:19;d:322687697779;i:20;d:511:00000000;i:21;d:794280046580.:;i:22;d:1207269217792;i:23;d:1801152661463;}}colors' =>
array
0 => string 'color0' (length=6)
'header' =>
array
0 => string 'header0' (length=7)
'datas' =>
array
0 =>
array
0 => int 0
1 => int 1
2 => int 512
3 => int 19683
4 => int 262144
5 => int 1953125
6 => int 10077696
7 => int 40353607
8 => int 134217728
9 => int 387420489
10 => int 1000000000
11 => float 2357947691
12 => float 5159780352
13 => float 10604499373
14 => float 20661046784
15 => float 38443359375
16 => float 68719476736
17 => float 118587876497
18 => float 198359290368
19 => float 322687697779
20 => float 512000000000
21 => float 794280046581
22 => float 1207269217792
23 => float 1801152661463
'colors' =>
array
0 => string 'color0' (length=6)
fin var_dump session--------------------
Il me créé "cette chose bizarre" qui ressemble à une variable sérialisé et je ne sais pas d'où elle sort.
Si vous avez une idée du pourquoi du comment, je suis preneur.
Tryou