Newsgroup: it.comp.programmare
Titolo: [PHP] Accessi ad una pagina.

Vorrei sapere quante persone contemporaneamente stanno visualizzando una
certa pagina. Come posso farlo in PHP?
Scusate ma non mi viene nessuna idea "utile".
Grazie!
andrea/bergamsco
--
______________________________
Le faq di it.comp.www.html:
http://digilander.iol.it/tamburo

Scusate ma non mi viene nessuna idea "utile".
Per forza, e' impossibile.
--
Layos [gir n° 19]
"Se piovesse fica mi cadrebbe addosso quella di mia moglie"
[G. Govi sulla fortuna]

Per forza, e' impossibile.
Soory, mi e' "scappato" lo smile :-)



| si manifesto' al mondo delirando:
|
| >>Scusate ma non mi viene nessuna idea "utile".
| >
| >Per forza, e' impossibile.
Hai visto nella homepage di 
http://www.html.it/
 ? In alto a destra compare
il numero di utenti connessi in quell'istante. E tu mi vuoi dire che una
cosa che si fa in ASP non si può fare in PHP??? :(
mandi!
andrea/bergamasco


cosa che si fa in ASP non si può fare in PHP??? :(
No, volevo dire che non ho idea di come si possa fare :-)


Scusate ma non mi viene nessuna idea "utile".
Il fatto e' che HTTP come standard e' stateless. Quindi non puoi sapere
quanta gente STA LEGGENDO la pagina, solo quanti l'hanno richiesta nei,
diciamo, dieci minuti precedenti.
Idee utili, oneste, e funzionanti, non ce ne sono.
Puoi pero' fare in maniera disonesta. Per esempio includi un piccolo ma
mortale PHP in un angolino della pagina, con caricamento rallentato. Il
PHP continuera' a scaricarsi finche' la connessione non si tronca, cosa
che tu interpreti come: (a) l'altro tizio s'e' sganciato; (b) e' andato
da qualche altra parte. Quando cio' succede, decrementi UtentiAttuali.
Quanto soffra il server nel fare una cosa del genere, te lo lascio come
esercizio di letteratura horror :-)
Un metodo disonesto e' partire da questi postulati:
	a) Tutti quelli che capitano sulla mia pagina la leggono;
	b) Nessuno di quelli che la leggono impiega piu' di 10';
	c) Nessuno di quelli che la leggono impiega MENO di 10';
	d) Nessuno di quelli che la leggono ha una connessione scrausa.
In queste ipotesi, UtentiAttuali = numero degli hits negli ultimi 600".
Leonardo
".signature": bad command or file name

No, volevo dire che non ho idea di come si possa fare :-)
se le immagini sono su un server e i documenti html su
un altro ti sarebbe piu' facile?
Oha
-- 
#include <disclaimer.h>

 andrea/bergamsco
Sapere quante persone sono attualmente connesse ad un server e' una
questione ... server side appunto. Se sei l'amministratore del server
puoi effettuare delle richieste ad Apache per sapere quanta gente c'e'
connessa. Non so se vi sia pero' una variabile d'ambiente che Apache
setta con dentro questo valore. Questo dato comunque riguarda sempre il
numero di persone connesse al server, non il numero di persone che
stanno visualizzando la pagina (o, meglio, il nemero di persone che
hanno richiesto una pagina).
Per implementare un minimo di contatore di potresti salvare su un file
il numero corrente, aggiungere uno all'atto dell'apertura della pagina e
togliere uno all'atto della chiusura. Questo secondo punto e' la nota
dolente. Con le ASP puoi registrare nel server una funzione da eseguire
quando la pagina viene lasciata. In effetti il motore ASP dice il client
di notificargli l'evento onUnload (o simili) ed esegue la funzione una
volta ricevuta questa notifica. Per fare la stessa cosa con PHP devi
farlo a mano, ovvero mettere un onUnload nel <BODY> della pagina con un
javascript che apre lo script PHP che sottrae uno ... ma dove ? C'e'
modo di chiamare uno script che non genera output ? Nel PHP esiste solo
la funzione register_shutdown_function() che registra una funzione da
eseguire alla fine ... del caricamento della pagina: in effetti il
client rimane effettivamente connesso per questo tempo !
Forse un'alternativa potrebbe essere quella di usare sleep() per
ritardare l'esecuzione della funzione che sottrae 1 di un tot
(supponendo di dire che uno rimane comunque connesso alla pagina solo
per un certo tot.
Ciao,
Massimo
--
Massimo Vassalli
Istituto Nazionale di Ottica
Centro di Calcolo
mas...@ino.it
--