Problemi con le sessioni

Ciao a tutti, dopo un periodo di vacanza eccomi qui ad impazzire con yii.

Sto migrando un progetto su yii e abbiamo deciso di costruire le evoluzioni in yii e nel tempo libero convertire il vecchio lavoro su yii.

CI stiamo scontrando con un problema insolito, davvero strano, che ha a che fare con le sessioni.

Ci sono 2 pagine php

A -> sviluppata in php classico senza framework

B -> sviluppata in php con framework

A memorizza in sessione dei dati

e presenta un link alla pagina B

Nel link viene passato anche il parametro si = session_id() in modo che la pagina B possa rileggere tali valori.

Quando si clicca sul link, viene richiamata la pagina B che riprende i dati di sessione e visualizza dei dati.

A volte funziona a volte no.

A volte la sessione della pagina B, contiene i dati della pagina A, a volte è completamente vuota.

Addirittura, quando B contiene i dati, se faccio il refresh della pagina, dopo solo pochi secondi, non li contiene più.

Quindi ci dev’essere da qualche parte qualcosa che cancelli i dati e

presumo sia qualcosa che abbia a che fare con la scadenza della sessione.

Ma come se non bastasse, guardate questo spezzone di codice della pagina B:




public function actionEsportaDettaglioInd1($si) {

 	echo " s ".session_id();

      

 	$_SESSION['PROVA']="p";

      

      if(session_id()!=$si){  	

      session_id($si);

      session_set_cookie_params(60*10);

      session_start();

      echo " b ".session_id();

 	}

      

 	die(" - ".print_r($_SESSION,true));

}



Questo è il risultato:

[color="#222222"][font="arial, sans-serif"][size="2"]

s 8d3b8a5bbeda6134070bec9c0dee1c1e b 20427792f7b949d37945529ef49639fc - Array

(

[PROVA] => p

)[/size][/font][/color]

[color="#222222"][font="arial, sans-serif"][size="2"]dove si vede che session_id del framework valeva [/size][/font][/color][color="#222222"][font="arial, sans-serif"][size="2"]8d3b8a5bbe[/size][/font][/color][color="#222222"][font="arial, sans-serif"][size="2"]da6134070b[/size][/font][/color][color="#222222"][font="arial, sans-serif"][size="2"]ec9c0dee1c[/size][/font][/color][color="#222222"][font="arial, sans-serif"][size="2"]1e [/size][/font][/color]

[color="#222222"][font=“arial, sans-serif”][size=“2”]quindi passa nell’if che imposta il session_id della pagina precedente, ed infatti stampa[/size][/font][/color]

[color="#222222"][font="arial, sans-serif"][size="2"]b 20427792f7[/size][/font][/color][color="#222222"][font="arial, sans-serif"][size="2"]b949d37945[/size][/font][/color][color="#222222"][font="arial, sans-serif"][size="2"]529ef49639[/size][/font][/color][color="#222222"][font="arial, sans-serif"][size="2"]fc[/size][/font][/color]

[color="#222222"][font="arial, sans-serif"] [/font][/color]

[color="#222222"][font=“arial, sans-serif”][size=“2”]ma [/size][/font][/color]$_SESSION[‘PROVA’] è ancora valorizzato coi dati della session id precedente!!!

E allora non ci capisco più nulla e chiedo aiuto a qualcuno che possa illuminarmi.

E’ corretto usare il codice soprastante su una pagina sviluppata con Yii o bisogna usare qualche comando specifico del framework?

http://www.yiiframework.com/doc/api/1.1/CHttpSession

Nada.

Neanche così.

Cioè?

Ho provato ad usare i comandi nativi di yii per la gestione delle sessioni,

ma continua a fare lo stesso scherzo sopra descritto.

Che è senza senso.

Come se qualcosa cancellasse la sessione.

Scusami: potresti postare di nuovo il codice che hai ora?

Ormai ho risolto passando i dati da una pagina all’altra senza usare le sessioni ma il post.