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

Come faccio a sapere quando un visitare se ne va dal mio sito?
In pratica quando lui arriva faccio partire la musica di sottofondo
con BGSOUND, poi quando naviga fra le pagine, non voglio che venga
ricaridato quel tag e che la canzone riparta daccapo, così uso un flag
(memorizzato nella sessione) che mi dice se la canzone è già partita o
no... però quando quel navigatore esce e poi rientra dopo 1 mese,
conservo ancora il flag a "on" oppure ho perso quella info? Se la
conservo, allora devo settare ad "off" quando lui esce.. non so se mi
spiego..
Mhaxx

 no...
La sessione si distrugge automaticamente dopo un po' (credo dipenda dalla
configurazione del php, ma siamo nell'ordine di pochi minuti). Quindi il
problema certamente non sussiste a distanza di un mese!!!
Angiblu

problema certamente non sussiste a distanza di un mese!!!
Forse la sessione si distrugge dopo che il vitatore ha chiuso il suo
browser, può essere?
In ogni caso: quale soluzioni mi suggerisci per fare in modo che la
musica di sottofondo (MIDI) non venga caricato ogni volta che cambio
pagina (essendo presente in ogni pagina visto che è dentro al menù,
che includo in ogni pagina appunto)?
Mhaxx


x il midi potresti creare la pagina con frame e inserire il menů in un frame
che viene caricato solo al primo accesso

 : 

La perdi.
Le sessioni non sono cookie.
	nicholas


esatto la chiusura del browser
implica la distruzione della sessione dell'utente
byeZ
ringo

implica la distruzione della sessione dell'utente
Quindi se volessi salvare qualche dato riguardante il visitatore, la
sessione non sarebbe l'ideale, visto che perderei tutto appena chiuso
il browser.
Mettiamo che io voglia tener traccia di quello che un utente compra
nel mio sito, cosa dovrei fare? In pratica voglio che quando tornerà,
fra 1 mese, io sappia cosa ha comprato.. devo per forza salvare tutto
su un DB?
Mhaxx

che viene caricato solo al primo accesso
Era quello che avevo fino a 3 gg fa. Ora ho eliminato i frames e ho
usato require di PHP per togliermeli dai piedi..
Mhaxx

Le sessioni non sono cookie.
Perciň i dati che ho dentro ad una sessione restano a mia disposizione
fintanto che il broser non viene chiuso?
E i cookie invece? I dati che salvo nei cookie restano per sempre? E
se un utente cancella il cookie, resto fregato.. perdo tutti i dati!
no?
Mhaxx

 
ciao
Alesi_27

 : 

Si.

 > Mhaxx
Forse č meglio il db perchč se il tuo cliente non ha i cookie attivi tutto
il tuo sistema di cura del cliente va a farsi benedire.
 Ciao
Anto

il tuo sistema di cura del cliente va a farsi benedire.
E' quello che stavo pensando anche io.. quindi i cookie non sono
affidabili, per potenzialmente un cliente averli disabilitati!
Altra cosa: ho letto da qualche parte che anche le sessioni di basano
sui cookie, ma allora anche le sessioni possono non funzionare se il
cliente li ha disabilitati?
Mhaxx

 cliente li ha disabilitati?
Bisogna distinguere tra i cookies http e quelli creati lato client (tipo con
javascript): i cookies http sono quelli che crei con php (o cmq lato
server); se non ho capito male, questi 'viaggiano' avanti e indietro tra
server e client finché il browser è attivo (o meno, puoi settare un
'expires'): un tipo particolare di questi cookies è la sessione, che
memorizza lato client tutte le variabili che vuoi associandole
all'identificativo di sessione, che viaggia come unico cookie; invece, i
cookies lato client sono dei piccoli files in formato testo che vengono
memorizzati nella macchina client, ma l'utente può in qualsiasi momento
cancellarli o disabilitarli...
Questo è quello che ho ricavato dalle mie letture: non sarà estrememnte
tecnico, ma dovrebbe essere corretto nella sostanza. Se ci sono errori... vi
prego di correggermi perché sto imparando anch'io...
Ciao. Angiblu

Domanda: io ho messo questo codice..
session_start();
if (!isset($_SESSION["bgsound"]))
    {
      print "<BGSOUND src=\"./audio/eyeoftiger.mid\"
autostart=\"true\" " .
            "loop=\"infinite\"></BGSOUND>";
      $_SESSION["bgsound"] = "on";
    }
..dentro ogni pagina del mio sito. Il punto è che ogni volta che
cambio pagina riparte la musica, mentre io vorrei che partisse la
prima volta e basta!
Il problema penso risieda sul fatto che ogni pagina aperta riapre una
sessione nuova (visto che c'è session_start). Ma come faccio a farne a
meno? Potrei mettere session_star solo su index.php, ma se un
visitatore entra direttamente in una pagina interna al sito sono
fregato, perchè salta la session_start?! Come posso fare?
Mhaxx

 fregato, perchè salta la session_start?! Come posso fare?
Prima di lanciare la sessione nelle pagine interne verifichi se la tua
variabile di sessione è stata settata (credo che si usi
isset(nome_variabile)), se lo è vuol dire che è un utente che proviene
dall'home page, se no vuol dire che viene dall'esterno e fai partire allora
la sessione.
Sono un apprendista di php quindi prendila con beneficio del dubbio.
 ciao

 all'identificativo di sessione, che viaggia come unico cookie;
Le informazioni della sessione sono memorizzate sul SERVER, ma sono 
"temporanee" (infatti si chiamano variabili di sessione). I cookies, che 
io sappia, sono sempre memorizzati sul client. Cookies sul server non ne 
ho mai sentiti.
ciao
Alesi_27