Bonjour,
En fait voilà j'ai une petite question , j'essaye d'utiliser des variables de sessions que je lis dans différents controllers de mon application. Ma question est de savoir quand je modifie ma variable de session dans un de mes controllers est-ce que elle est prise en compte par mes autres controllers ou bien dois je lui donner un nouveau nom. Par contre si j'utilise pas mes variables de session mais que j'envoie mes données via URL cela fonctionne correctement.
Dans mon controller choix j'ai crée des variables de session
$this->Session->write('argent', 500);
$this->Session->write('level', 0);```
$level = $this->Session->read('level');
$argent = $this->Session->read('argent'); `
$id_choix1=$choix1['choix']['id'];
$id_choix2=$choix2['choix']['id'];
$id_level = $choix1['choix']['niveau'];
/** on vérifie qu'il s'agit bien de deux choix différents **/
if ($id_choix1==$id_choix2){
//sinon on recharge la page
return $this->redirect(array('action' => 'jeux'));
}
$affiche_choix1=$choix1['Theme']['Nom'];
$affiche_choix2=$choix2['Theme']['Nom'];
$level++;
``
Mon model choix:
``
public function getRandomByLevel($level = 0){
$rand = $this->find('first', array(
'order'=>'rand()',
'conditions' => array('NIVEAU' => $level)));
return $rand;
Mon controller Reponse qui verifie si c'est correct
``
$level = $this->Session->read('level');
if($valeurs ==$bonnereponse ){
$this->Session->read('level')+1;
return $this->redirect(array('controller'=>'Themes', 'action' => 'jeux'));
### Ce que je veux
C'est que ma variable session augmente de 1 lors de la redirection
### Ce que j'obtiens
il prend pas en compte mon changement dans ma variable de session.
Bonsoir.
quand je modifie ma variable de session dans un de mes controllers est-ce que elle est prise en compte par mes autres controllers
Pour répondre à ta question, lorsque tu modifies une valeur de la session elle sera répercutée sur toute l'application.
Et lorsque tu fais :
$this->Session->read('level')+1;
ça ne change pas la valeur, il faut utiliser la méthode write
pour la modifier et non la méthode read
.