Desarrollo PHP con Webmatrix



Documentos relacionados
PÁGINAS DINÁMICAS WEB CON PHP. Unidad 4 Aplicaciones Web

Programación PHP de bases de datos mysql

8º Unidad Didáctica PHP. Eduard Lara

PHP Hypertext PreProcessor

POW. Tema 8: Acceso a Base de Datos y Sesiones con PHP

Curso de PHP. Acceso a bases de datos MySQL en PHP

PHP: Interacción con HTML

MODULO DE USUARIOS PARTE 1

PHP Y BASES DE DATOS. Introducción a SQL

PHP: Lenguaje de programación

PROGRAMACIÓN CON PHP Y MYSQL. 40 horas 60 días

Tutorial PHP4 y MySQL Página 1 de 26

7- PHP y consultas MySQL

Formularios HTML. Elementos de Programación y Lógica

XAJAX: una librería de AJAX para PHP (parte 1)

CEFIRE: Curso Administración de APACHE

Introduccion a HTML y Formularios. Gerardo Grinman 5D

Desarrollo de sitios web con PHP y MySQL

TEMA 1.- Conceptos Generales y Entorno de Trabajo Objetivo

De esta manera, cuando el usuario rellena un campo cómo el siguiente... <input type="text" name="telefono"> </form>

Partes del formulario

BASES DE DATOS Y PHP. Índice. INTRODUCCIÓN Contacto. INTRODUCCIÓN Calendario de Prácticas INTRODUCCIÓN ACCESO A BASES DE DATOS PRÁCTICAS - PARTE B

Introducción a XSLT. Jose Emilio Labra Gayo. Octubre Contenidos Plantillas Programación Automatización Múltiples documentos

Temario Programación Web para Web

Aprender a desarrollar un sitio Web con PHP y MySQL Ejercicios prácticos y corregidos

Tema 5. PHP. Contenido. Introducción

Contenido. PHP, Creación de páginas Web dinámicas - Beati. CAPITULO 1 Más allá de HTML y CSS...1. CAPITULO 3 Mezclando PHP y HTML...

PHP y MySQL. Aplicaciones Web: PHP y base de datos MySQL (décima parte) Autor: Johnny Zulca Mamani

MySQL y Sesiones en PHP. Área de Ingeniería Telemática

SOLUCION EJERCICIOS VALIDACION DE FORMULARIOS

CURSO DE PROGRAMACIÓN PHP MySQL

PHP LUIS JOSÉ SÁNCHEZ GONZÁLEZ

Base de Datos Conjunto de información organizada especialmente para búsqueda y entrada de datos. Base de Datos: Ejemplo Usuarios

Curso PHP & MYSQL PARA JOOMLA

Data Bases 2. La sintaxis precisa de esta función es: mysql_pconnect (nombre del servidor, el usuario de la base de datos, password ) ;

Curso de PHP. Tema 2: Lenguaje PHP básico

Centro de Capacitación en Tecnologías de la Información

MANUAL DE USUARIO. DESCRIPCION DEL USO DEL SERVICIO POR WEB SERVICE DOCUMENTACION TECNICA PARA EL CONSUMO DE WEB SERVICE 2015

SEMINARIO DE DQL CON PHP Y MYSQL

Grupo de Ingeniería del Software. Conceptos básicos de formularios HTML

PROGRAMACION EN INTERNET

Objetivos y Temario CURSO PHP Y MySQL

PHP y MySQL Domine el desarrollo de un sitio Web dinámico e interactivo (3ª edición)

DISEÑO WEB CURSO COMPACTO EDICIÓN DE SITIOS WEB CONTENIDOS TEMÁTICOS

Introducción a la programación en PHP

SENA Distrito Capital Centro de Electricidad, Electrónica y Telecomunicaciones ADSI - Ing. Espec. Javier Vaquiro

APRENDE A CREAR UNA PÁGINA WEB CON HTML

Transformación de documentos : XSLT

PHP. Introducción (1) Introducción (3) Introducción (2) PHP 1

Seguridad Web. Álvaro Gómez Giménez UAM.NET. Álvaro Gómez Giménez (UAM.NET) Seguridad Web / 19

Como usar Zend_Auth del Zend Framework

1. Servidor Web. (apache). 2. PHP. 3. Manejador de base de datos (mysql, postgress).

PROGRAMA DE PROGRAMACIÓN WEB

FORMACIÓN ESPECIALIZADA EN HERRAMIENTAS Y LENGUAJES DE PROGRAMACIÓN WEB

Desarrollo Web con PHP y MySQL

Lo básico de Javascript. ISIS2603 Departamento de Sistemas y Computación Universidad de los Andes

Cómo exportar datos a Excel utilizando PHP y MySQL

Estructura del Sistema

PHP y Acceso a Datos

MAESTRO DE PHP PHP NIVEL 1

PHP/Mysql Pasos fundamentales

GENERAR DOCUMENTOS HTML USANDO LENGUAJE PHP. EJERCICIO RESUELTO EJEMPLO SENCILLO. (CU00733B)

2.5. Manipular objetos y formularios en una página Web.

PROGRAMACIÓN WEB II 4043

Introducción a la Web 2.0

MASTER DE PHP es el curso más completo diseñado para que aprendas desde 0 hasta poder desarrollar aplicaciones robustas utilizando Frameworks.

TUTORIAL DE PHP. M. en C. Erika Vilches. Parte 3.

Bloque I: Seguridad web

Programación páginas web con PHP

PÁGINAS DINÁMICAS WEB CON PHP. Unidad 2 ELEMENTOS DEL LENGUAJE DE PHP

RECUPERAR DATOS DE UN FORMULARIO HTML USANDO PHP. USO DE $_GET. EJEMPLOS Y EJERCICIOS RESUELTOS. (CU00833B)

PROGRAMACIÓN PÁGINAS WEB JAVASCRIPT Y PHP

Guía del Lenguaje de Programación PHP - CEF NAC

Tecnología de Programación

Programador Web en Drupal + PHP + Javascripts + MySQL. Nivel Profesional. Informática y Programación

CURSO ONLINE INSTALACIÓN Y ADMINISTRACIÓN DE CENTRALITAS VoIP ASTERISK

Transcripción:

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 1 / 30 Desarrollo PHP con Webmatrix Álvaro Gómez Giménez UAM.NET 25-11-2011

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 2 / 30 Contenidos 1 Introducción a PHP Integración con HTML Declaración de variables Arrays Sentencias condicionales Bucles Variables GET y POST Sesiones en PHP Interacción con BBDD: MySQL Otras variables superglobales Funciones C Style PHP Orientado a objetos 2 Construyendo un foro con PHP y Webmatrix Estructura de la base de datos Estructura de cheros 3 Conclusión

Introducción a PHP Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 3 / 30

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 4 / 30 Integración con HTML Código fuente en el servidor. 1 <html> 2 <head> 3 < t i t l e>hola Mundo</ t i t l e> 4 </ head> 5 <body> 6 <? php 7 / Comment / 8 $a="<b>hola Mundo</b>" ; 9 10 echo $a ; 11?> 12 </ body> 13 </ html> Salida en el lado del cliente. 1 <html> 2 <head> 3 < t i t l e>hola Mundo</ t i t l e> 4 </ head> 5 <body> 6 <b>hola Mundo</b> 7 </ body> 8 </ html>

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 5 / 30 Declaración de variables Las variables deben ir precedidas por el símbolo $. PHP distingue entre mayúsculas y minúsculas. 2 / V a r i a b l e s / 3 $cadena="hola, " ; 4 $numero=3+5; 5 6 echo $cadena. $numero ; 7?> Salida Hola,8

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 6 / 30 Array normal Forma A: 2 / Array / 3 $a = a r r a y ( " Cero ", "Uno", "Dos ", " Tres " ) ; 4 5 echo $a [ 0 ] ; 6 echo $a [ 1 ] ; 7 echo $a [ 2 ] ; 8 echo $a [ 3 ] ; 9?> Forma B: 2 / Array / 3 $a [0]= " Cero " ; 4 $a [1]= "Uno" ; 5 $a [2]= "Dos" ; 6 $a [3]= " Tres " ; 7 8 echo $a [ 0 ] ; 9 echo $a [ 1 ] ; 10 echo $a [ 2 ] ; 11 echo $a [ 3 ] ; 12?> Salida CeroUnoDosTres

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 7 / 30 Array asociativo Forma A: 2 / Array / 3 $a = a r r a y ( "nombre"=>"juan", 4 " a p e l l i d o "=>" López ", 5 " email "=>" juan@website. com" 6 ) ; 7 8 echo "Nombre : " ; 9 echo $a [ "nombre" ] ; 10 echo "<br/>" ; 11 echo " A p e l l i d o : " ; 12 echo $a [ " a p e l l i d o " ] ; 13 echo "<br/>" ; 14 echo " Email : " ; 15 echo $a [ " email " ] ; 16?> Forma B: 2 / Array / 3 $a [ "nombre"]="juan" ; 4 $a [ " a p e l l i d o "]=" López " ; 5 $a [ " email "]=" juan@website. com" ; 6 7 8 echo "Nombre : " ; 9 echo $a [ "nombre" ] ; 10 echo "<br/>" ; 11 echo " A p e l l i d o : " ; 12 echo $a [ " a p e l l i d o " ] ; 13 echo "<br/>" ; 14 echo " Email : " ; 15 echo $a [ " email " ] ; 16?> Salida Nombre:Juan Apellido:López Email:juan@website.com

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 8 / 30 Sentencias condicionales: if else 2 / i f e l s e / 3 $a=5; 4 $b=4; 5 6 i f ( $a > $b ) { 7 echo $a. ">". $b ; 8 } e l s e i f ( $a == $b ) { 9 echo $a. "=". $b ; 10 } e l s e { 11 echo $a. "<". $b ; 12 } 13?> Salida 5>4

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 9 / 30 Sentencias condicionales: switch 2 / s w i t c h / 3 $a=7; 4 5 s w i t c h ( $a ) { 6 case 1 : 7 echo "Su v a l o r es 1" ; 8 break ; 9 case 5 : 10 echo "Su v a l o r es 5" ; 11 break ; 12 d e f a u l t : 13 echo "Su v a l o r es $a" ; 14 break ; 15 } 16?> Salida Su valor es 7

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 10 / 30 Bucles: for 2 / f o r / 3 $a [0]= " Cero " ; 4 $a [1]= "Uno" ; 5 $a [2]= "Dos" ; 6 7 f o r ( $ i =0; $i <s i z e o f ( $a ) ; $ i++){ 8 echo $a [ $ i ] ; 9 echo "<br/>" ; 10 } 11?> Salida Cero Uno Dos

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 11 / 30 Bucles: foreach 2 / f o r e a c h / 3 $a [0]= " Cero " ; 4 $a [1]= "Uno" ; 5 $a [2]= "Dos" ; 6 7 f o r e a c h ( $a as $out ) { 8 echo $out ; 9 echo "<br/>" ; 10 } 11?> Salida Cero Uno Dos

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 12 / 30 Bucles: while 2 / w h i l e / 3 $c = 0 ; 4 5 w h i l e ( $c < 10) { 6 echo $c. ", " ; 7 $c++; 8 } 9?> Salida 0,1,2,3,4,5,6,7,8,9,

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 13 / 30 Variables GET y POST (I) Consulta del cliente http://www.example.com/index.php?page=5 Código para obtener las variables en la URL. 2 i f ( i s s e t ($_GET[ " page " ] ) ) { 3 echo "Page : ".$_GET[ " page " ] ; 4 } e l s e { 5 echo "No se ha d e f i n i d o " ; 6 } 7?> Salida Page:5

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 14 / 30 Variables GET y POST (II) Código HTML para realizar el POST: 1... 2 <form a c t i o n=" i n d e x. php" method=" post "> 3 <p> 4 <l a b e l>user :</ l a b e l> 5 <i n p u t type=" t e x t " name=" u s e r " /> 6 </p> 7 <p> 8 <l a b e l>password :</ l a b e l> 9 <i n p u t type=" password " name=" password " /> 10 </p> 11 <p a l i g n=" c e n t e r "> 12 <i n p u t type=" submit " v a l u e="send" name=" s u b m i t t e r "/> 13 </p> 14 </ form> 15... Código PHP para capturar el POST: 2 i f ( i s s e t ($_POST[ " s u b m i t t e r " ] ) ) { 3 $ u s e r=$_post[ " u s e r " ] ; 4 $password=$_post[ " password " ] ; 5 echo " User : $ u s e r " ; 6 echo " Password : $password " ; 7 } 8?>

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 15 / 30 Sesiones en PHP La página 1 inicia la sesión y establece una variable. 2 / Pagina 1 / 3 s e s s i o n _ s t a r t ( ) ; 4 5 $_SESSION [ " u s e r "]="Juan" ; 6 echo "<a h r e f =\"pagina2. php\">" ; 7 echo " Página 2</a>" ; 8?> La página 2 restaura dicha sesión y obtiene el valor de la variable. 2 / Pagina 2 / 3 s e s s i o n _ s t a r t ( ) ; 4 5 i f ( i s s e t ($_SESSION [ " u s e r " ] ) ) { 6 echo $_SESSION [ " u s e r " ] ; 7 echo "<br/>" ; 8 } 9 echo "<a h r e f =\"pagina1. php\">" ; 10 echo " Página 1</a>" ; 11?>

Interacción con BBDD: MySQL (I) Tenemos la tabla users en la base de datos con los siguientes datos: username password email admin 1234 admin@website.com juan juan89 juan@website.com ana 4n4p4sw0rd ana@website.com,y queremos realizar la siguiente consulta SQL: Consulta SELECT * FROM users WHERE username='admin',que devuelve la siguiente la: username password email admin 1234 admin@website.com Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 16 / 30

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 17 / 30 Interacción con BBDD: MySQL (II) Código PHP para obtener los datos: 2 / Conexión con MySQL / 3 $ l i n k = mysql_connect ( " l o c a l h o s t ", " r o o t ", " 1234567890 " ) ; 4 mysql_select_db ( "database_name", $ l i n k ) ; 5 6 / Consulta / 7 $username=" admin" ; 8 $ r e s u l t = mysql_query ( "SELECT FROM u s e r s WHERE username=' $username ' " ) ; 9 10 / Obtención de l o s datos / 11 $ a r r a y = mysql_fetch_array ( $ r e s u l t ) ; 12 13 echo "Username : ". $ a r r a y [ " username " ]. "<br/>" ; 14 echo " Password : ". $ a r r a y [ " password " ]. "<br/>" ; 15 echo " Email : ". $ a r r a y [ " email " ]. "<br/>" ; 16?> Salida Username:admin Password:1234 Email:admin@website.com

Interacción con BBDD: MySQL (III) Sobre la misma tabla users en la base de datos: username password email admin 1234 admin@website.com juan juan89 juan@website.com ana 4n4p4sw0rd ana@website.com Queremos obtener todos los usuarios ordenados por username: Consulta,que devuelve la siguiente tabla: SELECT * FROM users ORDER BY username username password email admin 1234 admin@website.com ana 4n4p4sw0rd ana@website.com juan juan89 juan@website.com Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 18 / 30

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 19 / 30 Interacción con BBDD: MySQL (IV) Cada llamada a mysql_fetch_array devuelve un array asociativo con la siguiente la de la consulta hasta que no hay más las y devuelve FALSE. 2 / Conexión con MySQL / 3 $ l i n k = mysql_connect ( " l o c a l h o s t ", " r o o t ", " 1234567890 " ) ; 4 mysql_select_db ( " catsandco ", $ l i n k ) ; 5 6 / Consulta / 7 $ r e s u l t = mysql_query ( "SELECT FROM u s e r s ORDER BY username " ) ; 8 9 / Obtención de l o s datos / 10 w h i l e ( $row = mysql_fetch_array ( $ r e s u l t ) ) { 11 echo "Username : ". $row [ " username " ]. ", " ; 12 echo " Password : ". $row [ " password " ]. ", " ; 13 echo " Email : ". $row [ " email " ]. "<br/>" ; 14 } 15?> Salida Username:admin,Password:1234,Email:admin@website.com Username:ana,Password:4n4p4sw0rd,Email:ana@website.com Username:juan,Password:juan89,Email:juan@website.com

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 20 / 30 Otras variables superglobales: $_FILES Utilizamos el siguiente formulario para subir un archivo: 1... 2 <form a c t i o n=" upload. php" method=" post " enctype=" m u l t i p a r t /form data "> 3 <p> 4 <l a b e l>archivo :</ l a b e l> 5 <i n p u t type=" f i l e " name=" f i l e "/> 6 </p> 7 <p> 8 <i n p u t type=" submit " name=" s u b m i t t e r " v a l u e=" S u b i r " /> 9 </p> 10 </ form> 11...

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 21 / 30 Otras variables superglobales: $_FILES Código PHP para obtener el archivo: 2 i f ( i s s e t ($_POST[ " s u b m i t t e r " ] ) ) { 3 / Comprobación de e r r o r e s / 4 i f ( $_FILES [ " f i l e " ] [ " e r r o r " ] > 0){ 5 d i e ( "<b>e r r o r a l s u b i r e l a r c h i v o </b>" ) ; 6 } e l s e { 7 / Comprobamos s i e l f i c h e r o e x i s t e / 8 i f ( f i l e _ e x i s t s ( $_FILES [ " f i l e " ] [ "name" ] ) ) { 9 d i e ( $_FILES [ " f i l e " ] [ "name" ]. " ya e x i s t e. " ) ; 10 } 11 / S i no e x i s t e, l o copiamos a l d i r e c t o r i o a c t u a l / 12 e l s e { 13 move_uploaded_file ( $_FILES [ " f i l e " ] [ "tmp_name" ], 14 $_FILES [ " f i l e " ] [ "name" ] ) ; 15 echo " Archivo : ". $_FILES [ " f i l e " ] [ "name" ] ; 16 echo " Tipo : ". $_FILES [ " f i l e " ] [ " type " ] ; 17 echo "Tamaño : ". ( $_FILES [ " f i l e " ] [ " s i z e " ] / 1024). " Kb" ; 18 echo " Archivo temporal : ". $_FILES [ " f i l e " ] [ "tmp_name" ] ; 19 } 20 } 21 } 22?>

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 22 / 30 Otras variables superglobales: $_SERVER Se puede utilizar la variable superglobal $_SERVER para acceder a información útil sobre el servidor y el entorno. 2 echo " F i c h e r o : ". $_SERVER[ "PHP_SELF" ]. "<br/>" ; 3 echo " S e r v i d o r : ". $_SERVER[ "SERVER_NAME" ]. "<br/>" ; 4 echo " Software : ". $_SERVER[ "SERVER_SOFTWARE" ]. "<br/>" ; 5 echo " User Agent : ". $_SERVER[ "HTTP_USER_AGENT" ]. "<br/>" ; 6?> Salida Fichero:/pagina1.php Servidor:localhost Software:Microsoft-IIS/7.5 User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64; rv:5.0) Firefox/5.0

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 23 / 30 Funcione C Style: Manejo de cheros Se pueden utilizar las funciones clásicas de manejo de cheros con la misma sintáxis que en C. Veamos un ejemplo de apertura y volcado de un chero: 2 i f (! $ f i l e=fopen ( " http ://www. google. es / i n d e x. html ", " r " ) ) { 3 echo " E r r o r a l a b r i r e l a r c h i v o " ; 4 e x i t ; 5 } 6 w h i l e (! f e o f ( $ f i l e ) ) { 7 $ l i n e a=f g e t s ( $ f i l e,4096) ; 8 echo $ l i n e a ; 9 } 10 f c l o s e ( $ f i l e ) ; 11?> Además están disponibles funciones como: fread() fgetc() fwrite()

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 24 / 30 PHP Orientado a objetos 2 c l a s s MiClase 3 { 4 // D e c l a r a c i ó n de l a p r o p i e d a d 5 p u b l i c $var = "<b>hola Mundo</b>" ; 6 7 // C o n s t r u c t o r 8 p u b l i c f u n c t i o n construct ( ) { 9 echo " C o n s t r u c t o r de l a c l a s e <br/>" ; 10 } 11 // D e c l a r a c i ó n d e l método 12 p u b l i c f u n c t i o n d i s p l a y V a r ( ) { 13 echo $ t h i s >var ; 14 } 15 } 16 17 $a = new MiClase ( ) ; 18 $a >d i s p l a y V a r ( ) ; 19?> Salida Constructor de la clase Hola Mundo

Construyendo un foro con PHP y Webmatrix Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 25 / 30

Estructura de la base de datos Utilizaremos dos tablas con la siguiente estructura: La tabla users tendrá datos del tipo: id username password email image isadmin 1 admin 1234 admin@website.com images/default.png 1 2 juan juan89 juan@website.com images/default.png 0 La tabla comments tendrá datos del tipo: id user_id fecha texto 1 1 2010-10-11 11:56:13 Comentario 1 2 1 2010-10-11 11:29:23 Comentario 2 Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 26 / 30

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 27 / 30 Estructura de cheros I La estructura general de cheros que utilizaremos para gestionar los usuarios y los comentarios en el tablón es la siguiente:

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 28 / 30 Estructura de cheros II Para conservar la estructura de la página utilizaremos en todos ellos el siguiente formato: Código fuente: 1 <? php 2 i n c l u d e ( " f u n c t i o n s. php" ) ; 3 get_header ( ) ; 4?> 5 <d i v i d=" wrapper "> 6 <! C o n t e n i d o > 7 </ d i v> 8 <? php 9 get_footer ( ) ; 10?>

Conclusión Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 29 / 30

Álvaro Gómez Giménez (UAM.NET) Desarrollo PHP con Webmatrix 25-11-2011 30 / 30 Contacto Email Web jokenhl@gmail.com http://www.j0k3n.com Recursos http://www.j0k3n.com/websrc/