<script type="text/javascript"> $(window).unload(function(){
$.ajax({
type: "POST",
url: "ajax.php",
data: "id=5"
});
});
W data podajesz zmienne dzięki którym możesz identyfikować osobników. Przykładowo możesz wstawiać tam jakiś hash wygenerowany dla każdego wywołania osobno i unikalny, ew. łączony z innymi zmiennymi. Zmienne podajesz w formacie nazwa1=wartosc1&nazwa2=wartosc2. Jeżeli to ma być tylko zliczanie czasu pobytu, to tyle wystarczy.
ajax.php to plik, który ma być wywoływany tylko i wyłącznie przez JS. Przydałoby się go też odpowiedno zabezpieczyć. Ale najprostsza wersja, bez zabezpieczeń, etc, etc, etc, to np.:
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$dbname = 'database';
$result = mysql_query("UPDATE `history` SET `end` = '".time()."' WHERE `id` = '".$_POST['id']."'"); ?>
Inna wersja to przykładowo zapisywanie czasu startu sesji do zmiennych sesyjnych, a w pliku AJAX odejmowanie od obecnego czasu, czasu ze zmiennej sesyjnej i dopiero zapisanie tego do bazy, wtedy ma się tylko jedno zapytanie na wywołanie strony:
$dlugosc_pobytu = time() - $_SESSION['start_sesji']; $result = mysql_query("INSERT INTO `history` (`login`, `ip`, `start`, `dlugosc`) VALUES ('{$_SESSION['login']}', '{$_SERVER['REMOTE_ADDR']}', '{$_SESSION['start_sesji']}', '{$dlugosc_pobytu}')");
Pozdrawiam