Diferencia entre revisiones de «Usuario:ManuelRomero/php/smarty/login»

De WikiEducator
Saltar a: navegación, buscar
 
(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]]
;Descripcion de la imagen
+
;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 20: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
Icon present.gif
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

TiendaLogin.png

Descripción de la imagen
  1. Login pedirá un usuario y contraseña para validar
  2. Al darle a validar, se validará el usuario contra la base de datos.
  3. 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

TiendaLogin2.png

Descripción de la imagen
  1. El cliente invoca al fichero login.php
  2. Este método solicitará usuario y contraseña visualizando la plantilla login.tpl
  3. Cuando presionemos enviar validará contra la base de datos
  4. Si todo ok, mostrará la plantilla productos.tpl;
  5. 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
  1. DB.php (clase)
  2. login.php (lógica)
  3. productos.php (lógica sin contenido)
  4. 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:
  1. conectar a la base de datos,
  2. realizar una consulta,
  3. 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

DB.png