Bonjour,

je rencontre un problème sur lequel je commence à m'arracher les cheveux !
En gros, j'ai une variable de session (tableau) qui contient des identifiants.
Sur les différentes pages les valeurs sont gardées en mémoire, en faisant un print_r($_SESSION) j'obtiens :
Array ( [tab_opps[]] => Array ( [6] => 4 [7] => 3 [8] => 9 ) )

mais dès que je soumet un formulaire, dans la page php appellée (action du form) je refais ce print_r($_SESSION) et j'obtiens :
Array ( [tab_opps[]] => )

alors que si je le fait sur n'importe quelle autre page j'ai les valeurs !
voici mon code dans la page contenant le formulaire
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
 
	<?php 
	if (! $_SESSION['tab_opps[]'] ) 
	{
		$_SESSION['tab_opps[]'] = array();
		echo "none";
	}
	if (! in_array($_REQUEST[idopp], $_SESSION['tab_opps[]']) && $_REQUEST[idopp] != '')
		array_push($_SESSION['tab_opps[]'], $_REQUEST[idopp]);
// ajoute l'idopp dans le tableau de session 
// s'il n'est pas deja contenu dans ce tableau
 
	if ($_REQUEST[iddel]) // supprimer une valeur du tableau
		unset( $_SESSION['tab_opps[]'][array_search($_REQUEST[iddel], $_SESSION['tab_opps[]'])] );
	print_r($_SESSION['tab_opps[]']);
	echo "<table>";
	foreach ($_SESSION['tab_opps[]'] as $key=>$val) // tableau html qui récapitule les idopp
	{
		echo "<tr>	<td>#".$val."</td>
					<td><a href='cdc.php?view=joinus&iddel=".$val."'>
					<img alt='Delete' title='Delete' class='link' src='../Ico/delete.ico' /></a></td></tr>";
	}
	?>
et sur la page d'action
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
 
 
$insert_for = new CObj;
foreach ($_SESSION['tab_opps[]'] as $key=>$val)
{
	$insert_for->Set_query("Insert into FOR values ('$idjoin', '$val')");
	$insert_for->Modify();
}
bien évidemment j'ai une erreur puisque le tableau ne contient plus rien :
Warning: Invalid argument supplied for foreach() in C:\Documents and Settings\mgarcia\Desktop\MATT\ZMWS\_web.zmwsc\CDC\Php\joiningform.php on line 51

mais dès que je reviens sur n'importe quelle page avec un print_r les valeurs sont de retour...
les premières lignes de ces pages sont identiques :
session_name("cdc_management");
session_start();
print_r($_SESSION);

j'espère avoir suffisement détaillé, merci de votre aide !