Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/05/2015, 16:13
rlo64
 
Fecha de Ingreso: mayo-2015
Mensajes: 7
Antigüedad: 9 años
Puntos: 0
Pregunta Como guardar en BD la ultima conexion de un usuario?

Hola a todos:
Tengo en mi web la un sistema de login de usuarios. Me gustaría poder poner la opción de que en la base de datos se guardara la fecha y hora de la ultima conexión realizada por un usuario, pero no se como hacerlo.
En la tabla de la base de datos (MySQL5) donde se guardan los datos de los usuarios registrados tengo creada dos columnas con las siguientes características:
Nombre: n_conex
Tipo: int(255)
Nulo: No
Predeterminado: 0
Nombre: Ultima_conex
Tipo: timestamp
Atributos: on update CURRENT_TIMESTAMP
Nulo: No
Predeterminado: CURRENT_TIMESTAMP
Extra: ON UPDATE CURRENT_TIMESTAMP
Tengo un formulario para iniciar sesión con el siguiente código:
Código HTML:
<form name="finicio" method="post" action="">
        
        	<p class="lineas">
            <span class="crotulos">Usuario:</span>
            <span class="ccampos"><input type="text" name="usuario" class="campos-reg"></span>
            </p>
                
            <p class="lineas">
            <span class="crotulos">Contraseña:</span>
            <span class="ccampos"><input type="password" name="pas" class="campos-reg"></span>
            </p>
            
            <p class="lineas">
            <span class="crotulos">&nbsp;</span>
            <span class="ccampos"><input type="button" name="boton" value="Iniciar sesión" class="boton" onClick="javascript:Validar();"></span>
            </p>  
            
            <input type="hidden" name="proceso"> 
El javascript:Validar() es así:
Código:
<script>
	function Validar(){
		document.finicio.action="validar-usuarios.php";		
		if(document.finicio.usuario.value==""){
			alert("El campo usuario es necesario");
			document.finicio.usuario.focus();
			return;
		}			
		if(document.finicio.pas.value==""){
			alert("El campo contraseña es necesario");
			document.finicio.pas.focus();
			return;
		}		
		document.finicio.proceso.value="Iniciar sesión";
		document.finicio.submit();	
		}
</script>
El archivo validar-usuarios.php:
Código PHP:
<?php
//Recepcionamos el campo proceso
$proceso = isset($_POST['proceso']) ? $_POST['proceso']:"";

if(
$proceso=="Iniciar sesión"){
    
$usuario     $_POST['usuario'];
    
$clave         $_POST['pas'];
    
    
//Realizamos la consulta
    
$consultaUsuario "SELECT * FROM nombre_tabla_BD WHERE usuario='$usuario' AND pas='$clave'";
    
$resultadoUsuario mysql_query($consultaUsuario);
    
$filaUsuario mysql_fetch_array($resultadoUsuario);
    
$xCodigo         $filaUsuario['id'];
    
$xAlias         $filaUsuario['nombre'];
    
$xEmail         $filaUsuario['email'];
    
$xUsuario         $filaUsuario['usuario'];
    
    
//Verificamos si por lo menos encontro una coincidencia para generar
    //Las variables de sesion
    
$numUsuarios mysql_num_rows($resultadoUsuario);
    if(
$numUsuarios>=1){
        
//generamos las variables globales de sesion
        
session_start();
        
$_SESSION['xCodigo']     = $xCodigo;
        
$_SESSION['xAlias']        = $xAlias;
        
$_SESSION['xEmail']        = $xEmail;
        
$_SESSION['xUsuario']    = $xUsuario;
        
        
header ("Location: index.php");
    }else{
        
header ("Location: seguridad.php");
    }
}

?>
y finalmente, mi archivo de inicio de sesión es:
Código PHP:
<?php
session_start
();
$xCodigo     $_SESSION['xCodigo'];
$xAlias     $_SESSION['xAlias'];
$xEmail     $_SESSION['xEmail'];
$xUsuario     $_SESSION['xUsuario'];
?>
Todo esto me funciona bien, pero como he dicho no se como hacer para que se me actualice la ultima conexión de un usuario en la base de datos.
Encontré buscando un código que creo que podría ser algo parecido a lo que necesito, pero no estoy seguro ni se como podría adaptarlo a mi código.
Código PHP:
$mysql="UPDATE nombre_tabla_BD SET n_conex='".($row[4]+1)."' WHERE id='".$row[5]."'"
Gracias.