IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Valeurs qui disparaissent d'une variable session (tableau)


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Valeurs qui disparaissent d'une variable session (tableau)
    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 !

  2. #2
    Membre confirmé Avatar de dj-julio
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Décembre 2005
    Messages : 745
    Points : 625
    Points
    625
    Par défaut
    tu n'as pas oublié de faire un session_start sur ta page qui pose problème ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Pansatyros

    les premières lignes de ces pages sont identiques :
    session_name("cdc_management");
    session_start();
    print_r($_SESSION);

    Nan malheureusement...

  4. #4
    Futur Membre du Club
    Inscrit en
    Mai 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Okey, le session_name changeait entre l'action et le reste des pages ou il était défini dans le page.mod ... je suis stupide. merci quand meme ^^


    ce qui n'empèche que dans $_SESSION il gardait le nom de ma variable mais plus ses valeurs... étrange.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Modification de la valeur d'une variable session
    Par patrios dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 16/04/2008, 10h35
  2. Prise en compte de la valeur d'une variable session
    Par ksouna dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 20/12/2007, 12h28
  3. Variables qui disparaissent aprés une redirection
    Par xclam dans le forum Langage
    Réponses: 2
    Dernier message: 22/09/2007, 11h38
  4. Réponses: 3
    Dernier message: 10/08/2007, 13h42
  5. supprimer lignes d'une variable session tableau sauf 1
    Par epeichette dans le forum Langage
    Réponses: 1
    Dernier message: 30/03/2006, 17h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo