Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] PHP OO [Consulta] Control de Logeos PHP

Estas en el tema de [Consulta] Control de Logeos PHP en el foro de PHP en Foros del Web. Hola buenas, soy algo nuevo en PHP y me gustaria aprender mas de ello, por esto, estaba tratando de hacer un control de logeos para ...
  #1 (permalink)  
Antiguo 21/05/2015, 17:46
 
Fecha de Ingreso: mayo-2015
Mensajes: 2
Antigüedad: 9 años, 6 meses
Puntos: 0
Exclamación [Consulta] Control de Logeos PHP

Hola buenas, soy algo nuevo en PHP y me gustaria aprender mas de ello, por esto, estaba tratando de hacer un control de logeos para una pagina que tengo.
Hasta ahora mi idea era capturar la hora cada que un usuario entra a la pagina con:

Código PHP:
<?php 
$time 
time();
echo 
date("d-m-Y (H:i:s)"$time);
?>
y aparte de ello ver el pais de donde se conecta con la sentencia php propia para ello capturando hora y pais en una variable para cada una, hasta ahi todo bien, pero lo unico que consigo solo es hacer que se muestre en la misma pagina en la que entra y mi idea es hacer que esas variables pasen a otra pagina PHP para que cada que le den click al boton de logeo mande las variables a mi pagina GuardarDatos.php para crear un archivo con el fileopen en donde se guarden los registros de ambas variables

Código PHP:
$file=fopen("log.txt","a") or die("Problemas");
fputs ($file,$_POST['Hora']);
fputs ($file,$_POST['Pais']);
fclose($file); 
y solo me sale cuando hago que forzozamente se ingrese la hora y el pais por formularios html para usar el metodo post, lo cual es ta muy malo.
Quisiera alguna ayuda o guía de como hacer que las variables que la pagina genera sola se guarden en un archivo de texto al hacer click en logear o como enviarlas a mi pagina GuardarDatos.php como se hacen con el post para generar mi archivo por el fileopen Gracias de antemano
  #2 (permalink)  
Antiguo 21/05/2015, 18:10
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 11 años, 2 meses
Puntos: 145
Respuesta: [Consulta] Control de Logeos PHP

No es necesario ir a otra página para "imprimir" esos datos.
Puedes hacer algo como esto:

Creas un archivo de texto llamado, por ejemplo, "logueos.txt" y lo subes al servidor.
Entonces, cuando hagas el POST desde la página donde esté el botón, lo llevas a tu archivo PHP donde habrá algo como esto:

Código PHP:
Ver original
  1. <?php
  2. $archivo = "logueos.txt";
  3.  
  4. date_default_timezone_set('America/Argentina/Buenos_Aires'); //Esto editalo según tu franja horaria
  5. $fecha = date('d/m/Y H:i:s'); //Dia/Mes/Año Hora/Minutos/Segundos
  6. $enter = "\r\n";
  7.  
  8. $volcado = print_r('Fecha de logueo: '.$fecha.$enter, TRUE);
  9.  
  10. file_put_contents($archivo, $volcado, FILE_APPEND | LOCK_EX);
  11. ?>

Entonces cada vez que accedan a pagina_despues_del_boton.php, en tu .txt tendrás algo como esto:

Cita:
Fecha de logueo: 21/05/2015 04:19:59
Fecha de logueo: 21/05/2015 04:20:00
Espero que te sirva.
__________________
¿Te sirvió la respuesta? Deja un +1
  #3 (permalink)  
Antiguo 21/05/2015, 19:02
 
Fecha de Ingreso: mayo-2015
Mensajes: 2
Antigüedad: 9 años, 6 meses
Puntos: 0
Respuesta: [Consulta] Control de Logeos PHP

Cita:
Iniciado por NueveReinas Ver Mensaje
No es necesario ir a otra página para "imprimir" esos datos.
Puedes hacer algo como esto:

Creas un archivo de texto llamado, por ejemplo, "logueos.txt" y lo subes al servidor.
Entonces, cuando hagas el POST desde la página donde esté el botón, lo llevas a tu archivo PHP donde habrá algo como esto:

Código PHP:
Ver original
  1. <?php
  2. $archivo = "logueos.txt";
  3.  
  4. date_default_timezone_set('America/Argentina/Buenos_Aires'); //Esto editalo según tu franja horaria
  5. $fecha = date('d/m/Y H:i:s'); //Dia/Mes/Año Hora/Minutos/Segundos
  6. $enter = "\r\n";
  7.  
  8. $volcado = print_r('Fecha de logueo: '.$fecha.$enter, TRUE);
  9.  
  10. file_put_contents($archivo, $volcado, FILE_APPEND | LOCK_EX);
  11. ?>

Entonces cada vez que accedan a pagina_despues_del_boton.php, en tu .txt tendrás algo como esto:



Espero que te sirva.
Solo me guarda la fecha y hora una ves, si quisiera también para guardar el país y el ip de los usuarios?o cierta informacion que genera la pagina y debo guardar en el archivo de texto, funciona de la misma manera dandole las variables?, es continuo? porque solo me guardo la fecha una sola ves.
Estaba viendo también la forma de como enviar variables por url, pero lo hacen desde un texto de enlace y lo que yo necesito es que esa información se guarde solo al momento de que el usuario se loguea dandole click al boton y no sea visible para los usuarios. Gracias por la pronta respuesta
  #4 (permalink)  
Antiguo 21/05/2015, 19:07
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 11 años, 2 meses
Puntos: 145
Respuesta: [Consulta] Control de Logeos PHP

¿Cómo que una vez? Yo recargo la página y en el archivo de texto me aparece la fecha de cada vez que visito ese archivo PHP.

Para obtener la IP:

Código PHP:
Ver original
  1. <?php
  2. $archivo = "logueos.txt";
  3.  
  4. date_default_timezone_set('America/Argentina/Buenos_Aires'); //Esto editalo según tu franja horaria
  5. $fecha = date('d/m/Y H:i:s'); //Dia/Mes/Año Hora/Minutos/Segundos
  6.  
  7. if(!empty($_SERVER['HTTP_CLIENT_IP'])) {
  8. $ip=$_SERVER['HTTP_CLIENT_IP'];
  9. }
  10. elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  11.     $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
  12. }
  13. else {
  14.     $ip=$_SERVER['REMOTE_ADDR'];
  15. }
  16.  
  17. $enter = "\r\n";
  18.  
  19. $volcado = print_r('Fecha de logueo: '.$fecha.$enter.'IP: '.$ip.$enter.$enter, TRUE);
  20.  
  21. file_put_contents($archivo, $volcado, FILE_APPEND | LOCK_EX);
  22. ?>
__________________
¿Te sirvió la respuesta? Deja un +1

Etiquetas: control, formulario, html, registro, variable
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 12:54.