Newsgroup: it.comp.www.php
Titolo: Sessione: e' giusto ma non funzia; potete per favore darci un'occhiata?

Salve a tutti.
Dopo essermi letto molta documentazione e post arretrati, ho cercato di 
risolvere un problema con le sessioni che non sono mai riuscito a 
risolvere. Si tratta di passare una variabile "registrata" (chiamata 
$pippo), e con contenuto ben definito, da una pagina "box.php" (un 
framebox, cioe' una pagina che definisce due frame) ad una pagina 
"sinistra.php" (la pagina che viene caricata nel frame sinistro).
A me sembra che non ci siano errori, ma nonostante questo il contenuto 
della variabile $pippo non viene passato alla pagina "sinistra.php".
Questo l'inizio del file "box.php" (ho messo per quest'occasione dei 
commenti per chiarire un po' di piu'):
<?
session_start();
session_register('pippo');
...
...
} //questo codice alla fine produce un contenuto ben definito per la
  //variabile $pippo
?>
<html><head><title></title>
<frameset framespacing="0" border="0" frameborder="0" cols="300,*">
<frame name="left" src="sinistra.php?<? echo SID ?>" marginwidth=0 
scrolling="no">
<frame name="right" src="destra.htm" marginwidth=0 scrolling="auto">
</frameset>
</html>
Mentre l'unica presenza di codice PHP nel file "sinistra.php" chiamato e' 
questa riga: <? echo $pippo; ?>
Dunque, viene caricato tutto, ma il file "sinistra.php" caricato nel 
frame sinistro non mostra il contenuto della variabile $pippo, non viene 
visualizzato alcun output della variabile $pippo.
Da notare che ho disattivato i cookies sul mio browser perche' sto 
cercando una soluzione che non ricorra ai cookies, ma, se non sbaglio, 
anche con i cookies disattivati tutto quello scritto sopra dovrebbe 
funzionare perche' quando il codice presente in "box.php" chiama il file 
"sinistra.php", lo chiama fornendo anche il SESSION-ID (SID).
Vi assicuro che ho tentato molte soluzioni, dal mettere istruzioni-
varianti all'inizio del file "box.php" come:
<?
session_start();
$sid=session_id();
session_register('pippo');
...
...
?>
per poi usare questa forma di link per chiamare "sinistra.php":
<frame name="left" src="sinistra.php?<? echo $sid ?>" marginwidth=0 
scrolling="no">.
Chi puo' gentilmente darmi una mano e chiarirmi dove ho e se ho 
eventualmente sbagliato qualcosa? Non riesco proprio a venirne fuori.
Prima di ricorrere eventualmente alla soluzione dell'accodamento di 
variabili/loro contenuto, al nome del file da chiamare (che per quello 
che voglio fare sarebbe decisamente piu' macchinoso), mi sarebbe 
decisamente piaciuto scoprire il motivo del non funzionamento della 
soluzione "passaggio SID" che ho scritto sopra.
Ciao e grazie per eventuali reply.
marco 

Sul file 'sinistra.php' hai messo all'inizio :
session_start(); ?
( Ci vuole anche li ).
Ad occhio la righa
<frame name="left" src="sinistra.php?<? echo SID ?>" marginwidth=0
ha un errore ....... echo $SID.
Prova anche a non disabilitare i cookies.
Ciao,
F.

 scrolling="no">.
che io sappia:
<?
print "<frame name=\"left\" src=\"sinistra.php?=SID\" marginwidth=0 
 scrolling=\"no\">";
?>
ci pensa il php a passare il numero di sessione!
ciao

 Prova anche a non disabilitare i cookies.
Ehhh, ma cosi' non vale  ^_____^
Certo, cosi' funzia, ma io cercavo proprio una soluzione con sessione e 
che fosse totalmente sganciata dai cookies.
Comunque grazie di tutto, quella del session_start() anche nel file 
destinazione mi era totalmente estranea. 
Ciao, marco

 ci pensa il php a passare il numero di sessione!
Gia', ma gia' nel mio primo post avevo scritto la sintassi corretta 
(credo) per il discorso sid, dunque mi sa che c'e' qualcos'altro sotto; 
cazzo che incubo.
Ciao e grazie.
marco
P.S.: come consigliato da Fabrizio, provando con cookies abilitati tutto 
funzia, e funzia anche usando variabili/valori in coda all'url della 
pagina sinistra.php, ma con ste stramaledettissime sessioni e cookies 
disabilitati non funzia 'na eva  :(

 wrote in 
news:MPG.16d44458a...@News.CIS.DFN.DE
:

nel php.ini hai controllato che i valori siano adeguati al tuo OS??
(es. session.save_path = d:\temp\sessioni)
ti faccio un esempio CHE FUNZIONA
<?
#la sessione ha già in pancia $authid
session_start();
if(!session_is_registered("authid"))
        {
        #controllo autenticazione
        print("<h1 align=center>Area riservata</h1>\n");
    	  #occhio a come gli sto passando il sid!!
        print("<p align=center>Clicca <a 
href='/login.php?=SID&altrovalore=pippo'>qui</a> per autenticarti.</p>");
    	  exit();
        }
?>
ciao

 ti faccio un esempio CHE FUNZIONA
Sono sicuro che funzioni, solo che e' piuttosto diverso dal mio caso 
particolare che, per quanto sia sintatticamnte giusto, non ne vuole 
sapere di funzionare (grrrrr). Ne ho visti molti di esempi con 
autenticazione-sessioni con controlli annessi (ho scaricato e stampato un 
bel po' di tutorial, inclusi quelli di Zend, Ying Zhang, Charles Elkan, 
Vikram Vaswani, Harish Kamath, ecc.), ma se ho scritto qua e' proprio 
perche' non riesco in alcun modo a venirne fuori con il mio particolare 
esempio (che sia colpa dei frame? Bohhhhhh.....).
Cmq, visto che tra poco si inizia il secondo semestre e che dunque non mi 
posso piu' permettere di soffermarmi su questo ostacolo, mi sa che mi 
conviene puntare direttamente sul piu' sicuro e collaudato 
(oltre al fatto che e' l'unico che mi funziona) variabile=valore in coda 
all'url e lasciar perdere 'ste maledette sessioni  :(
Ciao e grazie ancora.
marco

Non so io mi butto....
Hai provato a richiamare invece di $pippo $session[pippo]?

 Hai provato a richiamare invece di $pippo $session[pippo]?
No, non ho provato (anche perche' e' una sintassi per richiamare una 
var che non ricordo d'aver mai incontrato). Ora non posso perche' 
momentaneamente mi e' impossibile accedere all'account. 
Dopodomani provo e nel caso funzionasse te lo faccio sapere in mail e/o 
nel NG: comunque grazie, vada come vada.
Ciao, marco