Newsgroup: it.comp.www.php
Titolo: sessioni

Ciao all, sto debuggando con ZDE un'applicazione che fa uso di sessioni. 
Dato che all'apparenza le variabili di sessione non sembra vengano mantenute 
in memoria sto controllando tutto il flusso per capire che succede. Mi sono 
reso conto di una cosa che trovo strana.
Quando l'applicazione esegue il session_start() al browser vengono inviati i 
seguenti header:
Set-Cookie: PHPSESSID=8895dcf76e1e027fb330705f79d6b414; expires=Fri, 
04-Mar-1904 22:10:27 GMT; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, 
pre-check=0
Pragma: no-cache
Mi spiegate cosa c'entrano quelle date di expires dello scorso secolo ?!
Altra domanda: è corretto far partire le sessioni negli script usando
if(!session_id()) session_start();
se session.auto_start è settata a 0 ?
Grazie
A. 

 if(!session_id()) session_start();
Personalmente preferisco:
if ((session_id () == '') && !headers_sent ()) {
	session_start ();
}
 
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 Il debug come lo stai facendo?
Da ZDE eseguendo il codice step-by-step.
A. 

 }
Ok, il mio problema pero' a questo punto è che l'id di sessione ogni volta 
viene reinizializzato e di conseguenza perdo il contenuto delle variabili di 
sessione. Lo script php richiamato è sempre lo stesso ed all'inizio esegue 
lo start della sessione (ho usato il metodo da te consigliato). Vengono 
fatte delle query su db ed inizializzate delle variabili di sessione 
$_SESSION['var']=valore, dopodiche' viene fatto un refresh (tramite submit 
JS) allo script stesso che dovrebbe eseguire istruzioni differenti dato che 
alcune variabili di sessione dovrebbero essere state inizializzate in 
precedenza. In realtà dopo il refresh la sessione viene di nuovo fatta 
partire ma con un id differente e di conseguenza ho perso le variabili 
inizializzate in precedenza.
Potrebbe dipendere dalle impostazioni di sessione di PHP ? La mia 
impressione è che non viene settato il cookie di sessione (perche' a tutti 
gli effetti io non me lo ritrovo tra i cookies), pero' altri cookie settati 
da codice vengono salvati correttamente.
Grazie
A. 

 Il debug come lo stai facendo?
Tanto per essere più precisi, queste sono le impostazioni di sessione
attuali del PHP, le riporto tutte, anche se la maggior parte contengono
valori di default del PHP:
      Directive                             Local Value             Master 
Value
      session.auto_start                Off                          Off
      session.bug_compat_42      On                          On
      session.bug_compat_warn   On                         On
      session.cache_expire           180                         180
      session.cache_limiter           nocache                 nocache
      session.cookie_domain         no value             no value
      session.cookie_lifetime         0                             0
      session.cookie_path                 /                             /
      session.cookie_secure         Off                         Off
      session.entropy_file             no value                 no value
      session.entropy_length         0                             0
      session.gc_divisor                 100                         100
      session.gc_maxlifetime             1440                 1440
      session.gc_probability             30                         1
 
session.name
                     PHPSESSID             PHPSESSID
      session.referer_check         no value                     no value
      session.save_handler             files                         files
      session.save_path                 /tmp                         /tmp
      session.serialize_handler         php                         php
      session.use_cookies             On                             On
      session.use_only_cookies     Off                         Off
      session.use_trans_sid             Off                         Off
Altre info: Apache 2.0.46 e PHP 4.3.2 su RHEL 3.
Grazie
A.

 Potrebbe dipendere dalle impostazioni di sessione di PHP ?
Il debug come lo stai facendo?
-- 


 Da ZDE eseguendo il codice step-by-step.
Questo l'ho capito, come richiami le pagine? Da browser? Se si quale?
Se no, ad ogni richiesta ripassi il SID al PHP?


 Se no, ad ogni richiesta ripassi il SID al PHP?
No
A. 

 Se no, ad ogni richiesta ripassi il SID al PHP?
Sono giunto alla conclusione che non viene memorizzato il cookie di 
sessione. Da un controllo non mi risulta infatti tra i cookie del browser 
(mentre altri cookies anche sullo stesso sito vengono memorizzati).
C'e' qualcosa in particolare che posso controllare per tentare di risolvere 
il problema ?
A.