Foros del Web » Programando para Internet » PHP »

Sistema de Login

Estas en el tema de Sistema de Login en el foro de PHP en Foros del Web. Hola Amigos/as Bueno, estoy realizado una Web para mi escuela y como que se me a olvidado mucho el tema de la Web pues me ...

  #1 (permalink)  
Antiguo 08/03/2005, 19:10
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Sistema de Login

Hola Amigos/as

Bueno, estoy realizado una Web para mi escuela y como que se me a olvidado mucho el tema de la Web pues me puse a la Programación de Programas y ya no tengo nada que ver con Web. Lo que necesito hacer es un sistema de Login donde los estudiantes de la escuela o los visitantes se registren gracias a un formulario y pongan datos X y en una parte de la Web hay un formulario que tiene:

Nombre de Usuarios
____________________

Contraseña:
____________________

Entrar >

Y necesito que funcione eso, pero primero debo de desarrollar el sistema de usuarios. Me pueden ayudar.

Saludos
  #2 (permalink)  
Antiguo 08/03/2005, 19:22
Avatar de xavi metal
Usuario no validado
 
Fecha de Ingreso: enero-2005
Ubicación: Un poblado de ningun luga
Mensajes: 11
Antigüedad: 19 años, 2 meses
Puntos: 0
lo primero que tienes que hacer es aprender algo de programacion web, y el uso de PHP, SQL, ... , lo que implique bases de datos, sin estos conocimientos dudo que lo puedas lograr...
  #3 (permalink)  
Antiguo 08/03/2005, 19:24
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Amigo estoy viendo este POST:

http://www.forosdelweb.com/showpost....&postcount=133

Lo que no se el comando SQL para poner en phpMYAdmin para crear las tablas.

Crees que me puedas dar una manito.

Saludos
  #4 (permalink)  
Antiguo 08/03/2005, 19:28
Avatar de Gabriel0702  
Fecha de Ingreso: febrero-2005
Mensajes: 155
Antigüedad: 19 años, 1 mes
Puntos: 0
sí, mira, te recomiendo que utilices Dreamweaver, baja la versión de prueba de 30 días, es tiempo suficiente para que lo hagas (hasta en 3 días), esto es lo que tienes que hacer:

Para empezar necesito saber con qué estás trabajando, me imagino que con MySQL, así que necesitas crear una tabla en MySQL en donde se almacenarán los datos de los usuarios. Una vez hecho todo lo anterior, consulta la sección "Creación Rápida de aplicaciones web" que aparece en el menú "Ayuda->Utilización de Dreamweaver" y lee toda la parte que corresponda a PHP, está muy fácil. ESO ES AYUDA.
  #5 (permalink)  
Antiguo 08/03/2005, 19:30
Avatar de Gabriel0702  
Fecha de Ingreso: febrero-2005
Mensajes: 155
Antigüedad: 19 años, 1 mes
Puntos: 0
para crear tablas utilizas la siguiente sintáxis, esto lo haces en MySQL:

Create Table [Nombre de la tabla] ([Campo1] [Tipo de Campo], ..., Primary Key([Nombre de Campo]);


ej.

Create table Usuarios (Id_Usuario char(10), NomUsuario char(50), Primary Key(Id_Usuario));
  #6 (permalink)  
Antiguo 08/03/2005, 19:31
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Te recomiendo bajarte el script "Autentificator" de Cluster.
El código está muy comentado así que puedes aprender fácilmente revisándolo. Por lo mismo, es muy fácil adaptarlo.
Además, su autor es moderador en este foro y muchos usuarios de aquí mismo conocemos el script... así que recibirás ayuda de primera mano en caso de que tengas problemas.

Eso sí, si no sabes nada de PHP y cómo interactuar con Mysql, te recomiendo leer antes un buen tutorial... en las FAQ's de este foro puedes encontrar varios enlaces buenos.

Saludos
  #7 (permalink)  
Antiguo 08/03/2005, 19:32
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Amigo, no soy novato con las Web, solo que he dejado las habilidades en PHP pues antes diseñaba Web.

Pero bueno me metí a Programar y es un sistema de Códigos completamente diferentes. Tengo todos los programas de diseño.

Solo necesito algunas ayuditas.

Saludos
  #8 (permalink)  
Antiguo 08/03/2005, 19:33
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Perdón... no te puse el enlace:
http://php.cluster-web.com/autentificator/

Saludos
  #9 (permalink)  
Antiguo 08/03/2005, 19:36
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Si lo estoy viendo, gracias,

si algo les digo.

Saludos
  #10 (permalink)  
Antiguo 08/03/2005, 19:51
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Amigos, ya todo funciona bien, lo que ahora quiero saber como puedo adaptarle para que envez de que ponga un mensaje de error envie a login.php y que diga el error.

Código PHP:
<?PHP
// Mostrar error de Autentificación.
include ("aut_mensaje_error.inc.php");
if (isset(
$_GET['error_login'])){
$error=$_GET['error_login']; 
echo 
"Error: $error_login_ms[$error]";

?>
Saludos
  #11 (permalink)  
Antiguo 09/03/2005, 06:35
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Si te fijas en los ejemplos de la documentación de Autentificator y lees bien su forma de uso .. concretamente lo que requieres ya lo hace de forma automática Autentificator.

Es decir .. tu haces tu formulario de login.php .. mandas a validar tu usuario a otro script tipo "donde_tenga_que_ir.php" y si hay error de login .. el "HTTP_REFERER" ya te mandará a login.php y con el código que ahí muestras donde quieras puedes mostrar tu mensaje de error que ya gestiona Autentificator.

Un saludo,
  #12 (permalink)  
Antiguo 09/03/2005, 12:17
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Hola Amigo, como puedo crear un formulario para registrar los usuarios es decir que ellos mismo se registren.

Saludos
  #13 (permalink)  
Antiguo 09/03/2005, 13:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por 2Fast To You
Hola Amigo, como puedo crear un formulario para registrar los usuarios es decir que ellos mismo se registren.

Saludos
Pues .. puedes tomar como ejemplo la lógica que veras en el ejemplo aut_gestion_usuarios.php .. ahí tienes un formulario de registro .. sólo que es "validado" por el própio Autentificator para que lo haga un administrador supuesto .. toma esa porción de código y proceso .. sacandole la validación de autentificator (el requiere("aut_verifica.inc.php"))

En otras palabras .. tan sólo tienes que "atacar" tu BD de usuarios para crear los registros necesarios (en pricipio y originalmente: usuario, password y nivel de acceso .. ) recuerda que las contraseñas están encriptadas en MD5() como se menciona en la documentación y veras en el código que te mencioné como trabajarlo.

También te recuerdo que el objetivo de "Autentificator" no es como pretendes usarlo (por qué luego me preguntaras como tener páginas que no sea necesario autentificación, o como ver los usuarios activos .. y demás historias) .. pero como base puedes tomarlo para tus modificaciones o amplicaciones de funciones. Será mejor que tomes nota de como trabajar con sesiones y de ahí te diseñas tu sistema própio.

Un saludo,
  #14 (permalink)  
Antiguo 09/03/2005, 18:44
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Hola Amigo, ya estoy desarrollando un sistema de login pero el problema que tengo es a la hora de comparar los datos puestos en:

Username:
Password:


Como puedo hacer un archivo es decir verificar.php y test.php lo llamaría.

Ya yo tengo un archivo que conecta:

Código PHP:
<?php 
function Conectarse() 

   if (!(
$link=mysql_connect("localhost","root","clave"))) 
   { 
      echo 
"Error conectando a la base de datos."
      exit(); 
   } 
   if (!
mysql_select_db("pilarconst",$link)) 
   { 
      echo 
"Error seleccionando la base de datos."
      exit(); 
   } 
   return 
$link

?>
Este se llama conex.php

Como puedo hacer que ya funciona el validador.

Saludos
  #15 (permalink)  
Antiguo 09/03/2005, 19:09
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Bueno he logrado usar el mismo sistema de verificación pero cuando hago todo en el login todo hasta ahí bien pero cuando le doy a entrar me envia a la web que necesito pero me dice.

Error cod.: 2 - Acceso incorrecto!

Y creeo que es en el tema del Password que está sifrado en md5 y cuando veo en la BD tiene un Password e10adc3949ba59abbe56e057f20f883e es decir que el md5 está funcionando pero a la hora de convertir ese Password al original no me lo está conviertiendo. Me imagino.

Para guardar el Password sifrado estoy haciendo el Siguiente Código:

Código PHP:
<?php 
   
include("conex.php"); 
   
$link=Conectarse(); 
   
$username=$_GET['username']; 
   
$password=$_GET['password'];
   
$email=$_GET['email'];    
   
$sexo=$_GET['sexo'];
   
$nombre=$_GET['nombre'];
   
$apellidos=$_GET['apellidos'];
   
$nacimiento=$_GET['nacimiento'];
   
$postal=$_GET['direccion'];
   
$postal=$_GET['postal'];
   
$poblacion=$_GET['poblacion'];
   
$pais=$_GET['pais'];
   
$yahoo=$_GET['yahoo'];
   
$msn=$_GET['msn'];
   
$web=$_GET['web'];
   
$ocupacion=$_GET['ocupacion'];
   
$intereses=$_GET['intereses'];
   
$descripcion=$_GET['descripcion'];
   
$password md5($password);
   
mysql_query("insert into usuarios (username,password,email,sexo,nombre,apellidos,nacimiento,direccion,postal,poblacion,pais,yahoo,msn,web,ocupacion,intereses,descripcion) values ('$username','$password','$email','$sexo','$nombre','$apellidos','$nacimiento','$direccion','$postal','$poblacion','$pais','$yahoo','$msn','$web','$ocupacion','$intereses','$descripcion')",$link); 
    
   
header("Location: registro.php"); 
?>
Que creen.

Espero que me ayuden.

Saludos

Última edición por 2Fast To You; 09/03/2005 a las 19:10
  #16 (permalink)  
Antiguo 09/03/2005, 19:20
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por 2Fast To You
(...) es decir que el md5 está funcionando pero a la hora de convertir ese Password al original no me lo está conviertiendo. (...)
que yo sepa MD5 no "reconvierte" un password a la forma original... vaya, ese 18467hdubshsdh...etc no lo volverás a ver de la forma mipassword (chin! ya revelé mi pass)... lo que se tiene que hacer es cuando un usuario ingresa su pass para logearse, volverle a meter el MD5 y comparar los 18467hdubshsdh...etc ...

Disculpa pero no he seguido el tema.. solo entré y leí eso y quise... exponer esto.. aunque honestamente tampoco me creas al 100% .. mejor me voy...

Suerte! .. ojalá te ayude.
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #17 (permalink)  
Antiguo 09/03/2005, 22:29
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Bueno, ya logré realizar mi Sistema de Login, ahora me gutaría saber como hago para hacer que desde un Formulario envie un Email con UserName y Contraseña es decir como para Recuperar la clave.

Espero Ayuda

Saludos
  #18 (permalink)  
Antiguo 09/03/2005, 22:53
 
Fecha de Ingreso: junio-2003
Ubicación: Santiago
Mensajes: 105
Antigüedad: 20 años, 10 meses
Puntos: 1
Cita:
Iniciado por 2Fast To You
Bueno he logrado usar el mismo sistema de verificación pero cuando hago todo en el login todo hasta ahí bien pero cuando le doy a entrar me envia a la web que necesito pero me dice.

Error cod.: 2 - Acceso incorrecto!

Y creeo que es en el tema del Password que está sifrado en md5 y cuando veo en la BD tiene un Password e10adc3949ba59abbe56e057f20f883e es decir que el md5 está funcionando pero a la hora de convertir ese Password al original no me lo está conviertiendo. Me imagino.

Para guardar el Password sifrado estoy haciendo el Siguiente Código:

Código PHP:
<?php 
   
include("conex.php"); 
   
$link=Conectarse(); 
   
$username=$_GET['username']; 
   
$password=$_GET['password'];
   
$email=$_GET['email'];    
   
$sexo=$_GET['sexo'];
   
$nombre=$_GET['nombre'];
   
$apellidos=$_GET['apellidos'];
   
$nacimiento=$_GET['nacimiento'];
   
$postal=$_GET['direccion'];
   
$postal=$_GET['postal'];
   
$poblacion=$_GET['poblacion'];
   
$pais=$_GET['pais'];
   
$yahoo=$_GET['yahoo'];
   
$msn=$_GET['msn'];
   
$web=$_GET['web'];
   
$ocupacion=$_GET['ocupacion'];
   
$intereses=$_GET['intereses'];
   
$descripcion=$_GET['descripcion'];
   
$password md5($password);
   
mysql_query("insert into usuarios (username,password,email,sexo,nombre,apellidos,nacimiento,direccion,postal,poblacion,pais,yahoo,msn,web,ocupacion,intereses,descripcion) values ('$username','$password','$email','$sexo','$nombre','$apellidos','$nacimiento','$direccion','$postal','$poblacion','$pais','$yahoo','$msn','$web','$ocupacion','$intereses','$descripcion')",$link); 
    
   
header("Location: registro.php"); 
?>
Que creen.

Espero que me ayuden.

Saludos

Bueno te aconsejaria, que tu formulario lo enviaras con el metodo post, porque estas recibiendo todo por GET, incluso el password, lo que quiere decir que puedo modificar los datos en la URL cambiando asi tu registro, en cambio con POST "no se ven".

Lo otros que queria aconsejarte, es que por ejemplo limpies las variables recibidas y segun el acaso las puedes formatear dependiendo del mismo. para esto puedes usar las funciones trim() y strtoupper, strtolower, ucfirst, etc.
  #19 (permalink)  
Antiguo 10/03/2005, 04:30
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
AMigo gracias por tu ayuda, yo ya lo había puesto, pero bueno gracias, sobre formatiar blabla si me puedes tirar una mano explicandome bien como debería de quedar.

Saludos
  #20 (permalink)  
Antiguo 10/03/2005, 06:49
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El error original de Autentificatro "codigo 2" se refiere al uso de sesiones. Concretamente a que no se pueden acceder por qué no se crearon, o no se propagó el SID correctamente o incluso por qué no tienes definido correctamente el uso de sesiones.

Autentificator propaga el SID (asume) que lo vas hacer por cookies, así que requieres de un cliente (navegador) que acepte cookies y que estas no sean bloqueadas. Ademas .. php.ini: session.use_cookies = ON ...

Un saludo,
  #21 (permalink)  
Antiguo 10/03/2005, 12:07
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Hola Amigos

Bueno, ya he realizado el Sistema completamente solo me falta algunas cosas que espero hacerlas con ayuda de ustedes...

Bueno, una de ellas es Como hago para que el usuarios que no se acuerde de la Clave como le hago hacer llegar la clave con el Username a su Email. Gracias a un formulario que le pide

Username
Email


Espero que me ayuden.

Saludos
  #22 (permalink)  
Antiguo 10/03/2005, 12:22
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Usa la función mail() para mandar la información, después de que se mandó al formulario, ya con eso lo tienes y lo mandas y ya está
  #23 (permalink)  
Antiguo 10/03/2005, 12:30
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
No se mucho PHP amigo, me puedes decir el Código como sería ??

Saludos
  #24 (permalink)  
Antiguo 10/03/2005, 13:42
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
HOla:
Las contraseñas están encriptadas com md5(). esa función, como ya te dijeron, no es reversible., por lo que no podrás recuperar las contraseñas. Y así debe ser, pues esto hace tu sistema más seguro.

En el caso de que el usuario olvide su contraseña lo que debes hacer es crearle una nueva y enviársela a su email.

En las FAQ's de este foro hay un generador de contraseñas de Cluster.
Y también puedes encontrar información sobre cómo enviar un mail.

Saludos
  #25 (permalink)  
Antiguo 10/03/2005, 13:47
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Entonces creo que es mejor quitarle el md5 ya que lo que voy a proteger no es nada importante.

Pero bueno por fín como puedo hacer eso sin estar la contraseña en md5

Saludos
  #26 (permalink)  
Antiguo 10/03/2005, 14:10
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Mira:
La diferencia entre utilizar o no una función de encriptación como md5() en cuanto a programación es mínima. Pero en cuanto a seguridad es enorme.
Cuando el usuario hace clic en "olvidé mi contraseña"
+ Sin encriptar:
- Lees de la base de datos la contraseña.
- Se la envías por mail.

+ Encriptado:
- Generas una nueva contraseña.
- La guardas en la base de datos.
- Se la envías por mail.

Como ves la diferencia es mínima... y más aún si ya tienes una función que genera contraseñas automáticamente como la de Cluster.
Yo te recomiendo seguir utilizando contraseñas encriptadas.

Saludos
  #27 (permalink)  
Antiguo 10/03/2005, 14:15
 
Fecha de Ingreso: septiembre-2003
Ubicación: Santo Domingo - R. Dominicana
Mensajes: 606
Antigüedad: 20 años, 7 meses
Puntos: 0
Perfecto, pero necesito llegar al punto de que des el código para realizar eso, es decir el que guarda la nueva contraseña y se le envia por email al usuario.

Saludos
  #28 (permalink)  
Antiguo 10/03/2005, 14:15
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Esta es la función que genera contraseñas:
http://www.forosdelweb.com/showthrea...483#post411483
O sea que no tienes excusa para no querer encriptar las contraseñas.

Saludos
  #29 (permalink)  
Antiguo 10/03/2005, 14:36
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Básicamente sería así:
Código PHP:
<?php
// haces la conexión con la BD.(yo lo obvio aquí)
// incluyes la definición de la función genera_password().(yo lo obvio aquí)


$contrasena genera_password(8);// de 8 caracteres (o lo que quieras)
$sql "UPDATE tabla SET campo_password = '$contrasena' WHERE campo_email='".$_POST['email']."'";
mysql_query($sql) or die("error en <b>$sql</b> :::"mysql_error());
if(
mysql_affected_rows() == 1){// si hay una fila afectada (o sea si el email existe en la BD)
   
mail $_POST['email'], "nuevo password""su nuevo password es: $contrasena");
}
?>
Saludos

Última edición por jpinedo; 10/03/2005 a las 14:38
  #30 (permalink)  
Antiguo 10/03/2005, 14:41
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Estoy asumiendo que vienes de un formulario que tiene un campo de texto llamado 'email'.
Saludos
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:47.