Scs la mia ignoranza...ma cosa usi te?[EDIT] p.s.: a gia dimenticavo: rigorosamente niente mysql!!!!!
Scs la mia ignoranza...ma cosa usi te?[EDIT] p.s.: a gia dimenticavo: rigorosamente niente mysql!!!!!
only php x questo mio esperimento!Originariamente inviato da KaNnA
Scs la mia ignoranza...ma cosa usi te?![]()
ok ho fatto questo... che ve ne pare???
il file data.php contiene:codice:<? session_start(); include('cp_data.php'); //da cui $ora,$minuti,$secondi $user = $_SESSION['user']; $db = 'cp_database.db'; //lettura cp_database.db e controllo età collegamenti $dbstream = fopen($db,'a'); $contenuto = fread($dbstream,filesize($db)); fclose($dbstream); $presenze = explode($separatore_presenze,$contenuto); $ciclo_presenze = sizeof($presenze); for ($x=0; $x <= $ciclo_presenze ;$x++) { $dett_presenze = explode($separatore_interno,$presenze[$x]); //$dett_presenze[0] = nick ** $dett_presenze[1] = orario $dett_orario = explode(':',$dett_presenze[1]); $diff_ora = $ora - $dett_orario[0]; $diff_min = $minuti - $dett_orario[1]; $diff_sec = $secondi - $dett_orario[2]; //i secondi vengono tralasciati tanto l'approsimazione al minuto va benissimo if($diff_ora == 1 && $diff_min < 0){ $diff_min = 60 - $diff_min; } //tempo in minuti trascorso if($diff_ora == 0 && $diff_min >= 0){ $diff_min = $diff_min + 0; } //tempo in minuti trascorso il >= è ovvio quindi si puo omettere volendo if(($diff_ora != 0 && $diff_ora > 1) || ($diff_ora < 0)) { $delete_it = 'yes'; } //è passata piu di un ora else if($diff_min > 2) { $delete_it = 'yes'; } if ($delete_it == 'yes') { $contenuto = str_replace($presenze[$x],'',$contenuto); } } if($_SESSION['login']==1123) { //scrittura utente loggato $separatore_presenze = '|51gf047|'; $separatore_interno = '|-|'; $presenza = $user.$separatore_interno.$orario.$separatore_presenze; $dbstream = fopen($db,'a+'); fwrite($dbstream,$presenza); fclose($dbstream); } ?>
<?
$ar_orario=getdate();
$ora=$ar_orario['hours'];
$minuti=$ar_orario['minutes'];
$secondi=$ar_orario['seconds'];
if (strlen($minuti)==1) $minuti="0".$minuti;
if (strlen($secondi)==1) $secondi="0".$secondi;
$data=date("d/m/Y");
$orario=$ora.":".$minuti.":".$secondi;
?>
come faccio a fare un iframe...??
potresti usare XML come database.
Ad ogni accesso in una pagina, aggiorni il campo realivo all'utene corrente... ed il resto lo fai con le sessioni.. puoi farti un simpatico oggettino che gestisce tutto ciò
![]()
ok, ce l'ho fatta: funzia alla perfezione solo con php, è leggero e si puo settare il margine del tempo d'errore!!!!!!!!!!!!!!!!
![]()
Scusa ma come fai a dire che funziona???
Il tuo sistema non valuta chi realmente è presente sul tuo sito, ma fa una specie di "calcolo delle probabilità"...
E'lui a stabilire se un utente è ancora connesso o no. Se io mi loggo e sto sul tuo sito per mezz'ora, il tuo sistema di conteggio mi sbatte fuori non appena arriva qualcun altro dopo di me...
![]()
Originariamente inviato da franz79
Scusa ma come fai a dire che funziona???
Il tuo sistema non valuta chi realmente è presente sul tuo sito, ma fa una specie di "calcolo delle probabilità"...
E'lui a stabilire se un utente è ancora connesso o no. Se io mi loggo e sto sul tuo sito per mezz'ora, il tuo sistema di conteggio mi sbatte fuori non appena arriva qualcun altro dopo di me...
![]()
...frena... forse nn hai capito cosa fa esattamente il mio script!!!![]()
simulazione:
l'utente 1 entra, la sua data di accesso viene registrata...
se l'utente 1 rimane nella stessa pagina la pagina aggiorna la data ogni 2min..
se invece cambia pagina la data viene aggiornata subito!
il data base viene pulito di tutte le date piu vecchie di due minuti qualsiasi pagina venga a perta..anche se la apre un utente nn registrato!
se entra l'utente 2 mentre l'utente 1 è dentro da mezzora il database si arricchisce di un altro utente ma nn perde i dati del precedente!!!
cosa nn funziona scusa???
appena ho tempo ( domani ) ti posto gli scripts aggiornati!
in piu nn avviene un calcolo delle probabilità, ma bensì una approssimazione a due minuti della presenza di una persona ( volendo puoi metterlo pure a 10 sec!! )..
infatti sei certo ke quella persona sia stata li nn piu di due minuti fa!
è un po come misurare una stanza con un metro che segna solo i decimetri!![]()
Se anzichè cancellare i record tu li mantieni? Così puoi avere la posizione di un utente ed il suo percorso. Se il tuo sito è grosso potresti valutare persino di mofificare la sua struttura notanto che molti utenti stanno poco in certe pagine "di passaggio" solo per arrivare a quella da loro cercata.
--
http://rastagnoli.altervista.org
si puo fare in effetti!!! bella idea!!!Originariamente inviato da knottyboy
Se anzichè cancellare i record tu li mantieni? Così puoi avere la posizione di un utente ed il suo percorso. Se il tuo sito è grosso potresti valutare persino di mofificare la sua struttura notanto che molti utenti stanno poco in certe pagine "di passaggio" solo per arrivare a quella da loro cercata.![]()
![]()
peccato ke il mio sito nn sia grosso...![]()
![]()
![]()