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 :

Remplissage de $session


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2012
    Messages : 34
    Points : 31
    Points
    31
    Par défaut Remplissage de $session
    Bonjour à tous,

    J'ai un soucis concernant une variable de session que je n'arrive pas à remplir.
    Voici le format attendu :

    $_session['competition']['inscription']['solo']['membres'] qui est un array contenant :
    - ['IDS'] = array de ID string
    - ['NIVEAU'] = string
    - ['FILIERE'] = string

    On a par ex ceci :
    $_session['competition']['inscription']['solo']['membres'][0]['FILIERE'] = 'nationale 1'
    ou encore :
    $_session['competition']['inscription']['solo']['membres'][0]['IDS'][0] = '36'

    Mon problème est plutôt simple, je n'arrive pas à remplir mon tableau....
    Voici un bout de 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
    33
    34
    $_SESSION['COMPETITION']['INSCRIPTION']['SOLO']['MEMBRES'] = array();
    $solo_array = array();
    foreach($_POST as $key => $val)
    {
    	if (strlen(strstr($key,'lic_fed'))>0)
    	{
    		$id_lic = str_replace('lic_fed', '',$key);
    		$solo = array();
    		$solo['IDS'] = array();
    		array_push($solo['IDS'], $id_lic);
    		$solo['NIVEAU'] = '';
    		$solo['FILIERE'] = '';
    		array_push($solo_array, $solo);
    	}
    }
    foreach($_POST as $key => $val)
    {
    	if (strlen(strstr($key,'filiere'))>0)
    	{
    		$id_lic = str_replace('filiere', '',$key);
    		foreach ($solo_array as $solo)
    		{
    			foreach ($solo['IDS'] as $id_licence)
    			{
    				if ($id_lic == $id_licence)
    				{
    					$solo['FILIERE'] .= $val;
    				}
    			}
    		}
    	}
    }
     
    // IDEM pour niveau que filiere
    Je précise que mes conditions fonctionne et que je passe bien par la ligne $solo['FILIERE'] .= $val; et que val ne vaut pas ''.
    Seulement lorsque derrière je print ma session, mes IDS sont bien rempli mais pas les FILIERE ni les NIVEAU.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ( [IDS] => Array ( [0] => 3 ) [NIVEAU] => [FILIERE] => )
    au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array ( [IDS] => Array ( [0] => 3 ) [NIVEAU] => 1 [FILIERE] => 1 )
    Je ne vois pas d'où provient l'erreur, si quelqu'un pouvait m'aider...

    Merci à tous.

  2. #2
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Avril 2012
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Avril 2012
    Messages : 34
    Points : 31
    Points
    31
    Par défaut
    J'ai finalement résolu mon problème comme ceci, je ne sais pas si cela est très propre mais ça fonctionne :

    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
    $_SESSION['COMPETITION']['INSCRIPTION']['SOLO']['MEMBRES'] = array();
    	$id_array = array ();
     
    	foreach($_POST as $key => $val)
    	{
    		if (strlen(strstr($key,'lic_fed'))>0)
    		{
    			$id_lic = str_replace('lic_fed', '',$key);
    			array_push($id_array, $id_lic);
    		}
    	}
    // 	print_r($id_array);
     
    	$filiere_array = array();
    	foreach($_POST as $key => $val)
    	{
    		if (strlen(strstr($key,'filiere'))>0)
    		{
    			$id_lic = str_replace('filiere', '',$key);
    			$an_array = array();
    			$an_array['ID'] = $id_lic;
    			$an_array['FILIERE'] = $val;
    			array_push($filiere_array, $an_array);
    		}
    	}
    // 	print_r($filiere_array);
     
    	$niveau_array = array();
    	foreach($_POST as $key => $val)
    	{
    		if (strlen(strstr($key,'niveau'))>0)
    		{
    			$id_lic = str_replace('niveau', '',$key);
    			$an_array = array();
    			$an_array['ID'] = $id_lic;
    			$an_array['NIVEAU'] = $val;
    			array_push($niveau_array, $an_array);
    		}
    	}
    // 	print_r($niveau_array);
     
    	foreach ($id_array as $id_lic)
    	{
    		$find_filiere = false;
    		$find_niveau = false;
    		$solo = array();
    		$solo['IDS'] = array();
    		array_push($solo['IDS'], $id_lic);
    		foreach ($filiere_array as $an_array_filiere)
    		{
    			if ($an_array_filiere['ID'] == $id_lic)
    			{
    				$solo['FILIERE'] = $an_array_filiere['FILIERE'];
    				$find_filiere = true;
    				break;
    			}
    		}
    		foreach ($niveau_array as $an_array)
    		{
    			if ($an_array['ID'] == $id_lic)
    			{
    				$solo['NIVEAU'] = $an_array['NIVEAU'];
    				$find_niveau = true;
    				break;
    			}
    		}
    		if ($find_filiere && $find_niveau)
    		{
    			array_push($_SESSION['COMPETITION']['INSCRIPTION']['SOLO']['MEMBRES'], $solo);
    		}
    	}
     
    	print_r($_SESSION['COMPETITION']['INSCRIPTION']['SOLO']['MEMBRES']);


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

Discussions similaires

  1. [Servlets - JSP] Problème de session
    Par the java lover dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 28/11/2011, 09h54
  2. [JSP][session] perte de session et sendRedirect
    Par blaz dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 30/03/2007, 09h32
  3. Réponses: 11
    Dernier message: 04/08/2003, 15h30
  4. [XMLRAD] session
    Par jml dans le forum XMLRAD
    Réponses: 4
    Dernier message: 17/12/2002, 09h24

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