Newsgroup: it.comp.www.php
Titolo: Chiarimento sessioni

Ciao a tutti!
Ho appena iniziato a smanettare con le sessioni, ma non ho capito una cosa:
Form dal quale l'utente entra:
<form action="login.php" method="post">
<input type="text" name="user">
<input type="submit" value="Entra">
</form>
La pagina login.php č cosě composta:
<?
session_start();
session_register("user","var_1","var_2","var_n");
echo $var_n;
?>
Ogni utente ha diversi valori di $var_n. E allora come e dove registro i
valori dei diversi var_n corrispondenti ad ogni utente?
Spero di essermi spigato!
Grazie!


?
Ogni utente ha assegnata un'unica sessione, ed ogni variabile registrata (o
presa dalla collezione $_SESSION[]) ha un valore per ogni utente...
Metti che ad esempio vuoi salvare il nick di ogni utente in una variabile,
allora in login.php metterai una cosa così:
$user=$_POST['user']; //prendi dal form il valore di $user
$_SESSION['user']=$user; //lo salvi in una variabile di sessione, un po'
come fare session_register("user")
ora $user conterrà il nome dell'utente.
Se ad un certo punto si collegano 3 utenti in contemporanea ognuno avrà la
sua variabile $user (la stessa) con il valore del proprio nick (diverso)...
Mi sa che ti ho confuso le idee invece di aiutarti... :/
Leo.


Questo l'ho capito...quello che non mi è chiaro è dove è il valore della
variabile registrata.
Nel caso di $user viene da form, ma se devo registrare, ad esempio, $colore
$dimensioni $n_variabili, ognuna diversa per ogni utente, da dove
session_register() mi prende i valori delle variabili?
Se io voglio che, nella sua area, l'utente A abbia:
$colore=blu
$dimensioni=1000
Mentre, l'utente B abbia:
$colore=verde
$dimensioni=2000
Quando i due utenti si collegano, da dove la sessione prende i valori delle
variabili? Dove vengono memorizzati per ogni utente?
Cioè io scrivo:
session_start();
session_register("$colore","$dimensioni");
a questo punto come fa a ricordarsi quali sono i valori di ogni utente?



beh php lo sa lui. sia dal cookie di sessione sia dall'id di sessione che
viene passato via URL

 variabili? Dove vengono memorizzati per ogni utente?
Da quello che ho capito io le sessioni vengono registrate nel path
specificato alla voce "session.save_path" che si trova in php.ini.
Di default dovrebbe essere c:\php\sessions, quindi se vai in quella
cartella troverai un file per ciascuna sessione.
Dato che si tratta di un file di testo, se lo apri con il blocco note
vedrai una cosa del genere:
name|s:32:"9af179d8fce96ed57501eadc6479547b";var_cognome|s:6:"paolino";var_nome|s:4:"paperino";var_tesserino|s:5:"54321";
name è il nome della variabile
s:32 indica che la variabile è di tipo stringa ed è lunga 32 caratteri
il valore fra doppie virgolette è il contenuto della variabile
e così via
Spero di esserti stato di aiuto ma, soprattutto, di non aver detto
troppe stronzate (ho iniziato da poco!)
Ciao
Nando
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 ha scritto nel messaggio
news:01ca65c787ccfc71020...@mygate.mailgate.org...

Grazie mille!
Quindi, se un utente entra nella sua area e imposta certe variabili,
poi attraverso session_destroy() fa logout,
e accede nuovamente alla sua area,
le variabili registrate precedentemente restano in memoria,
esatto?
Se non sbaglio, la funzione per cancellare le variabili è session_unset().