HOLA COMO ESTAN, HE ENCONTRADO EL ERROR QUE LE PASA A MUCHO (Uncaught TypeError: count(): Argument #1 ($var) must be of type Countable|) ESTE ERROR SUCEDE EN EL LOGIN CONSISTE EN CAMBIAR EL count($result) por is_countable($results) EN EL LOGIN.PHP ESTO DEBIDO A LAS ACTUALIZACIONES DE VERSIONES EN PHP
A la verdad, muchas gracias por tus videos, saludos desde Cuba, hace un tiempo aprendí hacer esto en Python y resulta que fue en este mismo canal poco a poco lo he estado explorando y mejoro más la programación con diferentes lenguajes, muchas gracias nuevamente por tu metodología para enseñar solo me queda compartirlo con otro compañeros para que crezcan...
Excelente vídeo, un error que cometí y que provocaba que solo saliera un usuario es que en el codigo php de login olvide poner dos puntos en esta linea $records = $conn->prepare('SELECT id,email,password FROM users Where email =👉 :email'); una vez que los coloque funciono perfecto, vi varios comentarios abajo que creo pueden tener el mismo problema, gracias por el tuto saludos.
A los que no les loguee simplemente deben crear la tabla de la siguiente manera CREATE TABLE users (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, email VARCHAR (250) NOT NULL, password VARCHAR (250) NOT NULL) Asi deben poner en la sentencia SQL, Ya que cuando se encriptan las claves de los usuarios son muchos caracteres y a veces si le ponemos 50 o 60 en el espacio de la tabla no caben los passwords y no funciona a la hora de loguearse.
me gustaria ver uno en el que hagas un tipo de "To-Do List" con varias herramientas, algo como que tenga un calendario la lista de las tareas y una barra de estadisticas en la que se vean las tareas ademas que tengan estados esas tareas como de en progreso completado o cancelado y de esa forma que se vean en la barra de estadisticas, eso seria genial viejo. de nuevo, Gracias!!!
gracias fazt me ha ayudado mucho este video estaba buscando como hacer login con contraseña encriptado he intentado muchas veces no me sale pero despues de ver este video he solocionado el problema gracias 5000 veces saludo desde españa
Gracias por compartir el proyecto. Tengo un problema que no pude solucionar, en la linea 18 del archivo login.php (al crear el usuario). El error: if (count($results) > 0 && password_verify($_POST['password'], $results['password'])) { Tengo creada la misma tabla con los mismos atributos que indicas. De todas maneras Muchas gracias.
@@lucxdex8215 Hombre sabes lo que me sucede a mí, esta todo correcto mi codigo pero a la hora de que haga su función no lo hace, no se guarda en la base de datos.
@@lucxdex8215 ahora me está dando pero es otra cosa , veré ya hacer la base de datos, por ahora estoy aprendiendo php desde 0 mejor , así le entiendo mejor
SOLUCIONADO! "No puedo agregar mas de un registro" No me dejaba agregar mas de un registro a la base. El problema era que me habia olvidado de tildar en el campo clave ID, como auto incrementable. Por si alguno le pasa, yo estuve 2 horas buscando el error y era un simple check a la hora de crear la tabla.
Exelente video perfectamente explicado funcional solo hay que ver los errores que uno llega a cometer al escribir el código pero simplemente perfecto gracias.
Gracias por el video, es de mucha importancia Tengo un punto de vista tendremos ciertos interfaces: 1, 2, ... 1. encontramos el login o signup, que nos permite acceder o crear una cuenta. 2. Después de acceder a nuestra cuenta, podríamos crear 2 opciones en este interface: el sigout y el logout? en donde el logout tendría la acción de cerrar nuestra cuenta y mientras que el sigout seria borrar nuestra cuenta con todos los datos ya registrados en ella anteriormente. Que tal le parece mi punto?
De primeras, muchas felicidades por tu canal. Me ha encantado este miniproyecto en el que he aprendido mucho. Sé las bases de mysql y un poquito de php, pero nunca lo había aplicado a un proyecto real. He aprendido bastante en una sola hora, muchas gracias!
tengo un problemas que no es podido encontrar Warning: count(): Parameter must be an array or an object that implements Countable in C:\xampp\htdocs\Prueba2\iniciarsesion.php on line 18 if (count($results) > 0 && password_verify($_POST['password'], $results['password'])) { $_SESSION['user_id'] = $results['id']; header("Location: /php-login"); } else { $message = 'Sorry, those credentials do not match'; } }
Sos el mejor enseñando!!! una pregunta.... en la actualidad cuando te piden una pagina con este sistema de login... donde se aloja la base de datos?? en la nube? cuales son las herramientas mas usadas?? capaz esta forma ya caduco ... hablo del desconocimiento
tenia un problema con el login y lo que hice fue dejarme de ostias, lo primero que hice fue quitar la encriptacion del pasword para que me lo guardara normal $stmt->bindParam(':password', $_POST['password']); de esta manera recibe los datos tal cual los escribes a la hora del registro lo segundo fue cambiar la consulta para el login $records = $conn->prepare('SELECT id, email, password FROM users WHERE email = :email && password = :password'); y lo tercero fue quitar tambien la el metodo pasword_veryfy y quedo asi if (count($results) > 0 ) { talvez no quedo con la meor seguridad pero cumple con los requisitos de la tarea, despues miro con mas tiempo como hacerlo bn salu2s
Excelente vídeo, me había frustrado porque no me salia y todo fue por mi sintaxis, en *login.php* estaba escribiendo *$_POTS* en lugar de *$_POST* jajajajajajaja parece una tontería pero siempre causa problemas.
Señor darle like suscribirme y comentar no es suficiebte para agradecerles todas las veces que me han ayufado no solo con el codigo fuente y las explicaciones los admiro mucho y muchas gracias por todo me quito el sombrero ante ustedes
Hola genial vídeo , lo de confirmar la contraseña es sencillo , y también validar que Ya existe el correo . Lo único que veo es que en el archivo index.php se crea una variable $user y luego se realiza un if , para que sea igual a $results no sé por qué , igual funciona sin esa parte del código.
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\xampp\htdocs\php-login\signup.php on line 13........ me sale este mensaje cuando intento crear un usuario
Alguna sugerencia de cómo solucionar esta duda (o validarla): Al momento de que inicio sesión, y le doy atrás (en la flecha que está en la parte superior de la izquierda) se regresa al login, cosa que no debería de suceder, ¿cómo puedo validar esta parte? 😟
Hermano, es muy obvio que copiaste al pie de la letra el video del canal "devdojo". La próxima disimula un poquito que a mis ojos quedaste como un croto total. Devdojo - Create a PHP Login Script ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-bjT5PJn0Mu8.html
*****RESUELTO: Fatal error: Uncaught Error: Call to a member function bindParam() on boolean ***** Y pues un error mas a la colección: Fatal error: Uncaught Error: Call to a member function bindParam() on boolean in /business/signup.php:14 Stack trace: #0 {main} thrown in /business/signup.php on line 14 Y pues, hasta lo que he investigado el bindParam() regresa un valor bool, y si no le digo si es true o false, truena. Intenté ya definir dentro del if del $stmt->execute() un valor true y su resultado, ademas de un valor false y su resultado (los mensajes de" creado", " no creado"), peeero no funciona, el resultado es el mismo error. *****RESUELTO***** Bueno, ha quedado resuelto. La solución viene de un usuario contribuyente en la pag de PHP ( omidbahrami1990 at gmail dot com), la sección es: php.net/manual/es/mysqli.prepare.php#121986 Les comparto una captura de pantalla del código tal cual lo use y confirmé que funciona. Uso PHP 7.x y Linux Ubuntu con XAMPP. drive.google.com/open?id=1te2gwJdTXy1KFfCBq4fk5NT0l38Mca1b
Disculpa, con tu codigo ya me quedo la parte del signup pero me muestra el mismo error del bindParam ahora en login.php podrias proporcionarme alguna informacion por favor? :)
@@nahuelviera235 Consideren que el vídeo es de hace 2 años y que la programación anda en constante evolución, por eso es mas recomendable mirar cursos mas actualizados, de igual forma el vídeo les sirve para aprender, y si miran los comentarios podrán arreglarlo.
Me dio este error en esta linea $records-> bindParam(':Usuario',$_POST['Usuario']); ERROR: Fatal error: Uncaught Error: Call to a member function bindParam() on null in C. ayuda!
Woow.. Este tipo ya no piensa como Humano, es una maquina escribiendo codigo. Creo que piensa en codigo maquina. Que tremendo video de enseñanza no solo de login sino tmb de CSS y como estructurar tus archivos, al menos para novatos como yo.
Buenas tardes, agradesco demasiado tu aporte, estoy ahora buscando la forma de asignar permisos de administrador y de usuario posteriormente quisiera saber si en php puedo asignar una cámara para sacar fotos y hacer un registro en base de datos con foto y huella digital.
A mi me paso lo mismo pero era porque el puerto configurado en mi base de datos era otra, lo solucione haciendo una consulta y cambiando el puerto. SHOW VARIABLES WHERE Variable_name IN('hostname','port') te muestra el host y puerto en SQL (no es que sepa SQL pero googleando se llega a roma)
@@ramrikoholaaa, en phpmyadmin crea un 'id' y lo pones not null auto increment primary key que pongas el id autoincrementable y como primario es importante para que puedas poner miles mas
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\xampp\htdocs\Proyecto egistro.php on line 13 alguien sabe porque me daeste error?
buenas tardes al login me aparece esto Not Found The requested URL was not found on this server. Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
Solo creas un if dentro del if donde compruebas que lo enviado por formularios no esta vacio, donde compare que lo enviado por el imput password sea identico a lo enviado por el imput confirm_password, aunque lo idea allí es que esto fuese corroborado por JS del lado del cliente, para no tener que hacer la petición del server. Algo asi if ($_POST['password'] == $_POST['confirm_password'])
@@Lawrof antes de esto $stmt->execute(), si eso no se cumple no executas la sentencia. Puedes tambier realizar un select donde te diga que si ese Email existe en la base de datos para que no te puedan repetir el email.
@@Lawrof Despues que lo hagas te quedara algo asi: if($verificar_usuario>0){ $message = 'Este usuario ya ha sido registrado'; }else if ($_POST['password'] $_POST['confirm_password']){ $message = 'Las contraseñas no coinciden'; }else{ if ($stmt->execute()) { $message = 'Successfully created new user'; } else { $message = 'Sorry there must have been an issue creating your account'; } } }
buen día fazt una pequeña consulta esulta que he escrito todo tu código tal cual como lo has dado y creado el DB tal cual pero al momento de agregar los datos en el signup siempre me sale el mensaje de ELSE, lo que entiendo que la variable STMT no se esta ejecutando y nose por que, me podrías ayudar con este inconveniente gracias.
Hola me sale este error en el login count(): Parameter must be an array or an object that implements Countable in C:\xampp\htdocs\Quiz2\logear.php on line 13 y no se que es
debes cambiar el nombre de la tabla en la consultas sql, de hay proviene tu error ,ej: insert into users(cuando tu tabla se llama usuarios) por eso los errores de varias personas
Connection Failed: SQLSTATE[HY000] [2002] Connection refused me sale esto, cabe destacar que uso ubuntu server, estoy creando una pagina web, descargue tu proyecto, cree la base de datos igual como tu lo hiciste, pero me sale eso :( alguna ayuda?
gracias buen video, pero lo que no entiendo es porque todos los documentos utilizas con extension php, aunque sea para el index.html, porque estoy intentando poner codigo en php con extension html y no me funciona, porque puede ser, es necesario que toda la paginas sean php??
Excelente vídeo! Yo tengo una duda, si quisiera agregar el campo fecha_registro en tiempo real cuando se crea el usuario, ¿Cómo se codificaría? Saludos!
Puedes hacerlo desde la Db Creas un campo createdAt, a ese le pones el tipo de Dato TIMESTAMP y como dato por default le colocas CURRENT_TIME (o algo así) y no tiene que permitir los valores NULOS. De esta forma tu no tienes que codificar nada, en caunto un usuario se registra, automáticamente se llena ese campo createdAt, este por defecto coloca la fecha y hora exacta en qué el usuario se registró
"Encontré el error, fue que me olvidé de poner la variable de cambio el m allí para diferenciar, en: TitresPilote= :TitresPilote Que en el caso debe ser: TitresPilote= :mTitresPilote se produjo el error, porque no tenía este parámetro establecido." Eso fue una posible solución que encontré en google, me pueden avisar si les funciona, gracias? fuente: pt.stackoverflow.com/questions/67187/erro-pdostatementexecute-sqlstatehy093-invalid-parameter-number
Tengo un problema,funciona todo perfecto,hasta que hago el registro y despues cuando quiero iniciar sesion ,dice que los datos ingresados no existen (los cuales si) y no se como solucionarlo
Puede que la longitud de valores del campo password(en mysql) no sean suficientes para almacenar el PASSWORD_BCRYPT (ya que requiere como minimo de un espacio para 72 caracteres)
Fatal error: Call to undefined function password_hash() in XXXX on line XXX Este error ocurre debido a que la versión que tiene instalada de php es anterior a la del video, lo he solucionado sustituyendo $password = password_hash($_POST['password'], PASSWORD_BCRYPT) por $password = 'mypassword'; $hash = crypt($password); Espero que ayude ;)
gracias, pero aparte de eso me sale otro error a la hora de ingresar no se si tmb te paso ? Fatal error: Call to undefined function password_verify() in C:\wamp\www\myproyects\Login\login.php on line 18
eres un genio bro me ayudo para mi proyecto de residencia jeje practicamente dejaste la plantilla para que metamos nuestro proyecto dentro despues del loggueo Dios te lo pague con muchos hijos saludos
Hey, tengo un problema, para ver si puedes ayudarme. Estoy haciendo una página web y resulta que la parte de html, php, jquery y otras tecnología funcionan bien cuando abro el servidor web (wampserver), el problema está en la parte de css que solo me acepta el estilo una sola vez cuando lo creo por primera vez el archivo css, pero cuando cierro el editor (Visual Studio Code) y lo abro y quiero seguir aplicando estilos o modificar ciertas parte de mi página resulta que no cambia, se queda con el estilo antes de cerrar el editor. Sabes ideas de como solucionarlo ??
Muy bueno tu video, pero me parece muy inseguro hacer esa mezcla de HTML con PHP, ya que cualquiera puede ver el codigo fuente, te hubiese salido mejor hacerlo con AJAX pero bueno cada quien con sus gustos.
como haria si ya tengo una base de datos creada, como hago para usar la misma DB puedo crear otra tabla con los campos q necesita? como se hace la referencia para que me ocupe esa tabla
Hola Fazt, gracias muy buen trabajo, una cosa, así registre usuario y clave, siempre me genera el error "Sorry, those credentials do not match", que puede estar mal?, gracias
Warning: count(): Parameter must be an array or an object that implements Countable in C:\xampp\htdocs\php-login\login.php cuando iniciamos sesion con datos incorrectos, me aparece ese mensaje. a alguien mas?
Like porque explicas bien, eres entretenido; pero me gustaría que no programaras consultas a la base de datos ni reglas de negocio en la vista del usuario. Al final, como desarrolladores, no debemos programar así.
Alguien sabe por que al ejecutar en el login php me marca que los datos no coinciden ya que si estan registrados en la base de datos y se me hace raro por que sigo los pasos al pie de la letra del video