Ciao a tutti
non capisco una cosa sulle sessioni
Se ho una variabile $id salvata in $_SESSION['id'] e la voglio usare devo richiederla con $id=$_SESSION['id']:
eppure se non lo faccio $id è settato lo stesso
Perchè?
Grazie
Ciao a tutti
non capisco una cosa sulle sessioni
Se ho una variabile $id salvata in $_SESSION['id'] e la voglio usare devo richiederla con $id=$_SESSION['id']:
eppure se non lo faccio $id è settato lo stesso
Perchè?
Grazie
meglio usare $id = session_id()
prego?Originariamente inviato da Emulman
meglio usare $id = session_id()
non capisco.......
Io non parlo del'id di sessione MA del id dell'utente che ho messo nella variabile di sessione id e che mi ritrovo visibile nella pagina amche senza richiederlo con $id=$_SESSION['id']; e non mi spiegavo il perchè
ha travisato credo..dimentica....Originariamente inviato da Emulman
meglio usare $id = session_id()
allora... rapidamente
$_SESSION['nome'] = 'pincopalla';
assegni all'array $_SESSION la coppia (kiave/ valore ) 'nome' => 'pincopalla'
come un qualsiasi array insomma
se hai fatto le cose per bene nelle esecuzioni successive avrai ancora
$_SESSION['nome'] settato al valore ke gli hai dato
e puoi usarlo come vuoi, E' UN NORMALE ARRAY ( l'unica particolarita' e' ke e' visibile in qualsiasi punto dello script ( variabile superglobale ) )
ora te dici ke ti trovi una variabile $nome ( anzi era $id nel tuo caso ) settata...
questo e' dovuto ad una fastidiosa impostazione del php ke spesso viene lasciata attiva per garantire retrocompatibilita' con vekki script ( una decisone ke "dispezzo" ma nn e' questo il posto per discuterne )
l'impostazione e' register_globals e se attiva crea ( secondo una precedenza devinita sempre nel php.ini ) una variabile per ogni campo degli array di sessione , post, get e cookie
attento ke questo potrebbe portare seri problemi di sicurezza nel tuo sito
e' meglio prevenire che curare quindi INIZIALIZZA SEMPRE LE VARIABILI CHE USI
es: se sai ke userai una variabie $nome all'inizio settala $nome = null;
cosi sei sicuro ke nn contiene dati imprevisti
se inserisci questo all'inizio degli script simuli register_globals = offCodice PHP:
if (ini_get('register_globals'))
{
//echo 'rimuovo register_globals
';
$array = array('_REQUEST', '_FILES');
foreach ($array as $value)
{
if(isset($GLOBALS[$value]))
{
foreach ($GLOBALS[$value] as $key => $var)
{
if (isset($GLOBALS[$key]) && $var === $GLOBALS[$key])
{
//echo 'found '.$key.' = '.$var.' in $'.$value.'
';
unset($GLOBALS[$key]);
}
}
}
}
//echo 'rimosse register_globals
';
}
Adesso è chiaro grazieOriginariamente inviato da _AnDrEa_1483
attento ke questo potrebbe portare seri problemi di sicurezza nel tuo sito
e' meglio prevenire che curare quindi INIZIALIZZA SEMPRE LE VARIABILI CHE USI
es: se sai ke userai una variabie $nome all'inizio settala $nome = null;
cosi sei sicuro ke nn contiene dati imprevisti
In una pagina PHPio settavo:
$_SESSION['nome']="Paolo";
poi cambiavo pagina e andavo in una pagina in cui mi serviva $nome e me la trovavo già settata con valore paolo senza che la caricassi con
$nome=$_SESSION['nome'];
Era inspiegabile
Nel file di inizializzazione inizializzo già infatti alcune variabili di sessione (non tutte) con valori null e da oggi lo farò con tutte.
ancora grazie
PS
Se c'è da sapere qualche cos'altro..... volentieri