Bonjour,

j'ai un probleme avec une variable de session qui contient un tableau.
Ledit tableau voit chacun de ses elements se vider entre deux pages
c'est un tableau d'objets "cluster" cf cluster.php5
donc bizarrement le tableau ne change pas de taille mais tous les elements deviennent vides.

ainsi le tableau en question : $_SESSION['clustersTries']
est plein dans compare.php5 juste avant d'envoyer la form submit_xml à generate.php5 : voici le code de compare.php5
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
 
<?php
session_start();
require_once('mdl/mdl-php/functions.inc.php5');
if (isset($_POST['compare']))
{	
	$requete = stripslashes($_POST['search']);
	$recherche = urlencode($requete);
 
	if ((sizeof($_SESSION['result_vivisimo']) > 1) || (sizeof($_SESSION['result_iboogie']) > 1) || (sizeof($_SESSION['result_gigablast']) > 1) || (sizeof($_SESSION['result_clusty']) > 1)){
		$nbr_result = compare_result();
	}else{
		$nbr_result = 0;
	}
 
}else
{echo header('location: index.php?erreur=1');}
 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="shortcut icon" href="./image/cme.ico" />
<link rel="stylesheet" type="text/css" href="mdl/mdl-css/mmc-css.css">
<title>Clustering Meta-Engine</title>
</head>
<body leftmargin="0" rightmargin="0" topmargin="0" bottommargin="0">
 
 
<?php
	remplisSessionCluster($_SESSION['result_vivisimo']);
	remplisSessionCluster($_SESSION['result_clusty']);
	remplisSessionCluster($_SESSION['result_iboogie']);
	remplisSessionCluster($_SESSION['result_gigablast']);
	for($i=0;$i<sizeof($_SESSION['clusters']);$i++)
	{
		$cluster = new cluster($_SESSION['clusters'][$i]);
		$_SESSION['clusters'][$i] = $cluster;
	}
	TriTabClusters($_SESSION['clusters']);//remplit $_SESSION['clustersTries']
	echoCluster($_SESSION['clustersTries']);//là il est plein
?>
 
<div class="page" align="center">
 
<br /><a href="./index.php"><img src="./image/cme.jpg" width="232px" height="124px" border="0" alt="Clustering Meta-Engine" /></a><br /><br />
 
<form name="moteur" action="./result.php5" method="post" style="border:0px;margin:0px;">
<span class="sstitre">Enter your research :</span><br /><br />
<input type="text" name="recherche" class="formulaires" style="width:385px;" value='<?php echo $requete; ?>' /><br /><br />
<center><input type="submit" name="envoi" value="Search" class="boutons_formulaires" /></center>
</form>
 
<br /><br />
 
<table cellpadding="0" cellspacing="0" border="0" bordercolor="#DDDDDD">
<tr>
<td align="left">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<b>Result<?php if ($nbr_result > 1){ echo 's <span class="texte_erreur">'.$nbr_result.'</span>'; }else{ echo ' <span class="texte_erreur">0</span>'; } ?> for <?php echo $requete; ?></b>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</td>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<td align="left">
<form name="generate_csv" action="./generate.php5" method="post" target="_blank" style="border:0px;margin:0px;">
<input type="submit" name="csv" value="Generate XLS Data Format" class="boutons_formulaires" />
<input type="hidden" name="search" value='<?php echo $requete; ?>' />
<!-- <input type="submit" disabled="disabled" name="generate" value="Generate VNA Data Format" class="boutons_formulaires" /> -->
</form>
</td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<td align="center">
<form name="generate_vna" action="./generate.php5" method="post" target="_blank" style="border:0px;margin:0px;">
<input type="submit" name="vna" value="Generate VNA Data Format" class="boutons_formulaires" />
<input type="hidden" name="search" value='<?php echo $requete; ?>' />
<!-- <input type="submit" disabled="disabled" name="generate" value="Generate VNA Data Format" class="boutons_formulaires" /> -->
</form>
</td>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<td align="right">
<form name="generate_xml" action="./generate.php5" method="post" target="_blank" style="border:0px;margin:0px;">
<input type="submit" name="xml" value="Generate XML global score" class="boutons_formulaires" />
<input type="hidden" name="search" value='<?php echo $requete; ?>' />
<!-- <input type="submit" disabled="disabled" name="generate" value="Generate xml" class="boutons_formulaires" /> -->
</form>
</td>
 
</tr>
</table>
 
<br /><br />
 
<table cellpadding="0" cellspacing="0" border="1" bordercolor="#DDDDDD">
<tr>
<td width="260px" valign="top" style="padding-left:10px;padding-right:10px;" align="left">
<center><a href="http://vivisimo.com/search?query=<?php echo $recherche; ?>&v%3Aproject=vivisimo-com&v%3Asources=Web" target="_blank"><img src="./image/vivisimo.gif" border="0" /></a></center><br />
<?php
if (sizeof($_SESSION['result_vivisimo']) > 1){
	foreach ($_SESSION['result_vivisimo'] as $result){
		if ($result != ''){
			$parenth = strrpos($result, "(");
			$lien = substr($result, 0, $parenth);
			echo '<a href="./result.php5?recherche='.$lien.'" class="a"> - '.$result.'</a><br />';
		}
	}
}elseif(isset($_SESSION['result_vivisimo'][0]) && $_SESSION['result_vivisimo'][0] != ''){
	$parenth = strrpos($_SESSION['result_vivisimo'][0], "(");
	$lien = substr($_SESSION['result_vivisimo'][0], 0, $parenth);
	echo '<a href="./result.php5?recherche='.$lien.'" class="a"> - '.$_SESSION['result_vivisimo'][0].'</a><br />';
}else{
	echo '<center style="font-size:12px;">No result</center>';
}
?>
<br />
</td>
<td width="260px" valign="top" style="padding-left:10px;padding-right:10px;" align="left">
<center><a href="http://www.iboogie.com/searchtree.asp?name_query=<?php echo $recherche; ?>&name_tab=0&name_do_search=1" target="_blank"><img src="./image/iboogie.gif" border="0" /></a></center><br />
<?php
if (sizeof($_SESSION['result_iboogie']) > 1){
	foreach ($_SESSION['result_iboogie'] as $result){
		if ($result != ''){
			$parenth = strrpos($result, "(");
			$lien = substr($result, 0, $parenth);
			echo '<a href="./result.php5?recherche='.$lien.'" class="a"> - '.$result.'</a><br />';
		}
	}
}elseif(isset($_SESSION['result_iboogie'][0]) && $_SESSION['result_iboogie'][0] != ''){
	$parenth = strrpos($_SESSION['result_iboogie'][0], "(");
	$lien = substr($_SESSION['result_iboogie'][0], 0, $parenth);
	echo '<a href="./result.php5?recherche='.$lien.'" class="a"> - '.$_SESSION['result_iboogie'][0].'</a><br />';
}else{
	echo '<center style="font-size:12px;">No result</center>';
}
?>
<br />
</td>
<td width="260px" valign="top" style="padding-left:10px;padding-right:10px;" align="left">
<center><a href="http://www.gigablast.com/search?n=100&q=<?php echo $recherche; ?>&nrt=51" target="_blank"><img src="./image/gigablast.gif" border="0" /></a></center><br />
<?php
if (sizeof($_SESSION['result_gigablast']) > 1){
	foreach ($_SESSION['result_gigablast'] as $result){
		if ($result != ''){
			$parenth = strrpos($result, "(");
			$lien = substr($result, 0, $parenth);
			echo '<a href="./result.php5?recherche='.$lien.'" class="a"> - '.$result.'</a><br />';
		}
	}
}elseif(isset($_SESSION['result_gigablast'][0]) && $_SESSION['result_gigablast'][0] != ''){
	$parenth = strrpos($_SESSION['result_gigablast'][0], "(");
	$lien = substr($_SESSION['result_gigablast'][0], 0, $parenth);
	echo '<a href="./result.php5?recherche='.$lien.'" class="a"> - '.$_SESSION['result_gigablast'][0].'</a><br />';
}else{
	echo '<center style="font-size:12px;">No result</center>';
}
?>
<br />
</td>
<td width="260px" valign="top" style="padding-left:10px;padding-right:10px;" align="left">
<center><a href="http://clusty.com/search?input-form=clusty-simple&v%3Asources=webplus&query=<?php echo $recherche; ?>" target="_blank"><img src="./image/clusty.gif" border="0" /></a></center><br />
<?php
if (sizeof($_SESSION['result_clusty']) > 1){
	foreach ($_SESSION['result_clusty'] as $result){
		if ($result != ''){
			$parenth = strrpos($result, "(");
			$lien = substr($result, 0, $parenth);
			echo '<a href="./result.php5?recherche='.$lien.'" class="a"> - '.$result.'</a><br />';
		}
	}
}elseif(isset($_SESSION['result_clusty'][0]) && $_SESSION['result_clusty'][0] != ''){
	$parenth = strrpos($_SESSION['result_clusty'][0], "(");
	$lien = substr($_SESSION['result_clusty'][0], 0, $parenth);
	echo '<a href="./result.php5?recherche='.$lien.'" class="a"> - '.$_SESSION['result_clusty'][0].'</a><br />';
}else{
	echo '<center style="font-size:12px;">No result</center>';
}
?>
<br />
</td>
</tr></table>
 
<br /><br />
 
<a href="./fichier/netdraw2.zip" class="a">Download Netdraw to read VNA Data Format</a>
 
<br /><br /><br />
 
<span class="texte_little">Clustering Meta-Engine &copy; MIET 2006 - MDISTIC 2007</span>
<br /><br />
</div>
</body>
</html>
puis curieusement $_SESSION['clustersTries'] perd tout son contenu (mais pas sa taille) arrivé dans generate.php5 dont voici le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
 
<?php
session_start();
require_once('mdl/mdl-php/functions.inc.php5');
echoCluster($_SESSION['clustersTries']);// là il est devenu vide, zarb
if(isset($_POST['csv'])){
 
	$requete = $_POST['search'];
	$requete = str_replace(' ','_',$requete);
	generate_xls($requete);
 
}elseif(isset($_POST['vna'])){
 
	$requete = $_POST['search'];
	$requete = str_replace('"','_',$requete);
	$requete = str_replace('\'','_',$requete);
	$requete = str_replace('+','_',$requete);
	$requete = str_replace('-','_',$requete);
	$requete = str_replace(' ','_',$requete);
	generate_vna($requete);	
}
elseif(isset($_POST['xml']))
{
	createXml($_SESSION['clustersTries']);	
}
 
else
{
	echo header('location: index.php?erreur=1');	
}
 
?>
(aucun code arbitraite provenant de l'include n'est executé, j'ai checké, je l'ai pas inclus ici pour pas faire peur, je peux le fournir si besoin)

un pitit coup de main serait le bienvenu. merci