Muchas gracias amigos, estoy haciendo un software para un colegio y tu vídeo me ha servido de mucho, para el rol del director y el rol de profesores. Gracias sigue así eres el mejor!!!
¡Hola! El tutorial es espectacular, sirve para salvarte la vida en momentos especificos. Sin embargo, testeando el codigo en mi pagina web me di cuenta que cuando metes datos imcompletos o inexistentes de la base de datos en el login e intento entrar... da acceso a la pagina de usuarios, sin importar si los datos existen o no... Por eso, le implemente a tu solucion otro "if" para que el login compruebe que existen datos en la base de datos; en base a eso, ahora si va a diferenciar los administradores y clientes de la base de datos. El codigo es este: if($filas){ if($filas['rolUsuarioFK']==1){ //Admin header("location:ControlPanel.html"); }else if($filas['rolUsuarioFK']==0){ //Cliente header("location:userArea.html"); } }else{ ?> ERROR EN LA AUTENTIFICACION
me da un error Fatal error: Uncaught Error: Class 'Database' not found in C:\xampp\htdocs\guia4y5\login.php:29 Stack trace: #0 {main} thrown in C:\xampp\htdocs\guia4y5\login.php on line 29
@@vidamrr tengo el mismo problema a cual url te refieres si fueras tan amable de responder solo me falta esa parte que que el # quede al momento de ejecutar la acción
Tendría que crear un fichero para cada usuario o hay otra opción porque yo tengo varios usuarios con diferentes roles y me interesa limitar la información que ven cada uno
Tengo una duda o un problema mejor dicho, estoy realizando un proyecto que tenga administrador, analista, clientes, en cuanto a la cuestión de clientes y analistas no solo es uno, son varios y quiero que cada uno vea diferente contenido pero para esto lo quiero implementar en el mismo php (analista.php, clientes.php) no crear muchos archivos sino que en esos mismos cada cliente puede ver el contenido y reitero, cada cliente tiene contenido distinto, se puede???:'c
hola! tengo una duda si en vez de dividirlos por roles los tenemos que dividir individualmente. Guiándome por los ejemplos necesito que cuando se logue juan entre a su seccion donde hay información de el, lo mismo para marcos. Como tendria que ser en ese caso? gracias
En ese caso no necesitas roles Franco, solo hace consultas para traer la información de cada usuario. Los roles se usan cuando los usuarios dependiendo del rol que tienen deben acceder a ciertas páginas pero si los usuarios tienen el mismo rol y solo necesitan ver su información eso se hace con consultas normales
Muy interesante 👌 Hay muchas formas de hacer ésto. Yo lo hice igual con roles pero lo amplíe para relacionar los roles con las URL que se puede invocar con ese rol. De esta manera no tengo hardcoded los roles a las vistas, salvo el rol_id = 0 que es el admin, y puede acceder a todo sin necesidad de especificar todas las URL para él. Quien esté interesado en los detalles puede contactar conmigo ☺️
Error connection: SQLSTATE[HY000] [2002] No se puede establecer una conexión ya que el equipo de destino denegó expresamente dicha conexión. Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\xampp\htdocs\57. roles\terminado\login.php:32 Stack trace: #0 {main} thrown in C:\xampp\htdocs\57. roles\terminado\login.php on line 32
Hola , como puedo configurar un botón de login para que un usuario que entre a su cuenta y modifique sus datos. Por ejemplo que ingresen su curp y al entrar desplieguen sus datos, nombre domicilio etc.. Y puedan modificar ellos mismos sus datos. (Tengo una base de datos de 800 usuarios, cuyos datos son curp, nombre, fecha de nacimiento etc..) solo he logrado que se logueen, pero para ir al usuario específico, lo tengo que buscar por su curp...nuevamente. Gracias de antemano
amigo me aparece este erros: Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'from login WHERE usuario= ? AND clave= ?' at line 1' in C:\xampp\htdocs\astefir\index.php:30 Stack trace: #0 C:\xampp\htdocs\astefir\index.php(30): PDO->prepare('SELECT from log...') #1 {main} thrown in C:\xampp\htdocs\astefir\index.php on line 30 espero su pronta respuesta
un cordial saludo muy bueno tu proyecto podrias incluir en el proyecto como hacer para que aparesca en el menu de administrador que usuarios estan conectado y los no conectado gracias
oye es q me aparece este error y no se como solucionarlo Fatal error: Uncaught Error: Call to a member function connect() on string in C:\xampp\htdocs\prueba\login.php:24 Stack trace: #0 {main} thrown in C:\xampp\htdocs\prueba\login.php on line 24
Buenas noches, alguien que me pueda colaborar por favor, me sale el siguiente error, muchas gracias. Parse error: syntax error, unexpected 'session_start' (T_STRING) in C:\xampp\htdocs\Nuevap\login.php on line 4
PDO contiene soporte para múltiples sistemas de bases de datos, con lo que es más facil en un futuro migrar la base de datos a otro sistema (SQL Server, Oracle, PostgreeSQL, etc). Si usas mysqli y deseas migrar a otro sistema debes reescribir prácticamente todo el código y los queries.
me podias ayudar, ya hice todo y cuando lo ejecuto me envia este error: Error connection: SQLSTATE[HY000] [2054] The server requested authentication method unknown to the client.
hola, saludos Tengo una duda o problema, trato de crear la llave foránea y me sale un error con todas las acciones alternadas e iguales, es este (ayudaaa): Error consulta SQL: MySQL ha dicho: #1452 - Cannot add or update a child row: a foreign key constraint fails (`herramientas`.`#sql-25e_1d9`, CONSTRAINT `fosa` FOREIGN KEY (`rol_id`) REFERENCES `roles` (`id`))
La llave foránea la tienes que agregar cuando creas la tabla porque de otra forma la tabla no tiene forma de saber si ya tienes datos y si cumplen con la llave foránea
@@vidamrr Lo resolvi con un return $nombre_de_la_conexion; Y gracias por el video, agradezco si me explicas un poco que signofica esta linea o en que influye en el codigo $query->execute(['usuario'=> $usuario, 'contrasena' =>$contrasena]);
Hola buenas madrugadas soy un estuidante que no puede hacer este login, pero la solucion a tu problema es sencilla, con solo buscar en google como crear una llave foranea en mysql te aparecera: alter table "TALBA" add constraint "NOMBRE DE LA LLAVE FORANEA" foreign key ("CAMPO DE LA TABLA") references "LA OTRA TABLA"("EL OTRO CAMPO");
@@cesarjaviersanchezhernande6349 lo supuse, pero ya me di cuenta que no voy a usar la llave foranea, ya hice mis propios roles, cree diferentes tablas, unas tablas para admins, y otras para los usuarios, luegopara el login le puse un INNER JOIN para asi conectar las dos tablas a mi login y que pueda leer las dos tablas en una sola consulta al hacer el login
Que buen tutorial, pero tengo un error (Parse error: syntax error, unexpected '$options' (T_VARIABLE) in C:\xampp\htdocs\bootstrap\conexion.php on line 22)
El vídeo no está bien explicado del todo, para mí ha sido una auto-explicación, yo creo que uno cuando tiene la buena fe de hacer algo, mejor hacerlo bien o no hacerlo !
LA VERDAD NO SABES EXPLICAR, CREES QUE TRATAS CON INGENIEROS PERO EN REALIDAD SOMOS LA MAYORIA NOVATOS EN EL TEMA, INTENTA HACER LAS COSAS MÁS CALMADO Y EXPLICAR UNA A UNA PARA PODER APRENDER Y NO SOLO COPIAR LO QUE TU ESCRIBES.
no entiendo cuando haces el prepare() con el SELECT a la tabla, que es el ":username y :password"??? de donde se supone que viene eso? osea, no entiendo que es el ":" no es una variable entonces que es?
Y si quiero que mi usuario Colaborador tenga acceso a Varias Vistas? porque de la manera en que esta hecho solo se puede dirigir a una sola pagina según el Rol :(
hola no sé si todavía revisas este canal pero, estoy intentando validar el login con una clave encriptada y al momento de ingresar a row[2] me dice que es un booleano y no un arreglo y no sé como arreglarlo intenté muchas cosas y nada resulta, si lo vez necesito una ayuda gracias y buen code.
La parte de database.php no estuvo muy clara, no se vio muy bien una parte del código de este archivo y no hubo ninguna explicación sobre este, luego de eso, todo muy bien.
una consulta, como jalo el dato del nombre de un usuario ya inciado sesion? osea ya inicio sesion el usuario y yo quiero que diga " bienvenido (nombre del usuario)
Hize todo bien pero no redirige en el header que le puse solo manda la informacion pero no me manda a la pagina que quiero y tampoco me sale error alguien mas le paso?
tengo un error: Error connection: SQLSTATE[HY000] [2019] Unknown character set Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\xampp\htdocs\consultorio\programa\index.php:32 Stack trace: #0 {main} thrown in C:\xampp\htdocs\consultorio\programa\index.php on line 32
Amigo una pregunta que pasa si quiero que cuando me mande al home de dicho usuario me aparezca tambien el nombre de la persona como "Bienvenido y el nombre"? Espero tu respuesta buen video
Lo que puedes hacer es con la sesión cargar la info en tu vista, si guardas en la sesión el id del usuario puedes hacer una consulta y mostrar el nombre
@@AlbertoJGG Puedes crear un archivo php en donde almacenes una función que cargue los datos que deseas traer y después llamarla en la página donde deseas utilizar los datos, te pongo un ejemplo sencillo: el nombre del archivo puede ser el que gustes, yo lo tengo como "funcion.php", en donde la varialble $mysqli es donde almaceno la conexión a la base de datos. Después en mi archivo php donde quiero mostrar el nombre del usuario que se logueó hago lo siguiente: Y para mostrarlo , por ejemplo el email de mi usuario: TU EMAIL ES: TU NOMBRE ES: En la session obtuve el id de mi usuario para identificarlo al momento de loguerase. Espero te funcione o te de una idea de cómo poder realizarlo. Saludos.
hola, yo intente hacer exactamente el mismo codigo y en la linea 30, me salta el error con New Database, no logro saber de donde proviene, tiene algo que ver con respecto a la misma base de datos en phpmyadm?
Y si hay un tipo de usuarios que es invitado y que no necesita registrarse para visitar la página pero sin embargo algunas vistas las ve diferentes como se haría? Porque no se puede recuperar el rol de un usuario que no ha iniciado sesión
gracias por el aporte hermano, y alo implemente con php pdoy corrio al 100, una pregunta para agregarle hash al password, prodras continuar con el ejemplo gracias bro
buens noches disculpa se ve qe sabes mucho no se si me puedas ayudar mi pregunta es que significa que declares if(!isset($variable)) asi el isset con el signo ( ! ) ya busque pero no lo encuntro por ningun lado ya puse formas de declara isset en php y nada porfavor te agradeceria si me explicas que diferencia hay declarar asi !isset o declararlo sin ese isset la verdad ya mas omenos vi en un prgrma que hice pero no me queda muy claro y si vi que hace una difernecia peor no se muy bien l atoria gracias
Hey una pregunta como le hago juntar un archivo python y un php para hacer un inicio de sesión? Estoy intentando hacer un expediente para mi escuela pero el inicio de sesión solo con python y html con sqlit es muy difícil de entender
Muchas gracias, le hice algunas adaptaciones para que en el menu principal me mostrara un enlace para los administradores y otro a los usuarios, con unas adaptaciones tiene mucho potencial, gracias por tu video!
@@andresfalco7078 El documento esta en su repositorio, llevo rato viendo sus tutoriales, y no he encontrado el video donde lo explica, pero te dejo el link: github.com/marcosrivasr/Curso-PHP-MySQL/blob/master/57.%20roles/terminado/database.php
Qué necesito hacer para trabajar con otra base de datos? Ya cambié el nombre de la base de datos dentro del archivo database.php, pero al momento de usar el formulario simplemente no pasa nada, como que no realiza la consulta en la base de datos o algo así. Qué mas debo de hacer?
Sólo defines casos de uso en tu código, con un arreglo metes los roles y las páginas de acceso, así cuando autentiques solo muestras links hacia los sitios permitidos, y válidas que el sitio al que se entre tenga los privilegios
Bro dos cosas, una Gracias no sabes cuantos dias buscaba esto, la segunda es por que en la clase de login de usuario hiciste 6 archivos¡¡¡ y aqui en uno solo metiste casi todo lo del login pero bueno amix gracais, por cierto veia otros videos pero su forma de conectarse a la base de de datos funcionaba bien en localhost en xammp pero no en mi servidor en internet , la tuya de inmediato sin problemas .
Hola Maria José, lo puedes hacer primero almacenando en una variable de sesión el nombre del usuario $_SESSION'nombre'] = tudatoenBD, y después ya nada mas imprimes $_SESSION['nombre'] en cualquier lugar que quieras mostrar su nombre.
@@solestrada3647 muchas gracias sol! eso ya lo había solucionado. Por casualidad tu sabes por qué al poner dos usuarios con el mismo rol me muestra siempre los datos del primer usuario con ese rol? Saludos.
Disculpa tengo una duda en mi base de datos tengo una tabla con roles relacionadas de la misma manera que tu la tienes, tengo Administrador, estudiante y motorista mi duda es de que si hay alguna manera de que cuando elija el rol de administrador en mi tabla secundaria le indique a esa tabla que no me llene ningún valor a esa columna especifica solo en el caso del rol de Administrador..... De antemano muchas gracias
Exelente video pero ese fracmento de codigo en las vistas para redirigir si no hay sesión se pone en todas las paginas que sean por ejemplo del admin, o abra una forma mas facil como desde el controller, u otra forma????
excelente video vida. pero en una ocasion haciendo mi sistema para graduarme me pidieron que el administrador tambien pudiera entrar como representante. era un sistema escolar y el administrador tenia que entrar como profesor(admin) y tambien si asi lo queria podia elegir entrar como representante(colab) como lo harias tu?
se crean dos cuentas, una como admin y otra como representante y en el loginr se le da a escoger en cúal quiere entrar, aunque igual depende cuál es el objetivo de separar los roles en vez de juntarnos
Hola cordial saludo, muchas gracias por el tutorial , pero quiero pedirte por favor ayuda sobre el siguiente error que me imprime el complador: Error no detectado: Llame a una función miembro prepare () en nulo y dicha linea de codigo es la siguiente: $query=$db->connect()->prepare('SELECT usuario,contrasena FROM usuarios WHERE usuario =\"$usuario\" AND contrasena = \"$contrasena\";'); Gracias anticipadas.