Newsgroup: it.comp.www.php
Titolo: E adesso con le sessioni come faccio!!

No!!!!!
Sembrava tutto ok, gli script che funzionano alla meraviglia, i Css che
impaginano alla grande, e invece...
Ho realizzato alcune pagine web che fanno uso di PHP e di alcune variabili
di sessione. Questa sera la mia ragazza mi fa "no guarda a me non funziona"
dopo esserci scervellati un pò scopriamo che lei sul suo computer non ha
attivati i cookie e quindi le variabili di sessione non "passano" d una
pagina all'altra.
Come posso fare?? Come posso "scrutare" se il browser del client è settato
per leggere i cookie, e se non lo è reindirizzare tale browser in un'altra
pagina in cui lo avverto che deve abilitare i cookie oppure niente?
Grazie a tutti.

Carmine wrote:

per le sessioni il cookie serve solo a passare il session id.. se il browser
non li supporta di solito viene passato automaticamente tramite il link ma
se non accade puoi fare così
session_register('variabili_da_registrare');
$SID = session_name() . "=" . session_id();
da adesso in poi in ogni link invece di scrivere 
www.dominio.xxxx/index.php?var1=val1&var2=val2
scriverai
www.dominio.xxxx/index.php?$SID&var1=val1&var2=val2
è un metodo efficace (io lo preferisco a molti altri) ma le possibilità sono
molteplici 
per esempio puoi passare il session id tramite un campo nascosto in un form
non visibile
fammi sapere se ti funziona bene!
--
www.iuz-lab.info

 se non accade puoi fare cosě
Per fare in modo che il passaggio automatico del SID sia attivo (quando non
viene accettato il cookie) devi impostare l'enable_trans_id (ma la memoria
mi puň ingannare) nel php.ini
Ludovico

 ha scritto nel messaggio
news:ZURrc.318455$rM4.13...@news4.tin.it...


session_register(var1); session_register(var2); session_register(var3); ?
non devi piů usarlo, usa $_SESSION  considerando che č un vettore.
Ciao
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Software libero, PHP, MySQL, Webdesign, Sicurezza, CMS, Tutorials
Per rispondere in e-mail togli NOSPAM 

 ha scritto nel messaggio
news:sns4b0db3jev7r1gn...@4ax.com...


sessione quando sul browser del client non sono abilitati i cookie???
A grandi linee...
Verifichi che sia settato il cookie per la sessione, per sapere il
nome impostato per le sessioni usi session_name().
Se il cookie e' settato non fai nulla.
Se non e' settato verifichi se PHP gestisce tutto lui in automatico,
questo avviene se e' attivato session.use_trans_sid nel php.ini, usa
ini_get("session.use_trans_sid") per saperlo. 
Se e' tutto in automatico non devi fare nulla :-)
Se invece PHP non lo gestisce in automatico devi passare in qualche
modo alla prossima pagina l'ID della sessione, questo lo fai con i
metodi GET o POST a secondo di come e' fatta la tua pagina.
L'ID della sessione lo puoi sapere usando session_id(). Per esempio,
il link alla pagina seguente potrebbe diventare:
 "prossima.php?".session_name()."=".session_id()
Questo per quanto riguarda il passaggio dell'ID della sessione da una
pagina all'altra.
Nella pagina a cui hai passato l'ID della sessione fai i controlli
sull'esistenza del cookie e della gestione automatica, se questi non
sono attivi prima di usare session_start() imposti l'ID della sessione
ricevuto dalla pagina precedente usando:
session_id($IDdellaMiaSessione)
'bye

 'bye
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

Ho scritto cosě:
Nella pagina 1:
session_start();
$SID = session_name() . "=" . session_id();
<form action='pagina2.php' method='POST' name='frmhddn'>
           <input type='hidden' name='variabile1' />
           <input type='hidden' name='variabile2' />
           <input type='hidden' name='identificativo' value='$SID'/>
</form>
Nella pagina 2:
$SID = $_POST["identificativo"]
session_id("$SID");
session_start();
Il risultato č:
Parse error: parse error, unexpected T_STRING in c:\programmi\apache
group\apache\test\script\pagina2.php on line 3

session_id("$SID");
session_id($SID);
Prova cosi' :)
'bye