Les presento rl-php un sistema de registro y login sencillo, listo para implementar en tu próximo proyecto web.
En el siguiente video pueden ver la instalación y uso del sistema.

El sistema cuenta con formularios, validaciones y backend PHP.

El registro contempla: nombre de usuario, nombre completo, email, password y confirmacion.

El login contempla: nombre de usuario o email y contraseña.

Descarga

Puedes descargar el proyecto desde la pagina de GitHub:

Dudas y comentarios son bien recibidos.

A continuación te dejo otro sistema de login que te puede interesar:

Si necesitas algo mas completo y profesional tal vez te puede interesar:

Curso Crear Sistemas en PHP sin Framework

Te invito al curso Crear Sistemas en PHP sin Framework donde aprenderas desde como hacer un CRUD a desarrollar Sistemas de registro y login, Inventario, Eventos, Blog y mucho mas.

39 Thoughts on “Sistema de Registro y Login Sencillo con PHP y MySQL”

  • Impecable login, super eficiente y descomplicado en todo. Felicitaciones apreciado Agustín, estoy desarrollando una escuelita web completamente gratuita para adolecentes con ganas de aprender de manera autodidacta, diseño y otros temas web ( jomla, gimp, html5, blender,etc ).
    Voy a implementar tu login en el mini portal de eduweb.club,quiero saber si cuento con tu autorización y tambié si deseas ayudar a los chicos con tus cursos y conocimientos. !! eres bienvenido !!
    Un abrazo y un saludo desde Puerto Rico de un colombiano que desde hace 23 años tuve la fortuna de elegir esta bella isla para levantar una familia.
    Cuenta con un amigo y servidor autodidacta de la red.
    En to2uni2.com me puedes conocer mejor.

    • Hola que tal amigo, claro que si cuentas con permiso para usar, implementar e incluso distribuir el sistema de registro y login, dado que es software libre. Me alegra que mi software le sea util. Aqui en mi pagina web puedes encontrar lo que necesites. De hecho tengo un sistema para escuela en linea pero aun lo estoy puliendo, te recomiendo usar wordpress para tu escuela online, ya que lo que hoy empiezas como una escuelita mas adelante puede convertirse en el proximo udemy y debes contar con una plataforma que te ayude a crecer, cuenta conmigo para lo que necesites, saludos

      • Apreciado Agustín, que respuesta tan bonita, tan optimista y tan motivante, me hablaste de worpress en el mejor momento, claro que seguiré tus instrucciones al pié de la letra. Lo de tu escuela en línea suena muy bien, ténme en cuenta cuando desees proponerla y puedes contar conmigo. Gracias por tu autorización y colgaré tu login cuando implemente algún curso en php. Un abrazo y saludos a los tuyos, con mucha especialidad para KevinHiro. Fajil

    • Lo puedes lograr con el siguiente codigo PHP en el archivo home.php:

      $query = $con->query("select * from user where id=".$_SESSION["user_id"]);
      while ($r=$query->fetch_array()) {
          echo $r["name"];
      }
      

      Saludos

  • En primer lugar enhorabuena por el tutorial, es genial! Tengo la duda de cómo, después de hacer el login, qué código debo insertar para que me redireccione a una página concreta de mi web, o para que desbloquee ciertas páginas. Muchas gracias!

    • Hola francis, es cuestion de que veas la estructura de como esta desarrollado para que la utilices o muevas el funcionamiento a una estructura que te parezca mejor. Precisamente estoy pensando hacer un tutorial sobre sistema de permisos dentro de unos pocos dias. Te invito a que te suscribas a mi blog para estar al tanto. Saludos

  • hola.. muy bueno todo,,
    en principio funciona pero no puedo logearme.
    veo en la base de datos que los registros se crean pero a la hora de loguear me dice “acceso invalido”
    estoy utilizando mi servidor con otro nombre de base de dato y otro nombre de tabla. (ya todo modificado en los codigos)

    creo que el problema esta acà:

    $user_id=null;
    $sql1= “select * from usuarios where usuario=\”$_POST[username]\” and password=\”$_POST[password]\” “;
    $query = $con->query($sql1);
    while ($r=$query->fetch_array()) {
    $user_id=$r[“id”];
    break;

  • Muchas gracias por el post, pero hay un pequeño problema. Es muy inseguro a inyección sql.
    Un ejemplo de injección SQL sería:
    Creamos un usuario que se llame jesus. Hasta aquí todo bien. El problema radica cuando vamos al logearnos.
    En el login escribimos nuestro usuario (jesus en este caso). Hasta aquí bien. Ahora en la contraseña escribimos:

    " or username="jesus

    Si lo pruebas verás que te da la bienvenida y accede con normalidad. Si miramos lo que pasa en el login.php, la consulta php queda así:

    select * from user where (username="jesus" or email="jesus") and password="" or username="jesus"

    Esto nos hará que devuelva la fila de la tabla con username = jesus y creará la sesión y funcionará igual que si introduzco la contraseña correcta.

    • Hola jesus, muchas gracias por tu observacion, como puedes ver este es un ejemplo sencillo, si quieres proteger la entrada hay varios metodos, mi preferido es encriptar la contraseña, metodo que utilizo en todos mis sistemas excepto este ejemplo.
      En la linea 9 tienes algo asi:
      $sql1= “select * from user where (username=\”$_POST[username]\” or email=\”$_POST[username]\”) and password=\”$_POST[password]\” “;
      Lo puedes sustituir por esto y solucionas el problema.
      $sql1= “select * from user where (username=\”$_POST[username]\” or email=\”$_POST[username]\”) and password=\””.sha1(md5($_POST[password])).”\” “;
      Tambien puedes usar diferentes metododos de encripcion como crypt, tambien puedes usar la funcion mysql_real_scape_string para proteger las variables inseguras.

  • Muy bueno el post, solo que tengo un problema con la linea 11 de “registro.php”. Al parecer es con la función “fetch_array()” pero no estoy seguro, soy nuevo en esto y estoy haciendo pruebas, si me podrías orientar te lo agradeceria mucho. Te pego lo que me devuelve la consulta:
    “Fatal error: Call to a member function fetch_array() on a non-object in /opt/lampp/htdocs/sublimacion /php/registro.php on line 11”
    Gracias!

    • Hola guillermo, me podrias mandar una captura de pantalla o algo para ver mas detalles. Tambien si puedes agrega un echo al principio de la linea 9 y me mandas la captura de pantalla a mi correo.

    • Tenia el mismo error, la solucion es muy sencilla, seguramente en tu vercion de mysql no te permitia usar la palabra “user” como nombre de una tabla, solo tienes que renombrar las tablas, en las consultas y poner el nombre de tu tabla. Respecto al codigo, es sencillo pero pero bueno y funcional. es verdad, si es recomendable agregarle alguna funcion para cifrar el password, y lamentablemente no se ha actualizado, pero se podrian agregar muchas mas funciones.

  • Impecable php de registro y login. estaba cansado de código complicado y la mayoría de las veces no operativo, Lo voy a incluir ,con pequeñas modificaciones, en una appweb medica para calculos nutricionales en pacientes en UCI ,para que los médicos se logeen a base de datos individualizadas . Gracias por tu trabajo.

  • Excelente ejemplo amigo soy nuevo en esto y fue tan sencillo hacerlo gracias a ti, si quisiera crear carpetas y compartir archivos con cada usuario diferente como podria hacerlo? tienes algun ejemplo igual de sencillo, un saludo y gracias de antemano.

  • Hola amigo, agradezco de antemano que compartas tus conocimientos de programación con la comunidad entusiasta esto es de gran ayuda para nosotros que se nos dificulta o no podemos pagar un curso ó comprar libros.

    Bueno, yo tengo un proyecto pero tengo un problema y tal vez podrías ayudarme, lo que quiero es que evalué 5 respuestas y si son correctas me muestre un mensaje.
    Si hay respuestas erróneas me diga “otro mensaje” pero que me diga que respuestas tengo mal.
    te agradecería muchísimo la ayuda o si tuvieras un ejemplo que me facilitara esto. Gracias.!!!

  • Hola Agustín! Oye funciona igual para sistema IOS, en lugar de abrir console lo hago en Terminal? Gracias!

  • Buen dia Agustin. Excelete sistema sencillo y amigable. muchas gracias por compartirlo.
    una pregunta. para modificar el color de la barra de menu que es color gris. en que archivo seria modificar que no lo he logrado T.T

    muchas gracias

  • Hola Agustin! Es muy bueno tu ejemplo que nos muestra, en realidad soy una principiante con este proyecto que nos enseñas me guió mucho para estar realizando mi proyecto!
    En realidad quería hacerte una pregunta, necesito ingresar a mi base de datos MySql en mayúscula los datos, como haría en ese caso utilizando tu código de php, yo utilice uppercase en el todos lados, pero como te digo soy principiante me gustaría que me ayudaras en esto, de antemano se te agradece proporcionar tus conocimiento son muy buenos.

    • Hola andres, mi humilde consejo, no te compliques, utiliza minúsculas, si eres principiante o no, siempre busca la vuelta mas facil. Si tienes mas dudas contactame a mi correo.

      • Muchas gracias por contestarme el comentario, agradecería mucho de que proporciones tu correo por algunas dudas mas que tengo.

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload CAPTCHA.