Newsgroup: it.comp.www.php
Titolo: php5 - anomalie  con _SESSION

Salve a tutti, ho un problema con l'utilizzo della supervariabile
_SESSION.
Ho php5.0.4 su Fedora4. La configurazione di SESSION nel php.ini è la
seguente:
[Session]
session.save_handler = files
session.save_path = "/var/lib/php/session"
session.use_cookies = 1
; session.use_only_cookies = 1
session.name
 = PHPSESSID
session.auto_start = 0
session.cookie_lifetime = 0
session.cookie_path = /
session.cookie_domain =
session.serialize_handler = php
session.gc_probability = 1
session.gc_divisor     = 1000
session.gc_maxlifetime = 1440
session.bug_compat_42 = 0
session.bug_compat_warn = 1
session.referer_check =
session.entropy_length = 0.
session.entropy_file =
;session.entropy_length = 16
;session.entropy_file = /dev/urandom
session.cache_limiter = nocache
session.cache_expire = 180
session.use_trans_sid = 0
session.hash_function = 0
session.hash_bits_per_character = 5
In parole povere $_SESSION si perde i valori della variabili dopo il
refresh della pagina.
Ho inserito nel file index.php un print_r($_SESSION) ad inizio file ed
un print_r($_SESSION) a fine file. A fine file tutti i valori sono
caricati es:$_SESSION['nome'] = "NOME", $_SESSION[ArrDati][Via] =
"VIA", ecc.. ma se faccio il refresh alla terzo o quarta volta(quindi
NON SEMPRE) il print_r ad inizio file mi resetta alcune variabili di
sessione senza motivo apparente.
Ma come è possibile? se a fine file tutte le variabili sono impostate?
come fa a perdere il valore dopo il refresh?
Ah oltretutto mi sono andato a vedere anche il file in
/var/lib/php/session/, a fine script con print_r ho tutti i valori
assegnati, ma sul file non ci sono, ho la variabile serializzata con N!
Il problema mi tormenta da diversi giorni:( ogni consiglio è ben
accetto.
Grazie a tutti.

 refresh della pagina.
Usi XTemplate ??
ciao
Mauro

Innuendo ha scritto:

Ciao Mauro, utilizzo "tpleng -Template Engine", perchè secondo te
potrebbe influire?
in ogni caso ora mi hai messo la pulce nell'orecchio e provo a
disabilitare il motore grafico.

 potrebbe influire?
A me e' successa una cosa simile (del tutto inspiegabile) con XTemplate
e pensavo potesse essere qualcosa di simile per te
Se vuoi indagare :-) ti passo il pezzo di codice incriminato tanto sono
poche righe. Se setti una sessione dopo aver richiamato questo codice la
variabile di sessione non viene memorizzata.
function scan_globals() {
	reset($GLOBALS);
	while (list($k,$v)=each($GLOBALS))
		$GLOB[$k]=$v;
	$this->assign("PHP",$GLOB);	/* access global variables as
{PHP.HTTP_HOST} in your template! */
}
ciao
Mauro

Ho provato ma nulla non dipende da quello, tpleng non centra nulla.
altri suggerimenti?
Grazie.

Aggiungo io qualcosa, il problema potrebbe dipendere dalla "posizione"
in cui si settano la variabili di sessione.
Secondo voi cambia  qualcosa se setto le varibil in
localhost/test/sessione.php e poi risetto le varibili in
localhost/test/modifica/sessione2.php?


penso proprio di no

j0sh ha scritto:

Ciao J0sh grazie per la risposta.
Però guarda questa funzione:
http://it.php.net/manual/en/function.session-set-cookie-params.php
e senti cosa dice questo:
if you have a website with rewrite on it, and you use a ""Rewrite Style
Folders"" and you are using session to keep the user online, you must
use session_set_cookie_params to set the path to '/' Because you might
have problems getting to another part of your website.
Io ho creato un 'rewrite' in php, infatti l'url può mostrarsi in
questo modo:localhost/moduli/index.php/iscrzione,amministratore/?view=1
Ho provato a modificare la string path e in effetti mi cominciano a
funzionare alcune varibili di sessione mentre altre no.
altri suggerimenti?
grazie.



Che meraviglia.
Unito al fatto che la funzione non mi è mai piaciuta ed è un overkill nel  
caso cominci ad usare phptemplate in piu' di un posto contemporaneamente.
Un bell'override sull'intera funzione non è una cattiva idea.
Tac
-- 
La netiquette prevede sign di al massimo quattro righe.
Purtroppo la mia sign in quattro righe non ci stà.



Prova a inserire un session_write_close() a fine pagina.
Ad ogni modo se la pagina funziona bene con php versione vecchia,  
smetterei anche di darmi pena.
Ho il sospetto che alla zend abbiano combinato i loro pasticci sulla 5.1,  
vedi news su
http://www.php.net/
