SlideShare a Scribd company logo
1 of 8
Programación Orientada a Objetos II
Yan David Burbano Amariles
PROGRAMACIÓN ORIENTADA A OBJETOS II
Tomando como base el documento Programación Orientada a Objetos I
realizaremos un ejemplo más real de cómo aplicar este paradigma de
programación utilizando el lenguaje de programación PHP.
Realizaremos el ejemplo para validar sesión de usuario
EJEMPLO
Creamos nuestra carpeta del proyecto en nuestro servidor de aplicaciones,
para este caso utilizaremos EasyPHP.
Crearemos dentro de mi carpeta del proyecto los archivos con extensión PHP.
1. index.php
2. conexiondb.php
3. validausuario.php
4. inicio.php
El archivo index.php contiene el html del formulario donde el usuario puede
iniciar sesión, es la página que recibe al usuario por primera vez.
El archivo conexiondb.php contiene los datos de conexión a la base de datos,
el nombre del servidor, nombre de usuario y la contraseña (si la tiene) para la
base de datos.
El archivo validausuario.php contiene la clase que recibe los datos pero
utilizando en esta oportunidad POO.
El inicio viene siendo el html que recibe o que ve el usuario una vez se haya
iniciado sesión de forma satisfactoria.
Programación Orientada a Objetos II
Yan David Burbano Amariles
index.php
Este código me muestra una página así:
Importante resaltar varias cosas en el archivo index.php
Lo primero es que utilizaremos el método POST para el envío de datos. El
action nos indica que vamos a enviar dichos datos a la clase llamada
validasesión.php.
Programación Orientada a Objetos II
Yan David Burbano Amariles
conexiondb.php
Más adelante le agregaremos algo de seguridad a este archivo para que no
pueda ser accedido por nadie, ya que son datos muy importantes y
confidenciales. Por esta vez y para este ejemplo nos sirve que sea así.
Vamos a definir a continuación nuestro clase que recibe los datos pero
utilizando el paradigma de programación orientada a objetos.
Programación Orientada a Objetos II
Yan David Burbano Amariles
validausuario.php
Varias cosas para explicar:
Si vamos a iniciar sesión con un login y password debemos crear sesiones
para cuando el usuario sea correctamente validado. En este caso (PHP) las
sesiones se deben iniciar primero y cuando el usuario cierre su sesión se
deben destruir.
Para iniciar sesión se utiliza el session_start(); en todos los archivos o clases
que utilicen la sesión o en todas las clases que para poder acceder el usuario
debe haber iniciado satisfactoriamente una sesión.
Programación Orientada a Objetos II
Yan David Burbano Amariles
Para destruir la sesión se utiliza session_destroy(); pero este ítem lo veremos
más adelante, por ahora utilizaremos el iniciar sesión.
Utilizamos el error_reporting(E_ALL & ~E_NOTICE); para evitar que se nos
muestre notificaciones que parecen errores pero que no lo son pero que son
incomodos para que el usuario final los visualice.
Colocamos una palabra reservada llamada include_once la cual nos permite
llamar el contenido de un clase independiente. En este caso nos será de
mucha ayuda ya que solo debemos colocar ese include_once en todas las
clases donde requiera la base de datos sin necesidad de colocar el scritp
completo de conexión lo cual nos ahorra tiempo.
Luego aplicamos lo básico para la creación de la clase con el objeto y su
utilización. Pero vamos a explicarlo con calma y sin dolor…
Nuestra clase se llamara validacionLogin. Tendremos un solo método dentro
de mi clase que tendrá el único objetivo de consultar si existe un usuario con
los parámetros ingresados y si es válido que me redirija a un página de
bienvenida y si no es valido que emita un mensaje donde diga que no es válido
el login o el password.
En mi método recibo dos parámetros los cuales son $usuario y $password
Esos datos lo recibo fuera de mi clase validacionLogin, pero ya lo veremos con
más detalle.
Tenemos una sentencia sql la cual llamamos en mi variable definida como
$SQL, no tiene que llamarse así necesariamente, usted le puede colocar el
nombre que desee, tal cual como se definen las variables. Luego por medio de
una variable definida como $result sacamos los atributos de la consulta, en
este caso yo defino una variable llamada $var1 que tendrá el valor del nombre
Programación Orientada a Objetos II
Yan David Burbano Amariles
de mi tabla usuariosistema de mi base de datos. Luego por medio de un
condicional if verifico que si esa variable es vacia quiere decir que no el usuario
y la clave o ambas no coinciden y por lo tanto deducimos que el usuario no
existe. En cambio, si sucede al contrario quiere decir que la consulta fue
exitosa y por lo tanto la validación se realizó satisfactoriamente.
Si la validación es satisfactoria utilizo algo llamado Variables de Sesión, que
son variables cuyo contenido se mantendrá vigente mientras dure la sesión que
se inició.
Para definir las variables de sesión se utiliza la siguiente sintaxis.
$_SESSION['nombreSESSION'] = $result['nombre'];
A mi variable de sesión le estoy asignado el valor de mi variable.
Luego redirijo al usuario a la página principal de mi aplicación header
("location: inicio.php");
Fuera de la clase y por el método post recibo los dos datos enviados por medio
del formulario de nuestro archivo llamado index.php
Esas dos variables recibidas son las que yo envio por parámetros a mi método
que se encarga de validar el usuario. Por eso por medio de mi objeto llamado
$ObjPersona le envio los dos parámetros y son los dos parámetros que yo
utilizo para mi consulta.
Programación Orientada a Objetos II
Yan David Burbano Amariles
Es importante aclarar que debemos tener creada ya nuestra base de datos que
según mi ejemplo se llama db_ejemploPOO y mi tabla llamada usuariossistema
con los campos que se muestran a continuación.
Y claro que ya tenemos usuarios creados previamente para probar nuestro
ejemplo.
Y finalmente nuestro archivo donde entra en caso de haber sido validado
satisfactoriamente. Utilizamos la variable de sesión creada en nuestra clase.
Luego explicaremos como cerrar sesiones y como colocar más seguridad para
que no todos puedan ingresar a ciertas páginas de nuestra APP, por ahora es
una explicación básica para comprender el concepto de POO en un ejemplo
real y sencillo.
Programación Orientada a Objetos II
Yan David Burbano Amariles
Espero les haya sido de mucha utilidad.
Hasta la próxima
Twitter: @ohohdigoyo
www.facebook.com/edufinderpage
Facebook: facebook.com/ybrbn

More Related Content

What's hot

Sql injection
Sql injectionSql injection
Sql injection
Minoxx
 
Inyeccion sql
Inyeccion sqlInyeccion sql
Inyeccion sql
obispo28
 
Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2
mtemarialuisa
 

What's hot (20)

Guiapractica de bd completa
Guiapractica de bd completaGuiapractica de bd completa
Guiapractica de bd completa
 
Guia herramientas de bd
Guia herramientas de bdGuia herramientas de bd
Guia herramientas de bd
 
Guia programacionwebbasicophp
Guia programacionwebbasicophpGuia programacionwebbasicophp
Guia programacionwebbasicophp
 
Inyección_sql
Inyección_sqlInyección_sql
Inyección_sql
 
Guía PHP Orientado a Objeto con MVC
Guía PHP Orientado a Objeto con MVC Guía PHP Orientado a Objeto con MVC
Guía PHP Orientado a Objeto con MVC
 
Asp
AspAsp
Asp
 
Sql injection
Sql injectionSql injection
Sql injection
 
Inyeccion sql
Inyeccion sqlInyeccion sql
Inyeccion sql
 
Connection
ConnectionConnection
Connection
 
Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0Seguridad Base de Datos sql injection v1.0
Seguridad Base de Datos sql injection v1.0
 
Servicios web
Servicios webServicios web
Servicios web
 
Guía Practica conexión BD 2021
Guía Practica conexión BD  2021Guía Practica conexión BD  2021
Guía Practica conexión BD 2021
 
Guía herramientas de BD PHP
Guía herramientas de BD PHPGuía herramientas de BD PHP
Guía herramientas de BD PHP
 
Inyecciones SQL
Inyecciones SQLInyecciones SQL
Inyecciones SQL
 
Jasreport
JasreportJasreport
Jasreport
 
Trabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserverTrabajo de base de datos en sqlserver
Trabajo de base de datos en sqlserver
 
Practica9 bases de datos
Practica9 bases de datosPractica9 bases de datos
Practica9 bases de datos
 
Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2Manual Netbeans Bases Datos2
Manual Netbeans Bases Datos2
 
Android Base de Datos
Android Base de DatosAndroid Base de Datos
Android Base de Datos
 
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control ToolkitDesarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
Desarrollo de Aplicaciones con Microsoft Ajax 1.0 y Ajax Control Toolkit
 

Viewers also liked (13)

Proyecto ritrick
Proyecto ritrickProyecto ritrick
Proyecto ritrick
 
Conceptos
ConceptosConceptos
Conceptos
 
Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql
Sesion Nº 08 - Libreria Online En Php & Introduccion A MysqlSesion Nº 08 - Libreria Online En Php & Introduccion A Mysql
Sesion Nº 08 - Libreria Online En Php & Introduccion A Mysql
 
Ejemplo de mostrar datos (Sin paginación)
Ejemplo de mostrar datos (Sin paginación)Ejemplo de mostrar datos (Sin paginación)
Ejemplo de mostrar datos (Sin paginación)
 
Ejemplos de php_mysql
Ejemplos de php_mysqlEjemplos de php_mysql
Ejemplos de php_mysql
 
tutorial de slide.com
tutorial de slide.comtutorial de slide.com
tutorial de slide.com
 
Consultas multiples
Consultas multiplesConsultas multiples
Consultas multiples
 
Presentación Curso Diseño y Desarrollo Web Avanzado
Presentación Curso Diseño y Desarrollo Web AvanzadoPresentación Curso Diseño y Desarrollo Web Avanzado
Presentación Curso Diseño y Desarrollo Web Avanzado
 
Proyecto, PHP y MySQL
Proyecto, PHP y MySQLProyecto, PHP y MySQL
Proyecto, PHP y MySQL
 
Manual de php con ejercicios
Manual de php con ejerciciosManual de php con ejercicios
Manual de php con ejercicios
 
ejercicios php rfo
ejercicios php rfoejercicios php rfo
ejercicios php rfo
 
Iniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQLIniciación PHP 5. PHP y MySQL
Iniciación PHP 5. PHP y MySQL
 
Ejercicio de PHP, MySQL y Apache
Ejercicio de PHP, MySQL y ApacheEjercicio de PHP, MySQL y Apache
Ejercicio de PHP, MySQL y Apache
 

Similar to Programación orientada a objetos II

Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docx
ssuser2e6b96
 
Php orientado a_objetos
Php orientado a_objetosPhp orientado a_objetos
Php orientado a_objetos
Jose Ney Quil
 
Joomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensionesJoomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensiones
deivit86
 

Similar to Programación orientada a objetos II (20)

Ejercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docxEjercicio de automatizacion IntelliJ+reporte.docx
Ejercicio de automatizacion IntelliJ+reporte.docx
 
Validación de usuarios y protección de páginas web mediante SESIONES
Validación de usuarios y protección de páginas web mediante SESIONESValidación de usuarios y protección de páginas web mediante SESIONES
Validación de usuarios y protección de páginas web mediante SESIONES
 
Funciones
FuncionesFunciones
Funciones
 
Php orientado a_objetos
Php orientado a_objetosPhp orientado a_objetos
Php orientado a_objetos
 
Lab herencia
Lab herenciaLab herencia
Lab herencia
 
Seguridad en access
Seguridad en accessSeguridad en access
Seguridad en access
 
3. consultar datos
3.  consultar datos3.  consultar datos
3. consultar datos
 
284
284284
284
 
Programación de códigos en PHP
Programación de códigos en PHPProgramación de códigos en PHP
Programación de códigos en PHP
 
A tutor
A tutorA tutor
A tutor
 
la mejor forma de Conectar c# con mysql con archivos de configuracion
 la mejor forma de Conectar c# con mysql con archivos de configuracion  la mejor forma de Conectar c# con mysql con archivos de configuracion
la mejor forma de Conectar c# con mysql con archivos de configuracion
 
Manual php completo by_ desarrolloweb
Manual php completo by_ desarrollowebManual php completo by_ desarrolloweb
Manual php completo by_ desarrolloweb
 
APIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptxAPIREST LARAVEL Y PHP.pptx
APIREST LARAVEL Y PHP.pptx
 
Tema 7
Tema 7Tema 7
Tema 7
 
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdfAsegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
Asegurando tus APIs Explorando el OWASP Top 10 de Seguridad en APIs.pdf
 
Guiajquery
GuiajqueryGuiajquery
Guiajquery
 
Para
ParaPara
Para
 
Para
ParaPara
Para
 
Google apps engine
Google apps engineGoogle apps engine
Google apps engine
 
Joomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensionesJoomladay 2008 Madrid - desarrollo de extensiones
Joomladay 2008 Madrid - desarrollo de extensiones
 

More from yanburbano

CURRICULO COMO CAMPO Y COMO ASUNTO PEDAGOGICO, SOCIAL, CULTURAL Y POLITICO
CURRICULO COMO  CAMPO Y COMO ASUNTO PEDAGOGICO, SOCIAL, CULTURAL  Y POLITICOCURRICULO COMO  CAMPO Y COMO ASUNTO PEDAGOGICO, SOCIAL, CULTURAL  Y POLITICO
CURRICULO COMO CAMPO Y COMO ASUNTO PEDAGOGICO, SOCIAL, CULTURAL Y POLITICO
yanburbano
 
Mapa Conceptual
Mapa ConceptualMapa Conceptual
Mapa Conceptual
yanburbano
 
Actualizar datos de una tabla. MYSQL y PHP
Actualizar datos de una tabla. MYSQL y PHPActualizar datos de una tabla. MYSQL y PHP
Actualizar datos de una tabla. MYSQL y PHP
yanburbano
 

More from yanburbano (15)

vAplicación parte 1
vAplicación parte 1vAplicación parte 1
vAplicación parte 1
 
Curso php - capitulo 2
Curso php - capitulo 2Curso php - capitulo 2
Curso php - capitulo 2
 
Curso HTML desde Cero - Capítulo 1
Curso HTML desde Cero - Capítulo 1Curso HTML desde Cero - Capítulo 1
Curso HTML desde Cero - Capítulo 1
 
Curso php - capitulo 1 (introducción)
Curso php - capitulo 1 (introducción)Curso php - capitulo 1 (introducción)
Curso php - capitulo 1 (introducción)
 
Propuesta de aula
Propuesta de aulaPropuesta de aula
Propuesta de aula
 
CURRICULO COMO CAMPO Y COMO ASUNTO PEDAGOGICO, SOCIAL, CULTURAL Y POLITICO
CURRICULO COMO  CAMPO Y COMO ASUNTO PEDAGOGICO, SOCIAL, CULTURAL  Y POLITICOCURRICULO COMO  CAMPO Y COMO ASUNTO PEDAGOGICO, SOCIAL, CULTURAL  Y POLITICO
CURRICULO COMO CAMPO Y COMO ASUNTO PEDAGOGICO, SOCIAL, CULTURAL Y POLITICO
 
Conceptos
ConceptosConceptos
Conceptos
 
Conceptos
ConceptosConceptos
Conceptos
 
Mapa Conceptual
Mapa ConceptualMapa Conceptual
Mapa Conceptual
 
Tutorial efecto tipográfico
Tutorial efecto tipográficoTutorial efecto tipográfico
Tutorial efecto tipográfico
 
Actualizar datos de una tabla. MYSQL y PHP
Actualizar datos de una tabla. MYSQL y PHPActualizar datos de una tabla. MYSQL y PHP
Actualizar datos de una tabla. MYSQL y PHP
 
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
PROGRAMACIÓN ORIENTADA A OBJETOS I (PHP)
 
Efecto imagen dibujada a lápiz
Efecto imagen dibujada a lápizEfecto imagen dibujada a lápiz
Efecto imagen dibujada a lápiz
 
Guardar en base de datos MySQL desde HTML con PHP.
Guardar en base de datos MySQL desde HTML con PHP.Guardar en base de datos MySQL desde HTML con PHP.
Guardar en base de datos MySQL desde HTML con PHP.
 
Introducción a programación con PHP
Introducción a programación con PHPIntroducción a programación con PHP
Introducción a programación con PHP
 

Programación orientada a objetos II

  • 1. Programación Orientada a Objetos II Yan David Burbano Amariles PROGRAMACIÓN ORIENTADA A OBJETOS II Tomando como base el documento Programación Orientada a Objetos I realizaremos un ejemplo más real de cómo aplicar este paradigma de programación utilizando el lenguaje de programación PHP. Realizaremos el ejemplo para validar sesión de usuario EJEMPLO Creamos nuestra carpeta del proyecto en nuestro servidor de aplicaciones, para este caso utilizaremos EasyPHP. Crearemos dentro de mi carpeta del proyecto los archivos con extensión PHP. 1. index.php 2. conexiondb.php 3. validausuario.php 4. inicio.php El archivo index.php contiene el html del formulario donde el usuario puede iniciar sesión, es la página que recibe al usuario por primera vez. El archivo conexiondb.php contiene los datos de conexión a la base de datos, el nombre del servidor, nombre de usuario y la contraseña (si la tiene) para la base de datos. El archivo validausuario.php contiene la clase que recibe los datos pero utilizando en esta oportunidad POO. El inicio viene siendo el html que recibe o que ve el usuario una vez se haya iniciado sesión de forma satisfactoria.
  • 2. Programación Orientada a Objetos II Yan David Burbano Amariles index.php Este código me muestra una página así: Importante resaltar varias cosas en el archivo index.php Lo primero es que utilizaremos el método POST para el envío de datos. El action nos indica que vamos a enviar dichos datos a la clase llamada validasesión.php.
  • 3. Programación Orientada a Objetos II Yan David Burbano Amariles conexiondb.php Más adelante le agregaremos algo de seguridad a este archivo para que no pueda ser accedido por nadie, ya que son datos muy importantes y confidenciales. Por esta vez y para este ejemplo nos sirve que sea así. Vamos a definir a continuación nuestro clase que recibe los datos pero utilizando el paradigma de programación orientada a objetos.
  • 4. Programación Orientada a Objetos II Yan David Burbano Amariles validausuario.php Varias cosas para explicar: Si vamos a iniciar sesión con un login y password debemos crear sesiones para cuando el usuario sea correctamente validado. En este caso (PHP) las sesiones se deben iniciar primero y cuando el usuario cierre su sesión se deben destruir. Para iniciar sesión se utiliza el session_start(); en todos los archivos o clases que utilicen la sesión o en todas las clases que para poder acceder el usuario debe haber iniciado satisfactoriamente una sesión.
  • 5. Programación Orientada a Objetos II Yan David Burbano Amariles Para destruir la sesión se utiliza session_destroy(); pero este ítem lo veremos más adelante, por ahora utilizaremos el iniciar sesión. Utilizamos el error_reporting(E_ALL & ~E_NOTICE); para evitar que se nos muestre notificaciones que parecen errores pero que no lo son pero que son incomodos para que el usuario final los visualice. Colocamos una palabra reservada llamada include_once la cual nos permite llamar el contenido de un clase independiente. En este caso nos será de mucha ayuda ya que solo debemos colocar ese include_once en todas las clases donde requiera la base de datos sin necesidad de colocar el scritp completo de conexión lo cual nos ahorra tiempo. Luego aplicamos lo básico para la creación de la clase con el objeto y su utilización. Pero vamos a explicarlo con calma y sin dolor… Nuestra clase se llamara validacionLogin. Tendremos un solo método dentro de mi clase que tendrá el único objetivo de consultar si existe un usuario con los parámetros ingresados y si es válido que me redirija a un página de bienvenida y si no es valido que emita un mensaje donde diga que no es válido el login o el password. En mi método recibo dos parámetros los cuales son $usuario y $password Esos datos lo recibo fuera de mi clase validacionLogin, pero ya lo veremos con más detalle. Tenemos una sentencia sql la cual llamamos en mi variable definida como $SQL, no tiene que llamarse así necesariamente, usted le puede colocar el nombre que desee, tal cual como se definen las variables. Luego por medio de una variable definida como $result sacamos los atributos de la consulta, en este caso yo defino una variable llamada $var1 que tendrá el valor del nombre
  • 6. Programación Orientada a Objetos II Yan David Burbano Amariles de mi tabla usuariosistema de mi base de datos. Luego por medio de un condicional if verifico que si esa variable es vacia quiere decir que no el usuario y la clave o ambas no coinciden y por lo tanto deducimos que el usuario no existe. En cambio, si sucede al contrario quiere decir que la consulta fue exitosa y por lo tanto la validación se realizó satisfactoriamente. Si la validación es satisfactoria utilizo algo llamado Variables de Sesión, que son variables cuyo contenido se mantendrá vigente mientras dure la sesión que se inició. Para definir las variables de sesión se utiliza la siguiente sintaxis. $_SESSION['nombreSESSION'] = $result['nombre']; A mi variable de sesión le estoy asignado el valor de mi variable. Luego redirijo al usuario a la página principal de mi aplicación header ("location: inicio.php"); Fuera de la clase y por el método post recibo los dos datos enviados por medio del formulario de nuestro archivo llamado index.php Esas dos variables recibidas son las que yo envio por parámetros a mi método que se encarga de validar el usuario. Por eso por medio de mi objeto llamado $ObjPersona le envio los dos parámetros y son los dos parámetros que yo utilizo para mi consulta.
  • 7. Programación Orientada a Objetos II Yan David Burbano Amariles Es importante aclarar que debemos tener creada ya nuestra base de datos que según mi ejemplo se llama db_ejemploPOO y mi tabla llamada usuariossistema con los campos que se muestran a continuación. Y claro que ya tenemos usuarios creados previamente para probar nuestro ejemplo. Y finalmente nuestro archivo donde entra en caso de haber sido validado satisfactoriamente. Utilizamos la variable de sesión creada en nuestra clase. Luego explicaremos como cerrar sesiones y como colocar más seguridad para que no todos puedan ingresar a ciertas páginas de nuestra APP, por ahora es una explicación básica para comprender el concepto de POO en un ejemplo real y sencillo.
  • 8. Programación Orientada a Objetos II Yan David Burbano Amariles Espero les haya sido de mucha utilidad. Hasta la próxima Twitter: @ohohdigoyo www.facebook.com/edufinderpage Facebook: facebook.com/ybrbn