Diferencia entre revisiones de «Usuario:ManuelRomero/php/smarty/login»
De WikiEducator
< Usuario:ManuelRomero | php
(20 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 1: | Línea 1: | ||
{{:Usuario:ManuelRomero/php/smarty/tienda/nav}} | {{:Usuario:ManuelRomero/php/smarty/tienda/nav}} | ||
__NOTOC__ | __NOTOC__ | ||
+ | <div class="parrafo"> | ||
+ | ===Probando el ejemplo=== | ||
+ | *Puedes ver esta parte del ejercicio ejecutándose en la web: | ||
+ | http://manuel.infenlaces.com/dwes/practicas/tienda/1.-%20TiendaLogin/login.php | ||
+ | {{Tip| usuario '''''dwes''''' y pass '''''abc123.'''''}} | ||
+ | |||
===La lógica=== | ===La lógica=== | ||
*Generaremos el fichero '''''login.php''''' | *Generaremos el fichero '''''login.php''''' | ||
Línea 7: | Línea 13: | ||
*La siguiente imagen muestra un caso de uso de este escenario | *La siguiente imagen muestra un caso de uso de este escenario | ||
[[Archivo:tiendaLogin.png]] | [[Archivo:tiendaLogin.png]] | ||
− | ; | + | ;Descripción de la imagen |
#Login pedirá un usuario y contraseña para validar | #Login pedirá un usuario y contraseña para validar | ||
#Al darle a validar, se validará el usuario contra la base de datos. | #Al darle a validar, se validará el usuario contra la base de datos. | ||
Línea 21: | Línea 27: | ||
#Si todo ok, mostrará la plantilla productos.tpl; | #Si todo ok, mostrará la plantilla productos.tpl; | ||
#Si no se ha validado, mostrará la plantilla login.tpl con el error encontrado | #Si no se ha validado, mostrará la plantilla login.tpl con el error encontrado | ||
+ | *Para implementar esta parte del proyecto necesitaremos desarrollar los siguientes ficheros | ||
+ | #DB.php (clase) | ||
+ | #login.php (lógica) | ||
+ | #productos.php (lógica sin contenido) | ||
+ | #login.tpl (presentacion). | ||
+ | |||
+ | ===Desarrollando el código=== | ||
+ | ;DB.php | ||
+ | *Esta es una clase que mantendrá todo el acceso a la base de datos | ||
+ | *De momento solo necesito un método de validar el usuario | ||
+ | *Este método tendrá que hacer 3 cosas: | ||
+ | #conectar a la base de datos, | ||
+ | #realizar una consulta, | ||
+ | #verificar que la consulta contenga un registro (OK! Usuario existe), o no (Usuario no registrado) | ||
+ | *Seguramente otros métodos tengan que hacer estas acciones (conectar, ejecutar consultas, …), por lo que estas acciones será métodos privados de la clase. | ||
+ | *Para poder pasar parámetros a la hora de ejecutar la consutla usaremos '''''PDO''''' en lugar de '''''mysqli''''' | ||
+ | [[Archivo:DB.png]] | ||
+ | </div> |
Última revisión de 21:38 4 feb 2020
Probando el ejemplo
- Puedes ver esta parte del ejercicio ejecutándose en la web:
http://manuel.infenlaces.com/dwes/practicas/tienda/1.-%20TiendaLogin/login.php
Tip: usuario dwes y pass abc123.
La lógica
- Generaremos el fichero login.php
- Su función es autentificar al usuario de la aplicación web.
- Todos los usuarios de la aplicación deberán autentificarse utilizando esta página antes de poder acceder al resto de páginas.
- La siguiente imagen muestra un caso de uso de este escenario
- Descripción de la imagen
- Login pedirá un usuario y contraseña para validar
- Al darle a validar, se validará el usuario contra la base de datos.
- Si no es ok mostrará un error y seguiremos en login.php, si es correcto iremos a productos.php
Para este escenario necesitaremos los siguientes ficheros según vemos en la imagen
- Descripción de la imagen
- El cliente invoca al fichero login.php
- Este método solicitará usuario y contraseña visualizando la plantilla login.tpl
- Cuando presionemos enviar validará contra la base de datos
- Si todo ok, mostrará la plantilla productos.tpl;
- Si no se ha validado, mostrará la plantilla login.tpl con el error encontrado
- Para implementar esta parte del proyecto necesitaremos desarrollar los siguientes ficheros
- DB.php (clase)
- login.php (lógica)
- productos.php (lógica sin contenido)
- login.tpl (presentacion).
Desarrollando el código
- DB.php
- Esta es una clase que mantendrá todo el acceso a la base de datos
- De momento solo necesito un método de validar el usuario
- Este método tendrá que hacer 3 cosas:
- conectar a la base de datos,
- realizar una consulta,
- verificar que la consulta contenga un registro (OK! Usuario existe), o no (Usuario no registrado)
- Seguramente otros métodos tengan que hacer estas acciones (conectar, ejecutar consultas, …), por lo que estas acciones será métodos privados de la clase.
- Para poder pasar parámetros a la hora de ejecutar la consutla usaremos PDO en lugar de mysqli