Foros del Web » Programando para Internet » PHP »

Como saber cuantas veces se loguea un user

Estas en el tema de Como saber cuantas veces se loguea un user en el foro de PHP en Foros del Web. Hola amigos la consulta es la siguiente: Tengo esta tabla: -- -------------------------------------------------------- -- -- Estructura de tabla para la tabla `comercio` -- CREATE TABLE `comercio` ...
  #1 (permalink)  
Antiguo 20/07/2009, 16:19
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 2 meses
Puntos: 1
Como saber cuantas veces se loguea un user

Hola amigos la consulta es la siguiente:

Tengo esta tabla:

-- --------------------------------------------------------

--
-- Estructura de tabla para la tabla `comercio`
--

CREATE TABLE `comercio` (
`id_comercio` int(50) NOT NULL auto_increment,
`razon_social` varchar(100) NOT NULL,
`responsable` varchar(100) NOT NULL,
`direccion` varchar(100) NOT NULL,
`cuit` varchar(100) NOT NULL,
`telefono` varchar(100) NOT NULL,
`celular` varchar(100) NOT NULL,
`ciudad` varchar(100) NOT NULL,
`mail` varchar(100) NOT NULL,
`cod_postal` varchar(100) NOT NULL,
`observaciones` varchar(100) NOT NULL,
`usuario` varchar(100) NOT NULL,
`password` varchar(100) NOT NULL,
PRIMARY KEY (`id_comercio`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=2 ;

--

Y necesitaria saber si alguien puede decirme como hacer para saber cuantas veces este usuario se loguea al sistema.
Si alguien tiene algun script o demo o url como para mirar un poco seria buenisimo

Se agradece de antemano

Salu2
  #2 (permalink)  
Antiguo 20/07/2009, 16:30
 
Fecha de Ingreso: diciembre-2008
Mensajes: 118
Antigüedad: 15 años, 3 meses
Puntos: 6
Respuesta: Como saber cuantas veces se loguea un user

añade un campo: y por cierto un int 50 no sirve ya que un campo int con atributo unsigned, no adminte un numero mas alto que 10 caracteres

`accion` int(9) unsigned default 0

y luego, cada vez que se loguee el usuario incrementas este campo en 1,

Código PHP:
mysql_query("update comercio set accion=accion+1 where id_comercio=$id ......); 
  #3 (permalink)  
Antiguo 20/07/2009, 16:44
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Como saber cuantas veces se loguea un user

Pregunta ya que soy medio novaton con el php y tengo este script que es el que me identifica el usuario y lo lleva al lugar correcto:

Código PHP:
<?php
    
//Start session
    
session_start();
    
    
//Include database connection details
    
require_once('config.php');
    
    
//Array to store validation errors
    
$errmsg_arr = array();
    
    
//Validation error flag
    
$errflag false;
    
    
//Connect to mysql server
    /*$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }
    
    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    } */
    
    //Function to sanitize values received from the form. Prevents SQL injection
    
function clean($str) {
        
$str = @trim($str);
        if(
get_magic_quotes_gpc()) {
            
$str stripslashes($str);
        }
        return 
mysql_real_escape_string($str);
    }
    
    
//Sanitize the POST values
    
$login clean($_POST['login']);
    
$password clean($_POST['password']);
    
    
//Input Validations
    
if($login == '') {
        
$errmsg_arr[] = 'Login ID missing';
        
$errflag true;
    }
    if(
$password == '') {
        
$errmsg_arr[] = 'Password missing';
        
$errflag true;
    }
    
    
//If there are input validations, redirect back to the login form
    
if($errflag) {
        
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        
session_write_close();
        
header("location: login-form.php");
        exit();
    }
    
    
//Create query
    //$qry="SELECT * FROM comercio WHERE usuario='$login' AND password='".md5($_POST['password'])."'";
    
$qry="SELECT * FROM comercio WHERE usuario='$login' AND password='$password'";
    
$result=mysql_query($qry);
    
    
//Check whether the query was successful or not
    
if($result) {
        if(
mysql_num_rows($result) == 1) {
            
//Login Successful
            
session_regenerate_id();
            
$member mysql_fetch_assoc($result);
            
$_SESSION['SESS_MEMBER_ID'] = $member['id_comercio'];
            
$_SESSION['SESS_FIRST_NAME'] = $member['razon_social'];
            
//$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
            
session_write_close();
            
header("location: member-index.php");
            exit();
        }else {
            
//Login failed
            
header("location: login-failed.php");
            exit();
        }
    }else {
        die(
"Query failed");
    }
?>
Esto que tu me indicas en donde lo tendria que colocar y que significan los .... que estan luego del ID en el script que tu me pones.

Gracias nuevamente y por orientarme con la DB
  #4 (permalink)  
Antiguo 20/07/2009, 16:51
Avatar de bioxido  
Fecha de Ingreso: diciembre-2008
Ubicación: $_SERVER['PHP_SELF']
Mensajes: 601
Antigüedad: 15 años, 3 meses
Puntos: 21
Respuesta: Como saber cuantas veces se loguea un user

aver...

Código PHP:
<?php
    
//Start session
    
session_start();
    
    
//Include database connection details
    
require_once('config.php');
    
    
//Array to store validation errors
    
$errmsg_arr = array();
    
    
//Validation error flag
    
$errflag false;
    
    
//Connect to mysql server
    /*$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
    if(!$link) {
        die('Failed to connect to server: ' . mysql_error());
    }
    
    //Select database
    $db = mysql_select_db(DB_DATABASE);
    if(!$db) {
        die("Unable to select database");
    } */
    
    //Function to sanitize values received from the form. Prevents SQL injection
    
function clean($str) {
        
$str = @trim($str);
        if(
get_magic_quotes_gpc()) {
            
$str stripslashes($str);
        }
        return 
mysql_real_escape_string($str);
    }
    
    
//Sanitize the POST values
    
$login clean($_POST['login']);
    
$password clean($_POST['password']);
    
    
//Input Validations
    
if($login == '') {
        
$errmsg_arr[] = 'Login ID missing';
        
$errflag true;
    }
    if(
$password == '') {
        
$errmsg_arr[] = 'Password missing';
        
$errflag true;
    }
    
    
//If there are input validations, redirect back to the login form
    
if($errflag) {
        
$_SESSION['ERRMSG_ARR'] = $errmsg_arr;
        
session_write_close();
        
header("location: login-form.php");
        exit();
    }
    
    
//Create query
    //$qry="SELECT * FROM comercio WHERE usuario='$login' AND password='".md5($_POST['password'])."'";
    
$qry="SELECT * FROM comercio WHERE usuario='$login' AND password='$password'";
    
$result=mysql_query($qry);
    
    
//Check whether the query was successful or not
    
if($result) {
        if(
mysql_num_rows($result) == 1) {
            
//Login Successful
            
session_regenerate_id();
            
$member mysql_fetch_assoc($result);
            
            
mysql_query("UPDATE comercio SET accion=accion+1 WHERE id_comercio='$member['id_comercio']'");// los puntitos eran adorno... 
            
            
$_SESSION['SESS_MEMBER_ID'] = $member['id_comercio'];
            
$_SESSION['SESS_FIRST_NAME'] = $member['razon_social'];
            
//$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
            
session_write_close();
            
header("location: member-index.php");
            exit();
        }else {
            
//Login failed
            
header("location: login-failed.php");
            exit();
        }
    }else {
        die(
"Query failed");
    }
?>

Lo tenes que poner despues de que ya comprobaste todos los datos...cuando estas creando la sesion por ahi... ahi te lo puse fijate si asi te anda ;)
  #5 (permalink)  
Antiguo 20/07/2009, 16:55
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Como saber cuantas veces se loguea un user

pues no me funciono, me quedo la pantalla en blanco y no sumo nada en la DB
  #6 (permalink)  
Antiguo 20/07/2009, 17:30
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 17 años, 11 meses
Puntos: 33
Respuesta: Como saber cuantas veces se loguea un user

hollowmanf:

Es mejor que en esta parte ->
Cita:
if(mysql_num_rows($result) == 1) {
//Login Successful
!!!!!!!!!!!!!!!!!!AQUI!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!1
session_regenerate_id();
$member = mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['id_comercio'];
$_SESSION['SESS_FIRST_NAME'] = $member['razon_social'];
//$_SESSION['SESS_LAST_NAME'] = $member['lastname'];
session_write_close();
header("location: member-index.php");
exit();
}
Donde te escribi !!!!!!!!!!!!!!!AQUI!!!!!!!!!!!!!!! pones algo como asi ->
if($usurio == 'xxxxxx') {
1- Puedes determinar el IP que usa.
2- Puedes determinar la fecha exacta.
3.- Estableces el Usuario
Con la informacion de arriba ->
Loguardas en un archivo asi ->
$x = fopen("usuario.txt", a+);
y le fwrite cada variable.
Al cabo de un periodo este archivo te mantendra al
tanto de cuantas veces con que IP y a que tiempo exacto
ingreso al sitio.
}

Saludos
Franco
  #7 (permalink)  
Antiguo 21/07/2009, 08:06
 
Fecha de Ingreso: diciembre-2006
Mensajes: 153
Antigüedad: 17 años, 3 meses
Puntos: 1
Respuesta: Como saber cuantas veces se loguea un user

Cita:
Iniciado por hollowmanf Ver Mensaje
pues no me funciono, me quedo la pantalla en blanco y no sumo nada en la DB
Código PHP:
if(mysql_num_rows($result) == 1) {
//Login Successful

session_regenerate_id();
$member mysql_fetch_assoc($result);
$_SESSION['SESS_MEMBER_ID'] = $member['id_comercio'];
$_SESSION['SESS_FIRST_NAME'] = $member['razon_social'];
$_SESSION['SESS_LAST_NAME'] = $member['lastname'];

//el codigo debe ir despues de haber creado las sesiones y no antes.!!!!!!

session_write_close();
header("location: member-index.php");
exit();


saludos
  #8 (permalink)  
Antiguo 25/07/2009, 11:25
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Como saber cuantas veces se loguea un user

Bueno me loguea perfecto pero no suma en mi DB, sigue quedando en 0, la verdad no se que puede ser, igual agradezco la buena intencion.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:42.