27 comentarios en “Login y registro PDO PHP y MySQL: Ejemplo completo”

  1. hola, el sistema funciona perfecto, solo cuando voy al registro me muestra la siguiente leyenda
    —————————————————————-
    Los nombres de usuario deben tener al menos 3 caracteres alfanuméricos
    La contraseña es demasiado corta.
    Confirmar contraseña es demasiado corta.
    Por favor, introduce una dirección de correo electrónico válida
    —————————————————————
    podrian indicarme como invisivilizo eso?
    muchas gracias Daniel. elchute@gmail.com

    Responder
  2. Hola.

    Gracias por el aporte. Muy buen trabajo. Pero no consigo recibir los email de confirmación.

    He cambiado los datos de la linea 15 y 16 de config.php y también he cambiado los datos de la linea 5 hasta la 12 de mail.php, pero no consigo que me se envíen los email de confirmación.

    Alguien me puede ayudar… muchas gracias

    Responder
      • Gracias Jose Luis por responderme. Te comento.
        En el archivo config.php en la linea 15 he puesto el dominio de mi web y en la 16 el email de mi dominio, y no funciona.
        Y en el archivo mail.php también he puesto mi email en la linea 6 y he desactivado todos los comentarios. No se dónde hago mal que no me funciona. Me podías ayudar donde me equivoco.

        Por otro lado agradecerte este trabajo que haces para ayudar a tanta gente, entre ellos uno soy yo.
        ¡¡¡MUCHAS GRACIAS!!!

        Responder
  3. Buenos dias, lo primero agradecer el aporte 🙂
    Estoy tiendo problemas en le momento de registrar a un usuario, el mensaje de error que me dá es el siguiente:

    warning PHP:
    Warning: password_hash() expects parameter 2 to be long, string given in …/classes/password.php on line 32

    y justo encima del formulario me sale este mensaje:
    SQLSTATE[23000]: Integrity constraint violation: 1048 Column ‘password’ cannot be null

    Muchas gracias

    Responder
    • He visto que era por un problema con mi version de php. Este error me lo daba en mi virtual host que tenia una version de php diferente a la de mi servidor. En mi virtual host PASWORD_BCRYPT tenia un valor “2y” y en el mi servidor web tenia valor “1” estoy hacia que en la comprobación de si es integer en la linea 32 del archivo password.php me diera error.

      Gracias y disculpe las molesetias

      Responder
  4. Estimado Baulcode, desestimen los mensajes anteriores, modifiqué el config.php y el mail.php y salio andando todo de una, buenísimo!. Muchas gracias por este material!. Saludos!.

    Responder
  5. Hola, dejé hace unas horas un mensaje pero no lo vi más estaba en espera de ser aceptado, dada mi necesidad de respuesta vuelvo a dejar mi pregunta, si esta duplicada sabrán Uds. disculpar y eliminar la que crean oportuna.
    La duda que tengo es similar a la de mis colegas que tu has respondido, te pido disculpas y paciencia pero no logro hacer llegar el mail a la cuenta que se quiere registrar aunque si hace joined, como no tengo aun un sitio web estoy con el localhost de easyphp, mi sintaxis en config.php es esta y no funciona podrás tu ayudarme a dilucidar el problema? te lo agradecería.

    //application address
    define(‘DIR’,’http://localhost/LoginPDO/’);
    define(‘SITEEMAIL’,’comprodesdecasa20@gmail.com’);

    Ademas de los errores que este cometiendo aquí, hay que modificar algún otro archivo, digo porque veo en mail.php esto comentado y estoy en dudas:

    class Mail extends PhpMailer
    {
    // Set default variables for all new objects
    public $From = ‘noreply@domain.com’;
    public $FromName = SITETITLE;
    //public $Host = ‘smtp.gmail.com’;
    //public $Mailer = ‘smtp’;
    //public $SMTPAuth = true;
    //public $Username = ’email’;
    //public $Password = ‘password’;
    //public $SMTPSecure = ‘tls’;
    public $WordWrap = 75;

    Agradezco mucho tu ayuda!!

    Responder
  6. Estimado Igmar, ayer me tope con este desarrollo y me parece fabuloso y justo lo que venia necesitando, quizás mas!. Para no desentonar con los amigos que me preceden en este chat te vengo con lo mismo y te pido mil disculpas pero yo modifico en config.php esas lineas así textual como las pego aquí y si bien hace join nunca recibo mail de confirmación, espero puedas ayudarme porque lo que es esto me fascina. Pego aquí mi código tal cual.
    //application address
    define(‘DIR’,’http://127.0.0.1/login-y-registro-pdo-php-y-mysql-ejemplo-completo/’);
    define(‘SITEEMAIL’,’comprodesdecasa20@gmail.com’);

    Es que cometo algún error sintáctico y no lo veo, las comillas son simples tal cual aquí.
    Otra consulta, esto está en mail.php todo comentado, debo descomentarlo?

    // Set default variables for all new objects
    // public $From = ‘noreply@domain.com’;
    // public $FromName = SITETITLE;
    //public $Host = ‘smtp.gmail.com’;
    //public $Mailer = ‘smtp’;
    //public $SMTPAuth = true;
    //public $Username = ’email’;
    //public $Password = ‘password’;
    //public $SMTPSecure = ‘tls’;
    // public $WordWrap = 75;
    Agradezco tu aporte y ayuda, un saludo!.

    Responder
  7. hola. me podrías ayudar coloco la información del dominio y el correo y el mail de confirmación no llega.

    //application address
    define(‘DIR’,’http://jasolutionsweb.com’);
    define(‘SITEEMAIL’,’noreply@jasolutionsweb.com’);

    Responder
  8. hola, como hago para que en la pagina de memberpage.php mostrar contenido especifico para cada usuario registrado.

    es decir que tenga 3 usuarios verdad
    usuario1, usuario2 y usuario 3.
    cómo hago para mostrar en memberpage.php por ejemplo 3 o 4 botones con funciones especificas para ese usuario sin que los demas usuarios la vean, pero los demas usuarios tambien tengan 2 o 3 botones especificos para hacer una tarea, pero que los demas usuarios no puedan ver esos botones, solo el usuario al que se le asigna o si se puede crear una pagina persosalizada como funciones especificas a cada usuario pero que la misma sea mostrada en memberpage.php o que sean enviado cada uno a su pagina privada que solo ellos puedan ver.

    ejemplo accedio el usuario1, pero que al accede el pueda ver su contenido paginauser1.php por ejemplo.
    accede el usuario2 y a este se le muestra su pagina con su contenido paginauser2.php y
    si accede el usuario3 este vea su contenido paginauser3.php

    pero que ninguno pueda ver la pagina que no le corresponde salvo el usuario principal como admin o algo asi que pueda acceder a todas.

    en scrip se puede hacer, pero no se recomienda porque s se da ver codigo fuente se ven los accesos.
    yo creo que esta funcion se llama con php usando el id del usuario para imprimir el contenido de la pagina en memberpage.php pero no se como hacerlo que el php llame a la pagina especifica dependiendo del usuario conectado

    no se si me explico.

    Responder
  9. Hola buenas noches está muy interesante este formulario de ingreso. Me gustaría saber porque después de registrarme y de acceder al login aparece como error “no coinciden usuario o password” o que la cuenta no esta activada. Me podrían colaborar con eso por favor. Muchas gracias.

    Responder
  10. buenas

    porque me sale este mensaje y no me deja iniciar sesión
    Nombre de usuario o contraseña incorrectos o su cuenta no ha sido activada.

    Responder
    • porque tienes que activarla, sino agregas el dominio donde tienes el login y un correo, no va a enviar el correo de conformacion para que active la cuenta el usuario

      Responder
    • Hola Manuel,
      Primero tienes que analizar tu sistema y el nuevo sistema para poder reemplazar sin problemas, por ejemplo las tablas y clases.

      Responder

Deja un comentario