Newsgroup: it.comp.www.php
Titolo: variabile di sessione

Salve a tutti,
Ho due siti su due server diversi. Attraverso un link richiamo una pagina 
del server2 in un frameset su server1.
Le sessioni create su server2 non mi funzionano. E' normale? Se si come 
posso risolvere la cosa? Ho bisogno di utilizzare queste variabili.
Grazie
UDG 

 Le sessioni create su server2 non mi funzionano.
Definisci "non mi funzionano".
-- 
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.

"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio 
news:zaFie.14159$795.4...@twister1.libero.it...

variabile vuota, senza valore! 

 variabile vuota, senza valore! 
Posta il codice.
Non e' che stai cercando di accedere a variabili di sessione salvate
sull'altro server?


"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio 
news:jGFie.14201$795.4...@twister1.libero.it...

no, no l'e ho ricreate! se apro la pagina da sola (non nel frame) funziona, 
se la metto nel frame non va! 

 funziona, se la metto nel frame non va!
controlla che l'indirizzo della pagina da caricare nel frame non venga
riscritto con il SID del sito sbagliato..
-- 
www.iuz-lab.info

 
[quoting 
http://php.net/session
]
url_rewriter.tags
"a=href,area=href,frame=src,form=,fieldset="
[/quoting 
http://php.net/session
]
-- 
www.iuz-lab.info


<?php
session_start();
if(!isset($_SESSION['pippo'])){
$user=$_GET['user']);
$pass=$_GET['pass']);
mysql_connect('......');
mysql_select_db('......');
$query = mysql_query("........controllo user e pass.......");
   $result = mysql_fetch_row($query);
mysql_close();
if ($result < 1) {
print""non autorizzato";
exit;
 }
else{$_SESSION['pippo']=$result[0];$_SESSION['pippo2']=$user;
 }
}
Poi il resto della pagina ....
Qui ci sono link a questa stessa pagina ma una volta cliccato sui link mi 
stampa "non autorizzato"
perchč non gli ho passato user e pass ma non dovrebbe accadere poichč ho 
settato la variabile di sessione
precedentemente ..... 

"iuz" <us...@host.network> ha scritto nel messaggio 
news:K8Gie.1403446$35.52...@news4.tin.it...

grazie iuz, ma come faccio a controllare il sid? 

U.D.G. ha scritto:

vediamo, se ho capito bene, la pagina container (quella con la 
dichiarazione del frameset) č su un server (A) e gestisce le sue 
sessioni standard di php, una delle pagine caricate all'interno di un 
frame proviene da un altro server (B) che usa sempre le sessioni 
standard di php, in questo caso o le variabili di sessione vanno 
registrate sul client (COOKIE) o non le trovi piů.
In questi casi (piů server in cooperation) conviene, almeno secondo me, 
sostituire la gestione delle sessioni di php ed utilizzare un proprio 
gestore di sessioni basato su db, ovviamente č necessario che il db sia 
centralizzato fra i vari server web.
ciao Andrea

 ciao Andrea
IMHO non e' necessario..
basta cambiare il 
session.name
 su uno dei due server e preoccuparsi di
propagare ogni volta i due SID tramite _GET (tramite COOKIE, POST sarebbe
piu' laborioso).. niente di particolarmente complicato..
se proprio vuoi fare a meno di passare due SID puoi settare i 
session.name
in modo che siano uguali e poi settare il SID sul secondo server in modo
che sia identico a quello del primo..
ie.
session_start();
session_id($_GET['PHPSESSID']);
usando un DB dovresti creare una pagina di interscambio per ottenere ogni
volta i dati di sessione poiche' non credo ci siano molti DBS che
permettano interrogazioni da remoto..
-- 
www.iuz-lab.info

 grazie iuz, ma come faccio a controllare il sid?
controlla nel codice HTML che arriva al browser che il SID giusto venga
riscritto, se riscritto, nel tag frame corretto..
oppure fai un semplice..
echo SID;
sulle due pagine dei due server chiamate e controlla che in effetti i valori
siano coerenti..
cmq ho postato una soluzione alternativa sempre nello stesso thread..
-- 
www.iuz-lab.info

 
A: mah, io ho realizzato la mia classe di gestione delle sessioni su db 
e viene usata largamente su tutti i nostri server senza problemi, non 
capisco a cosa ti riferisci con "interrogazioni da remoto", ti connetti 
ad un server db che di solito non fa da server web, a meno che non ci si 
riferisca a siti ospitati, ma anche lì, se non ricordo male, si può 
avere una connessione da remoto puntando l'host via ftp.
ciao Andrea

 avere una connessione da remoto puntando l'host via ftp.
IMHO per quanto ne so' la stra grande maggioranza degli amministratori
permettono una connessione al server SQL solo da localhost o da altro host
da loro definito..
e' difficile che gli amministratori cambino la configurazione per
accontentarti..
-- 
www.iuz-lab.info

 
A: beh, se ho due server web che devono condividere informazioni, credo 
sia logico che avranno un unico db al quale connettersi entrambi...
ciao Andrea