Foros del Web » Programando para Internet » PHP »

Sistema de logueo para descargar fichero

Estas en el tema de Sistema de logueo para descargar fichero en el foro de PHP en Foros del Web. Hola a todos! He hecho un sistema de logueo sencillo con la ayuda de un tutorial. El usuario solo tiene que introducir la dirección de ...
  #1 (permalink)  
Antiguo 30/04/2013, 12:24
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Pregunta Sistema de logueo para descargar fichero

Hola a todos!

He hecho un sistema de logueo sencillo con la ayuda de un tutorial.
El usuario solo tiene que introducir la dirección de correo y contraseña para acceder a una página de descarga,

Mi pregunta es; Como puedo enviar también la dirección de correo que ha introducido el usuario a otra base de datos para saber las veces que ha entrado ese usuario? Es decir, quizá me estoy complicando, pero me interesa saber las veces que cada usuario entra en la página de descarga. Y la única manera que se me ocurre es registrando la dirección de correo en otra base.
La dirección de correo tendrá dos funciones una comprobar que el usuario esta registrado y la otra se almacenará en otra base. ¿Qué código tendría que poner para que el usuario escribiendo una vez la dirección de correo se fuera a las dos bases de datos, a la de logueo y a la de contabilizar las veces que entran?

¿Me podéis ayudar? Agradeceré si me podéis ayudar con algún código porque tengo un nivel muy básico. El sistema de logueo me funciona perfectamente, solo me falta saber como puedo enviar la dirección a la pagina de insertar.php que insertará los datos a la nueva base de datos.

Dejo el formulario, la página de validación y la página de insertar.php
Código PHP:
Ver original
  1. <style type="text/css">
  2. <!--
  3. body {
  4.     background-image: url(../Imagenes/FondoPrincipal4.png);
  5. }
  6. .Estilo1 {color: #FFFFFF}
  7. -->
  8. </style><form action="validar_usuario.php" method="post">
  9. <form action="http://www.pagina.php" method="post">
  10.   <p align="center">&nbsp;</p>
  11.   <p align="center">&nbsp;</p>
  12.   <p align="center"><span class="Estilo1">ESCRIBE TU CORREO:
  13.     </span>
  14.     <input type="text" name="usuario" size="50" maxlength="50" />
  15.   </p>
  16.   <p align="center"><span class="Estilo1">PASSWORD:</span>
  17.     <input type="password" name="password" size="10" maxlength="10" />
  18. </p>
  19.   <p align="center">
  20.     <input type="submit" value="PÁGINA DE DESCARGA" />
  21.   </p>
  22.   <p align="center">&nbsp;</p>
  23.   <p><a href="registrar.php">registrar</a> </p>
  24. </form>



Código PHP:
Ver original
  1. <?php
  2. ?>
  3. <?php
  4. mysql_connect("localhost:3306","usuarios","mont");
  5. mysql_select_db('usuarios');
  6. $usuario = strtolower($_POST["usuario"]);
  7.     $password = $_POST["password"];
  8. if($usuario!= "" && $password!= "")
  9. {
  10.     $sql = mysql_query('SELECT password, usuario FROM usuarios WHERE usuario="'.$usuario.'"');
  11.     if($f= mysql_fetch_array($sql)){
  12.         if($f["password"] == $password){
  13.             $_SESSION["k_username"] = $f['usuario'];
  14.             header("Location: http://www.pagina");
  15.        
  16.         }else{
  17.             echo 'PASSWORD INCORRECTO';
  18.             echo '<a href="login.php">  DEBES INTORDUCIR LOS SIGUIENTES NUMEROS; 123 </a></p>';
  19.         }
  20.     }else{
  21.         echo 'ESTA DIRECCIÓN DE CORREO NO EXISTE EN LA BASE DE DATOS, INTRODUZCA NUEVAMENTE SU CORREO';
  22.         echo '<a href="login.php"> VOLVER ATRAS</a></p>';
  23.     }
  24.    
  25. }
  26. ?>



Código PHP:
Ver original
  1. <?php
  2. require_once("conexionform.php");
  3. $nombre = $_POST['nombre'];
  4. $correo = $_POST['correo'];
  5. $ejemplares = $_POST['ejemplares'];
  6. if (!isset($nombre) || $nombre == '') {
  7. echo
  8. '<center><h1>Falta completar el Nombre o Empresa</h1><br /><h3><a href="javascript:history.go(-1);">Vuelve a el Formulario</a></h3></center>';
  9. }
  10. else if (!isset($correo) || $correo == '') {
  11. echo
  12. '<center><h1>Falta completar el correo</h1><br /><h3><a href="javascript:history.go(-1);">Vuelve a el Formulario</a></h3></center>';
  13. }
  14. else {
  15. $insertar = mysql_query("INSERT INTO contador (nombre, correo, ejemplares)
  16. VALUES ('{$nombre}', '{$correo}', '{$ejemplares}')", $conexion);
  17. if (!$insertar) {
  18. die("Fallo en la insercion de registro en la Base de Datos: " . mysql_error());
  19. }
  20. mysql_close($conexion);
  21. }
  22. header("Location: http://www.pagina.html");
  23. ?>

Saludos,
  #2 (permalink)  
Antiguo 30/04/2013, 13:05
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Sistema de logueo para descargar fichero

según lo que vi lo que necesitas simplemente una tabla que lleve la bitácora de ingresos del usuario, y lo único que tienes que almacenar es la fecha, la hora y el id asociado a dicho email, en una tabla bitacora_acceso o como quieras, no tiene porque estar en otra DB
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 30/04/2013, 13:18
 
Fecha de Ingreso: abril-2013
Mensajes: 34
Antigüedad: 11 años
Puntos: 3
Respuesta: Sistema de logueo para descargar fichero

pues asi bien sencillo. podrias en la tabla usuarios insertar otro campo que sea contador, y cada vez que un usuario se loguea aumentas en uno dicho contador

osea la tabla seria algo asi
usuario-password-contador

y cada vez que el usuario se loguea de forma correcta se hace un update al campo contador de dicho usuario
  #4 (permalink)  
Antiguo 30/04/2013, 13:58
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: Sistema de logueo para descargar fichero

Muchas gracias, he empezado a trastear con la base de datos de registro, pero de momento la nueva tabla de bitacora_acceso no me funciona
Hay que vincular las tablas? No se como vincular las dos tablas, la de registro con la nueva tabla de bitacora_acceso. Sabes de algún tutorial que hable de este tema?
  #5 (permalink)  
Antiguo 30/04/2013, 14:08
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: Sistema de logueo para descargar fichero

lcruzga parece interesante, pero el nuevo campo que tipo tiene que tener, INT?
  #6 (permalink)  
Antiguo 30/04/2013, 14:10
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Sistema de logueo para descargar fichero

excelente idea la de @lcruzga, aunque queda claro que no puedes llevar un registro exacto (+1 bien ganado)

@jors_11: ¿conoces sobre el modelo entidad relacion?: si no me temo que debes de refrescar dichos conceptos, la idea es que si tienes una tabla usuarios, tienes un PK de usuarios el cual usas para hacer los inserts en la tabla bitacora_usuarios en usuario_id, luego con SQL puedes generar las consultas de totalización como count(*) para obtener la cantidad de entradas de dicho usuario, además de usar JOIN para crear consultas unidas
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #7 (permalink)  
Antiguo 30/04/2013, 14:16
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: Sistema de logueo para descargar fichero

He oído hablar, pero mi nivel es muy bajo para estos conceptos, pero bueno parece que el camino cada vez esta más claro, solo falta hincar los codos, voy a ver si me aclaro, muchas gracias
  #8 (permalink)  
Antiguo 30/04/2013, 14:35
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Sistema de logueo para descargar fichero

Cita:
Iniciado por jors_11 Ver Mensaje
He oído hablar, pero mi nivel es muy bajo para estos conceptos, pero bueno parece que el camino cada vez esta más claro, solo falta hincar los codos, voy a ver si me aclaro, muchas gracias
en efecto, sin esos conocimientos te será difícil entenderme, pero el manejo de entidad relación es fundamental para manejar bases de datos, por el cual te recomiendo que leas sobre el tema, además de:

normalización de datos
SQL
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #9 (permalink)  
Antiguo 30/04/2013, 14:41
 
Fecha de Ingreso: abril-2013
Mensajes: 34
Antigüedad: 11 años
Puntos: 3
Respuesta: Sistema de logueo para descargar fichero

estimado, en el caso que te planto yo, que como comente es un caso basico, simplemente para saber la cantidad de veces que se ha ingresado al sistema, el campo contador deberia ser int o mejor smallint eso queda a tu criterio.

en el caso que te plantea @mailcolalvarez obviamente es mucho mas elaborado y mas completo asi puedes desplegar por ejemplo su información del último día conectado, y tal como te decian necesitas saber lo que es un modelo entidad relación, para manejar la integridad referencial.

la opción que tomes va a depender de lo completo que quieres que sea tu módulo :D.
  #10 (permalink)  
Antiguo 30/04/2013, 14:59
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Sistema de logueo para descargar fichero

int o smallint depende del SDBMS y la cantidad de bytes que usa para almacenar el valor, y si es con o sin signo.

esto puede llevar a que un int (MySQL) de 4 bytes (32 bits) con signo tenga un rango de -2147483648 a 2147483647 y sin signo de 4294967295, consulta sobre los tipos del SDBMS que uses
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #11 (permalink)  
Antiguo 30/04/2013, 15:08
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: Sistema de logueo para descargar fichero

Ok gracias por la información, si con algo básico me será suficiente, pero he creado un nuevo campo "contador" tipo smallint pero de momento aun no me funciona, tengo que poner algún código PHP el la página de validar usuario para que empiece a contar el campo contador?
  #12 (permalink)  
Antiguo 30/04/2013, 15:10
Avatar de xXn
xXn
 
Fecha de Ingreso: abril-2013
Ubicación: Buenos Aires
Mensajes: 41
Antigüedad: 11 años
Puntos: 2
Respuesta: Sistema de logueo para descargar fichero

Lo que en realidad vería mas optimo yo, agrega un atributo a la tabla usuarios, en el cual cuando se loguea sobrescriba arriba del campo con la ultima entrada: El campo tiene que ser text, y deberas antes de hacer el update sobre el campo, rescatar el campo para ponerlo en la variable y luego con un \n concatenas lo nuevo. Asi te va a quedar un reporte de cada vez que entro.
  #13 (permalink)  
Antiguo 30/04/2013, 15:16
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Sistema de logueo para descargar fichero

Cita:
Iniciado por xXn Ver Mensaje
Lo que en realidad vería mas optimo yo, agrega un atributo a la tabla usuarios, en el cual cuando se loguea sobrescriba arriba del campo con la ultima entrada: El campo tiene que ser text, y deberas antes de hacer el update sobre el campo, rescatar el campo para ponerlo en la variable y luego con un \n concatenas lo nuevo. Asi te va a quedar un reporte de cada vez que entro.
presisamente eso va en contra de la normalización de datos, un día la cadena será tan grande que se volverá inmanejable.


@jors_11 en ese caso solo necesitas aplicar un SQL UPDATE cada vez que se logee el usuario, y aplicar contador=contador +1 para incrementar, consulta sobre la sintaxis del SQL UPDATE table SET
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #14 (permalink)  
Antiguo 30/04/2013, 15:25
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: Sistema de logueo para descargar fichero

XXN lo de crear el campo en la base pues lo se hacer, pero pero me podrías ayudar a crear los códigos? es que php me cuesta entenderlo,
  #15 (permalink)  
Antiguo 30/04/2013, 15:32
Avatar de xXn
xXn
 
Fecha de Ingreso: abril-2013
Ubicación: Buenos Aires
Mensajes: 41
Antigüedad: 11 años
Puntos: 2
Respuesta: Sistema de logueo para descargar fichero

Cita:
Iniciado por maycolalvarez Ver Mensaje
presisamente eso va en contra de la normalización de datos, un día la cadena será tan grande que se volverá inmanejable.


@jors_11 en ese caso solo necesitas aplicar un SQL UPDATE cada vez que se logee el usuario, y aplicar contador=contador +1 para incrementar, consulta sobre la sintaxis del SQL UPDATE table SET
Y porque no haces que no sea tan grande? hay muchas formas de hacerlo. Cada semana/ mes podes hacer un blanqueo, podes hacer un count de si hay mas de tantos caracteres se escriba encima y no capture los datos.
  #16 (permalink)  
Antiguo 30/04/2013, 15:42
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: Sistema de logueo para descargar fichero

como se hace un blanqueo?
  #17 (permalink)  
Antiguo 30/04/2013, 16:30
Avatar de xXn
xXn
 
Fecha de Ingreso: abril-2013
Ubicación: Buenos Aires
Mensajes: 41
Antigüedad: 11 años
Puntos: 2
Respuesta: Sistema de logueo para descargar fichero

Ejecutando un simple script SQL.

Igualmente quiero que me responda si lo que dije anteriormente esta mal o que. Te conviene esperar mas respuestas
  #18 (permalink)  
Antiguo 30/04/2013, 23:14
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: Sistema de logueo para descargar fichero

Buenos días!
Si me podéis mostrar algún código ejemplo parecido a lo que necesito pues me será una bendición porque no se por donde empezar.
  #19 (permalink)  
Antiguo 01/05/2013, 15:18
Avatar de jors_11  
Fecha de Ingreso: marzo-2011
Ubicación: Granollers
Mensajes: 79
Antigüedad: 13 años
Puntos: 2
Respuesta: Sistema de logueo para descargar fichero

Mientras aprendo a relacionar las tablas y me aclaro con el tema, mi idea es registrar las entradas en otra base de datos pero mi pregunta es; Puedo en este simple formulario de laguna manera hacer que los datos vayan a validar_usuario.php y a la vez enviar los mismos datos a contador.php?
contador.php insertará los datos en otra base de datos.

Código PHP:
Ver original
  1. <form action="validar_usuario.php" method="post">
  2.   <p>Usuario:
  3.     <input type="text" name="usuario" size="20" maxlength="20" />
  4.     <br />
  5. Password:
  6. <input type="password" name="password" size="10" maxlength="10" />
  7. <br />
  8. <input type="submit" value="Ingresar" />
  9. </p>
  10.   <p><a href="registrar.php">registrar</a> </p>
  11.   <p><a href="index.php">inicio</a></p>
  12. </form>

Etiquetas: formulario, html, mysql, registro, select, sql, usuarios
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 04:03.