Gro probleme avec les sessions [php]

salut ,

je travaille sur un projet d'administration d'un site de e-commerce en utilisant php5
j'utilise beaucoup les variables de session , maintenant je me trouve bloqué dans l'un de mais script 'script_c.php' ou je stock quelque variables de session mais apres l'actualisation du meme script il se comporte comme si ces variables n'existe pas j'ignore pourquoi

<?php  
session_start(); 
  ////// ////////////////////////////////////////////////////////// ////////////////////////////////////////////////////// 
if(isset($_SESSION['selected'])){ 
 echo 'ok'; 
 foreach($_SESSION['selected'] as $val2){ 
   echo $val2.'--'; 
   $prob_id=$val2; 
    $sol_id="sol_".$val2; 
    $submit_id="submit_".$val2; 
  if(isset($_POST[$prob_id]) && isset($_POST[$sol_id])){ 
   echo '[ok2222]'; 
       $_SESSION[$prob_id]["id"]=$val2; 
       $_SESSION[$prob_id]["prob"]=$_POST[$prob_id]; 
       $_SESSION[$prob_id]["sol"]=$_POST[$sol_id]; 
       $_SESSION[$prob_id]['submit']="Annuler"; 
       //echo $_SESSION[$prob_id]["prob"]; 
       //$_SESSION[$prob_id]=$prod[$prob_id]; 
       if($prod[$prob_id]["sol"]=="remplacer_article"){ 
        header('Location:replace_article_cmde.php?prod_id='.$val2); 
       } 
       else { 
        //header('Location:solution_commande.php'); 
       } 
     } 
   elseif (isset($_SESSION[$prob_id])){ 
       
      echo $_SESSION[$prob_id]["prob"];  
   } 
   else{ 
    echo $_SESSION[$prob_id]["prob"]; 
    $_SESSION[$prob_id]['submit']="Valider"; 

   } 
 }   
}  
echo '++++++'.$_SESSION[$prob_id]['prob'].'+++++'; 
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////  
?> 



tous se passe bien et le variable $_SESSION[$prob_id]['prob'] s'affiche mais apres l'actualisation ou si je cherche a recuperer c'est variable dans un autre script isset retourne false

4 réponses

  1. Tes sessions sont écrasées au rafraîchissement.

    if(isset($_SESSION['taVariable'])) 
    		$variable = $_SESSION['tavariable'] ;
    	else 
    		$variable = 'là tu fais ce qu'il faut faire si elle n'existe pas (ton code quoi)';


    et tout à la fin tu mets ça

    	$_SESSION['tavariable'] = $variable;	
    0
    1. j'ai esayé de faire comme ca

      *
      <?php
      session_start();
      ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
      if(isset($_SESSION['selected'])){
      	echo 'ok';
      	foreach($_SESSION['selected'] as $val2){
      			echo $val2.'--';
      			$prob_id=$val2;
      				$sol_id="sol_".$val2;
      				$submit_id="submit_".$val2;
      		if(isset($_SESSION[$prob_id])){
      			echo $_SESSION[$prob_id]["prob"];
      			$prods[$val2]['submit']="Valider";
      		}		
      		elseif(isset($_POST[$prob_id]) && isset($_POST[$sol_id])){
      			echo '[ok2222]';
      			$prods=array();
      			$prods[$val2]["id"]=$val2;
      			$prods[$val2]["prob"]=$_POST[$prob_id];
      			$prods[$val2]["sol"]=$_POST[$sol_id];
      			$prods[$val2]['submit']="Annuler";
      							//echo '---{'.$_SESSION[$prob_id]["prob"].'}----';
      						
      					
      		}
      		$_SESSION[$prob_id]=$prods[$prob_id];
      		
      	}		
      }
      ////////////////////////////////////////////////////////////////////////////////////////////	
      echo "rr-".$_SESSION[$prob_id]."-rr";
      
      
      0
      1. j'ai esayé de faire comme ca

        *  
        <?php  
        session_start();  
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////  
        if(isset($_SESSION['selected'])){  
         echo 'ok';  
         foreach($_SESSION['selected'] as $val2){  
           echo $val2.'--';  
           $prob_id=$val2;  
            $sol_id="sol_".$val2;  
            $submit_id="submit_".$val2;  
          if(isset($_SESSION[$prob_id])){  
           echo $_SESSION[$prob_id]["prob"];  
           $prods[$val2]['submit']="Valider";  
          }    
          elseif(isset($_POST[$prob_id]) && isset($_POST[$sol_id])){  
           echo '[ok2222]';  
           $prods=array();  
           $prods[$val2]["id"]=$val2;  
           $prods[$val2]["prob"]=$_POST[$prob_id];  
           $prods[$val2]["sol"]=$_POST[$sol_id];  
           $prods[$val2]['submit']="Annuler";  
               //echo '---{'.$_SESSION[$prob_id]["prob"].'}----';  
                
               
          }  
          $_SESSION[$prob_id]=$prods[$prob_id];  
            
         }    
        }  
        ////////////////////////////////////////////////////////////////////////////////////////////   
        echo "rr-".$_SESSION[$prob_id]."-rr";  
        
        


        mais aucun changement le meme problème , 3 jours que je suis blocké
        0