Código fuente Ya.

Puede ejecutar la o las páginas para probar el concepto inmediatamente.

 

Concepto:Registro y estadísticas de sesiones de usuarios en base de datos MySql

El concepto trata sobre:php,mysql
Autor:

Retornar

Nombre del archivo:pagina1.html

Comentarios
Para probarlo debemos crear la base de datos, insertar un usuario y entrar al sitio. 
El objetivo es grabar los datos de las páginas visitadas por un usuario durante su sesión, registrando fecha,
hora y página visitada.
Nombre del archivo:pagina2.php

Comentarios
Primero intentamos borrar las tres tablas por si acaso existen y procedemos a crearlas con la estructura
que indicamos:
mysql_query("create table usuarios (
                            nombre varchar(40) primary key,
                            clave varchar(20)
                         )",$conexion) or
  die("Problemas :".mysql_error());

mysql_query("create table sesion (
                           codigo int(11) not null auto_increment,
                           usuario varchar(40) not null,
                           primary key  (codigo)
                        )",$conexion) or
  die("Problemas :".mysql_error());

mysql_query("create table actividadessesion (
                            codigosesion int(11) not null,
                            fecha date not null,
                            hora time not null,
                            pagina varchar(50) not null
  ) ",$conexion) or
  die("Problemas :".mysql_error());
La tabla usuarios contiene los nombres de todos los usuarios del sitio con su clave, luego cada vez que inicia
una sesión un usuario agregamos un registro en la tabla sesion y mediante el codigo generado procedemos a
efectuar un insert en la tabla actividadessesion por cada página que visita.
Nombre del archivo:pagina3.html

Nombre del archivo:pagina4.php

Nombre del archivo:pagina5.html

Nombre del archivo:pagina6.php

Comentarios
Si ingresó la clave correctamente procedemos a efectuar un alta en la tabla sesion:
  mysql_query("insert into sesion(usuario) values ('$reg[nombre]')",$conexion) or
    die("Error:".mysql_error());
y almacenamos en una variable de sesión el código de sesión que se generó en forma automática:
  $_SESSION['codigosesion']=$codigo;  
Finalmente llamamos la función registrarVisita pasando como parámetro la referencia de la conexión a la base
de datos:
  registrarVisita($conexion);
esta función que se encuentra en el archivo rutinas.php tiene por objetivo efectuar un insert en la tabla
actividadessesion.
Nombre del archivo:pagina8.php

Nombre del archivo:principal1.php

Comentarios
Toda página que visita un usuario del sitio llama a la función registrarVisita:
  $conexion=retornarConexion();
  registrarVisita($conexion);
  mysql_close($conexion);
Nombre del archivo:principal2.php

Nombre del archivo:principal3.php

Nombre del archivo:rutinas.php

Comentarios
Como podemos ver este archivo contiene la función que efectúa un insert en la tabla actividadesvisita por
cada página que solicita un usuario:
  mysql_query("insert into actividadessesion(codigosesion,fecha,hora,pagina) values
                 ($_SESSION[codigosesion],current_date(),current_time(),'".basename($_SERVER['PHP_SELF']).
                 "')",$conexion) or die("Error:".mysql_error());				 
El código de la sesión lo rescatamos de la variable de sesión:$_SESSION[codigosesion]
La fecha y hora utilizamos las funciones de MySql: current_date() y current_time()
Y por último el nombre de la página solicitada lo obtenemos con: $_SERVER['PHP_SELF'] y extraemos solo
el nombre de la página (sin el path) llamando a la función basename.

Nombre del archivo:estadisticas.php

Comentarios
Los select implementados son solo a modo de ejemplo de los datos que podemos rescatar de las tablas:
usuarios,sesion y actividadessesion.

Retornar



Código Fuente Ya - 2015