Comunque per rispondere al tuo primo quesito, io risolverei semplicemente creando una tabella aggiuntiva nel database per memorizzare il log degli eventi.
Supponendo che la tabella si chiami log:
Codice PHP:
// Connessione al database:
$db mysql_connect($db_host$db_user$db_password);
if (!(
$db)) die ("Errore nella connessione. Verificare i parametri nel file bla bla bla...");
mysql_select_db($db_name$db)
or die (
"Errore nella selezione del database. Verificare i parametri bla bla bla...");

$query "INSERT INTO counter (page_id, time) VALUES ('$page_id', '$time',)";
if (!(
mysql_query($query$db))) { echo "Errore nella query utente..."; }
else { 
$log_query "INSERT INTO log (user_id, query_string) VALUES ('$user_id', '$query')";
if (!(
mysql_query($log_query$db))) { echo "Errore nella query di log..."; }
} else { echo 
"Query eseguita correttamente..."; } 
Se la prima query (quella eseguita dall'utente) va a buon fine, viene lanciata anche la query di log, che salva i dati che ti interessano nel database.