Newsgroup: it.lavoro.professioni.webmaster
Titolo: Come si usano i cookie in PHP

Come si usano i cookie in PHP? In Asp č abbastanza semplice. Quello che
vorrei fare č
associare ad  ogni utente il numero di sessione, ma evitare che allo stesso
utente venga associato un differente numero di sessione ad ogni sessione
aperta. In tal modo, se l'utente si riconnette di nuovo, dovrei essere in
grado di riconoscerlo, e magari evitare il login. Oppure, sapere solo quante
volte ha visitato le pagine del sito. Qualche esempio pratico potrebbe
aiutarmi. Sto sviluppando un sistema di statistiche delle visite del sito.
Francesco

> Qualche esempio pratico potrebbe aiutarmi. Sto sviluppando un sistema di
statistiche delle visite del sito.
in php si inserisce all'inzio di ogni script di pagina "session_start();"
se non chiudi il browser o non hai superato il limite di timeout della
sessione, avrai sempre lo id di sessione.
credo che quello che vuoi fare, tu lo possa fare con i cookies
ciao

 sessione, avrai sempre lo id di sessione.
ok queste sono le sessioni ;)
per i cookie guarda qui
http://it.php.net/manual/it/function.setcookie.php
-- 
Pixael.com di Giuseppe Milo
www.pixael.com

 ha scritto nel messaggio
news:bc6t9k$k3j$1...@lacerta.tiscalinet.it...

Più che la lettura del manuale, che ho già fatto, avrei bisogno della
lettura di codice di esempio. Il manuale non è molto esplicativo al
proposito. E' da tale lettura, infatti, che mi sono confuso ulteriormente le
idee sulla differenza tra cookie e sessioni. Sembra che in PHP la differenza
sia molto labile.
Francesco

 sia molto labile.
Le sessioni memorizzano nel client un cookie, che in pratica è l'ID della
sessione.
Questo avviene sia per ASP che per PHP
in ASP recuperi l'ID della sessione semplicemente con "Session.SessionId"
in PHP recuperi l'ID della sessione con "session_id();", ma dopo aver aver
specificato ad inizio pagina che si tratta di una sessione, questo tramite
"session_start();
Per i cookies in PHP devi creare il cookie con l'espressione
setcookie("NomeCookie", "ValoreCookie", "ScadenzaCookie");
poi puoi stabilire se l'utente che ti richiede la pagina ha il cookie oppure
no dalla variabili di ambiente
$HTTP_COOKIE_VARS
ti restituisce un array dei cookie memorizzati per il tuo dominio.
Da quello che ho capito dalle tue necessità, verifichi prima tramite la
variabile $HTTP_COOKIE_VARS se esiste qualche cookie precedente, altrimenti
gli mandi un cookie con il comando "setcookie", impostando una scandeza di
un anno superiore alla data attuale. Se il cookie esiste già, non fai altro
che aggiornarlo sempre tramite il comando "setcookie" impostando sempre una
data di scadenza di un anno superiore alla data attuale.
Impostando la data di scadenza di un anno superiore, hai buone probabilità
di risalire ai dati di un utente, ma se l'utente ha disabilitato i cookie
sei fregato.
Spero di aver capito e compreso il tuo problema.
Ciao

 sia molto labile.
Con un cookie scrivi sul computer del client informazioni. 
Un cookie non viene cancellato alla chiusura del browser.
Una sessione è, come dice il nome, un metodo per passare informazioni
tra una pagina e l'altra durante la visita dell'utente.
Fregatene di come lo fa, lo fa e basta. Potrebbe usare un cookie
(all'interno della tua dir temporanea, /tmp da me, per poi cancellarlo
quando la sessione scade o il browser viene chiuso), potrebbe anche usare 
una querystring, la cosa importante è che per tutta la durata della visita 
è possibile associare una sessione a un utente.
La differenze sono:
- un cookie persiste tra diverse sessioni, una sessione, ovviamente, no.
- se il supporto ai cookie è disattivato i cookie non funzionano, le
  sessioni si, semplicemente scelgono un'altro modo per passare valori
  (querystring, non credo ce ne siano altri).
- nel momento in cui una sessione usa i cookie crea un cookie
  temporaneo (un file, nulla di che), che viene cancellato quando la
  sessione scade / viene chiuso il browser.
Spero di averti fatto capire,
HTH,
	nicholas

 Ciao
Grazie, per aver cercato di aiutarmi, e ringrazio anche gli altri che sono
stati cos' gentili da darmi una mano a capire. Il problema che ho risolto,
era dovuto al fatto che dovevo far eseguire lo script in php che mi creava
il cookie, prima che venisse letto il tag <html>, cioè, ad esempio
<? include("login.php") ?>
<html>
<head>
.......
Francesco