Foros del Web » Programando para Internet » PHP »

PHP OO Como actualizar la fecha de ultimo acceso??

Estas en el tema de Como actualizar la fecha de ultimo acceso?? en el foro de PHP en Foros del Web. Hola quiero saber como actualizar automaticamente en mysql, cada vez que un usuario se conecta, la fecha de su ultimo acceso. Gracias!...
  #1 (permalink)  
Antiguo 06/05/2011, 14:52
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 12 años, 11 meses
Puntos: 5
Pregunta Como actualizar la fecha de ultimo acceso??

Hola quiero saber como actualizar automaticamente en mysql, cada vez que un usuario se conecta, la fecha de su ultimo acceso.
Gracias!
  #2 (permalink)  
Antiguo 06/05/2011, 14:58
Avatar de gysato  
Fecha de Ingreso: junio-2010
Ubicación: Tuxtla Gtz, Chiapas
Mensajes: 88
Antigüedad: 13 años, 10 meses
Puntos: 9
Respuesta: Como actualizar la fecha de ultimo acceso??

Wow que gran pregunta!!..... Pues cada que haga login inserta el date("Y-m-d"), aunque si especificaras como logueas a tus usuarios estaria mejor
  #3 (permalink)  
Antiguo 06/05/2011, 14:58
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Como actualizar la fecha de ultimo acceso??

tienes que hacer una consulta algo así cuando un usuario ingrese

mysql_query("UPDATE tabla_usuario SET ultimo_ingreso=NOW() WHERE id=$id_usuario;");
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #4 (permalink)  
Antiguo 06/05/2011, 15:04
 
Fecha de Ingreso: abril-2011
Ubicación: Iquitos, Peru
Mensajes: 113
Antigüedad: 13 años
Puntos: 31
Respuesta: Como actualizar la fecha de ultimo acceso??

Cita:
Iniciado por stramin Ver Mensaje
tienes que hacer una consulta algo así cuando un usuario ingrese

mysql_query("UPDATE tabla_usuario SET ultimo_ingreso=NOW() WHERE id=$id_usuario;");
exacto, justamente eso iba a postear, bueno pero recomendaria que en una tabla que almacene los logeos se inserte un registro cada vez que el usuario se logeo
  #5 (permalink)  
Antiguo 06/05/2011, 15:10
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Como actualizar la fecha de ultimo acceso??

No me lo actualiza y me da este error: Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /home/a3565666/public_html/reg/registro/login.php on line 43

el codigo:

Código PHP:
Ver original
  1. <?php
  2. include("config.php");
  3.  
  4. if(isset($_POST['login']))
  5. {
  6.     $nick= $_POST['nick'];
  7.     $pass= md5(md5($_POST['pass']));
  8.     $b_user=mysql_query("SELECT * FROM root WHERE nick='$nick'");  
  9.     $ses = @mysql_fetch_assoc($b_user) ;
  10.     if(@mysql_num_rows($b_user))
  11.     {
  12.         if($ses['pass'] == $pass)
  13.         {  
  14.             $_SESSION['id']=        $ses["id"];
  15.             $_SESSION['fecha']=     $ses["fecha"];
  16.             $_SESSION['usuario']=       $ses["usuario"];
  17.             $_SESSION['nick']=      $ses["nick"];
  18.             $_SESSION['mail']=      $ses["mail"];
  19.             $_SESSION['ip']=        $ses["ip"];
  20.             $_SESSION['os']=        $ses["os"];
  21.             $_SESSION['ultimoacceso']=  $ses["ultimoacceso"];
  22.         }
  23.         else
  24.         {
  25.             echo 'Nombre de usuario o Contrase&ntilde;a incorrecta.';
  26.         }
  27.     }
  28.     else
  29.     {
  30.         echo 'Nombre de Usuario o contrase&ntilde;a incorrecta.';
  31.     }
  32. }
  33.    
  34. if(isset($_GET['modo']) == 'desconectar')
  35. {
  36.     echo '<meta http-equiv="Refresh" content="2;url=login.php"> ';
  37.     exit ('Te has desconectado, redireccionando...<br /> Si no se redirecciona automaticamente haz <a href="login.php">click aqui</a>.');
  38. }
  39.    
  40. if(isset($_SESSION['id']))
  41. {  
  42.     $sql=("UPDATE root SET ultimoacceso=time() WHERE id='$_SESSION['id']'");
  43.     mysql_query($sql) or die("Problemas al ejecutar update SQL ".mysql_error());
  44.     echo '<meta http-equiv="Refresh" content="2;url=perfil.php"> ';
  45. }
  46. else
  47. {
  48. ?>
  #6 (permalink)  
Antiguo 06/05/2011, 15:17
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Como actualizar la fecha de ultimo acceso??

en ocaciones como esta el mejor método que puedes usar es el de dedicarte a tejer o cocinar...

broma XD, pero cometiste 2 errores muy grandes

1.- time()?, usa NOW()
2.- no puedes poner comillas dentro de comillas '$_SESSION['id']'

corrige eso y debería funcionar
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #7 (permalink)  
Antiguo 06/05/2011, 15:25
 
Fecha de Ingreso: abril-2011
Ubicación: Iquitos, Peru
Mensajes: 113
Antigüedad: 13 años
Puntos: 31
Respuesta: Como actualizar la fecha de ultimo acceso??

tu consulta esta mal amigo:

Código PHP:
$sql=("UPDATE root SET ultimoacceso=time() WHERE id='".$_SESSION['id']."'"); 
creo que en otro topic tuviste el mismo problema

y usa curtdate() o now() en vez de time() (creo que eso no es funcion)

Última edición por JMSystem; 06/05/2011 a las 15:31
  #8 (permalink)  
Antiguo 06/05/2011, 15:51
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Como actualizar la fecha de ultimo acceso??

si es q me lio entre tanto php xD
Gracias d nuevo, otra duda, pongo now() y solo me pone el año.
Como hago para que me ponga el dia y el mes tambien??
  #9 (permalink)  
Antiguo 06/05/2011, 15:53
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Como actualizar la fecha de ultimo acceso??

debes tener el campo en la base de datos como DATE o DATETIME
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #10 (permalink)  
Antiguo 06/05/2011, 15:54
 
Fecha de Ingreso: abril-2011
Ubicación: Iquitos, Peru
Mensajes: 113
Antigüedad: 13 años
Puntos: 31
Respuesta: Como actualizar la fecha de ultimo acceso??

prueba con curdate(), o sino el problema sera por que tu campo no es date o si es varchar no admite mas que 4 caracteres
  #11 (permalink)  
Antiguo 06/05/2011, 15:57
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Como actualizar la fecha de ultimo acceso??

Si lo pongo como date o datetime m aparece:
0000-00-00 00:00:00
  #12 (permalink)  
Antiguo 06/05/2011, 18:57
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Como actualizar la fecha de ultimo acceso??

Ya va bien!!

Última edición por PabloPF; 08/05/2011 a las 14:31
  #13 (permalink)  
Antiguo 09/05/2011, 10:35
 
Fecha de Ingreso: abril-2011
Ubicación: Iquitos, Peru
Mensajes: 113
Antigüedad: 13 años
Puntos: 31
Respuesta: Como actualizar la fecha de ultimo acceso??

cual fue el problema???
  #14 (permalink)  
Antiguo 09/05/2011, 15:13
Avatar de PabloPF  
Fecha de Ingreso: mayo-2011
Ubicación: Ciudadano de un lugar llamado mundo!
Mensajes: 137
Antigüedad: 12 años, 11 meses
Puntos: 5
Respuesta: Como actualizar la fecha de ultimo acceso??

Puse:
Código PHP:
Ver original
  1. $ultimoacceso= time()
  2. $sql=("UPDATE root SET ultimoacceso='$ultimoacceso' WHERE id='".$_SESSION['id']."'");

Etiquetas: fecha, ultimo
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 10:09.