P03 Uso de PHP

download P03 Uso de PHP

of 12

description

jhgjghghjghj

Transcript of P03 Uso de PHP

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 1 de 12

    PRCTICA N 03: USO DE PHP

    1. OBJETIVO(S)

    Conseguir que los estudiantes tengan un primer contacto con la programacin y sintaxis de PHP.

    Lograr el dominio de los delimitadores y tipos de datos del lenguaje PHP.

    Dominar la forma en que se crearn scripts PHP y del proceso para visualizarlos a travs de un navegador.

    2. FUNDAMENTO TERICO

    DEFINICIN DE PHP PHP es, hoy en da, un lenguaje de programacin diseado para desarrollar pginas web dinmicas que son ejecutadas en un servidor web y, luego, devueltas en formato HTML al navegador del usuario que las solicita. No obstante, en sus principios PHP fue ms bien un lenguaje de secuencias de comando, guiones o scripts del lado del servidor desarrollado por Rasmus Lerdorf en 1995 con el propsito de crear un conjunto de scripts que le permitieran contabilizar el nmero de visitantes que accedan a su hoja de vida que haba puesto en lnea para conseguir empleo o contratos de trabajo. Debido a que PHP estaba diseado para trabajar en un ambiente web y que este se poda insertar directamente dentro del cdigo (X)HTML propici que se volviera muy popular para procesar datos ingresados a travs de formularios. El significado actual de PHP es Hypertext PreProcessor y a partir de la versin 4.0 es considerado todo un lenguaje de programacin y una plataforma slida para el desarrollo de aplicaciones web del lado del servidor. EVOLUCIN DE PHP Despus de alcanzar su objetivo Rasmus Lerdorf libera su cdigo, que fue desarrollado en lenguaje Perl primero, y luego, en lenguaje C. Para ese entonces se haca alusin al lenguaje como PHP/FI y su significado era Personal Home Page/Form Interpreter, siendo la versin PHP/FI 2.0 liberada en 1997. En este ao el proyecto de PHP pas de ser un proyecto personal de Rasmus Lerdorf a ser un proyecto desarrollado en conjunto. En ese entonces PHP era usado en unos 50,000 dominios en Internet, lo que representaba solamente el 1% del total de dominios en Internet. La versin PHP 3.0 fue liberada en 1998 y desarrollada principalmente por dos programadores israels del Instituto Tecnolgico de Israel (Technion) de nombres Andi Gutmans y Zeev Zurasky. Una de las mejores caractersticas de esta versin era su fcil extensibilidad reflejada en la incorporacin de nuevos mdulos y soporte para trabajar con una gran cantidad de bases de datos. En su apogeo la versin 3.0 de PHP era utilizada en un 10% de servidores en Internet. El siguiente paso en la evolucin de PHP fue la creacin de un nuevo ncleo, escrito desde cero para mejorar su rendimiento y convertirse por primera vez en un lenguaje orientado a objetos. El nuevo motor fue denominado Zend (acrnimo de los nombres de sus nuevos desarrolladores Zeev y Andy). Esta nueva versin conocida como PHP 4.0 fue liberada en mayo del 2000. Las nuevas prestaciones de esta versin fueron el soporte para la mayora de servidores web, el manejo de sesiones HTTP de forma nativa, facilidades para programar utilizando orientacin a objetos (aunque muchos insisten en que esta versin no es totalmente orientado a objetos), compatibilidad con las expresiones regulares de Perl, encriptacin, manejo de formas ms seguras para el control de las entradas de usuario. El 13 de julio del 2007 se anunci la suspensin del soporte para la versin 4 de PHP, no obstante, se siguen liberando mejoras para solventar fallos crticos a nivel de seguridad, es as que se lanzaron

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 2 de 12

    posterior a esa fecha las versiones 4.4.8 el 13 de enero del 2008 y posteriormente, la versin 4.4.9 el 7 de agosto del mismo ao. La versin 5 de PHP fue lanzada el 13 de julio del 2004, utilizando el motor Zend Engine 2.0 que entre otras cosas incluye:

    Mejor soporte para la programacin orientada a objetos.

    Mejoras en el rendimiento.

    Mejor soporte para MySQL.

    Mejor soporte a XML.

    Soporte nativo para SQLite.

    Soporte integrado para SOAP.

    Iteradores de datos.

    Manejo de excepciones.

    Mejoras para la implementacin con Oracle. UTILIZACIN DE PHP PHP se puede utilizar para:

    Desarrollar aplicaciones web del lado del servidor. Este es el campo de uso ms tradicional de PHP y el que le ha significado una infinidad de seguidores y adeptos.

    Realizar scripts que se ejecuten desde la lnea de comandos. Estos scripts se pueden ejecutar sin la necesidad de un servidor web ni de un navegador.

    Escribir aplicaciones de interfaz grfica. Este es el campo ms nuevo en el que PHP ha hecho incursin, para utilizarlo es necesario incluir la extensin PHP-GTK que no viene incluida en la distribucin principal.

    3. PROCEDIMIENTO

    Utilice un editor de textos, puede ser nano o gedit, para digitar el siguiente cdigo que mostrar cmo se inserta cdigo PHP dentro de un documento web realizado con lenguaje HTML: Ejercicio #1: Primer script: partehtmlphp.php

    Scripts con (X)HTML y PHP ...

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 3 de 12

    Parte de HTML normal.

    Segundo script: htmlphp.css

    * { margin: 0; padding: 0; } body { background-color:Bisque; /* rgb(255,228,196) o #FFE4C4 */ font-size:16px; } header { background-image:url(../img/brickwall.jpg); background-repeat:repeat-x; height: 134px; width: 100%; } #html { background:Maroon; border-radius:0.5em; margin:1em auto; width:42%; } #php { background:OrangeRed; border-radius:0.5em; margin:1em auto; width:42%;

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 4 de 12

    } #html article, #php article { padding:5%; width: 86%; } #html article { color:LemonChiffon; /* rgb(255,250,205) o #FFFACD */ font-family:"Palatino Linotype",Baskerville,serif; font-weight:600; font-size:1.2em; } #html article .text { display: inline-block; vertical-align: top; width: 69%; } #html article .img { display: inline-block; vertical-align: top; height: auto; width: 30%; } #php article { color:Bisque; /* rgb(255,228,196) o #FFE4C4 */ font-family:Tahoma,Verdana,Helvetica,sans-serif; font-weight:900; font-size:1.2em; } #php article .text { display: inline-block; vertical-align: top; width: 62%; } #php article .img { display: inline-block; vertical-align: top; height: auto; width: 37%; }

    Guarde el primer archivo con el nombre partehtmlphp.php en la carpeta /var/www/html/guia4/ejercicio1. Para visualizar el resultado en el navegador, verifique que est iniciado el servicio httpd. Si no lo inici, hgalo con el comando service httpd start desde el terminal de CentOS. Abra un navegador web y digite en la barra de direccin la siguiente URL: http://localhost/guia4/ejercicio1/partehtmlphp.php Observe la pgina PHP que acaba de cargarse en el navegador y verifique que es resultado sea el esperado.

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 5 de 12

    NOTA: De ahora en adelante solamente se le proporcionar el cdigo HTML combinado con PHP que debe digitar, para volver a cargar una pgina en el navegador ya sabe cules deben ser los pasos a seguir. Lo mismo ser con cualquier otro archivo adicional como hoja de estilo, guin o secuencia de comando de JavaScript, etc.

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 6 de 12

    Ejercicio #2: Primer archivo: delimitadores.php

    Delimitadores de cdigo PHP Los delimitadores de cdigo PHP echo "\n"; echo "\n"; echo "Script\n"; echo "\n"; echo "\n"; echo "A pesar de que estas lneas estn escritas dentro de un script PHP, "; echo "Estn enmarcadas dentro de etiquetas HTML: "; echo ""; echo "\n"; echo "\n"; echo "\n";

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 7 de 12

    ?> Usted est en la libertad de decidir cul de estos delimitadores utilizar en sus scripts PHP. Sin embargo, la recomendacin es utilizar siempre el primer tipo de delimitadores, conocido como delimitador estilo XML, a menos que no tenga otra opcin.

    Segundo script: fonts.css

    @font-face { font-family: 'GentiumRegular'; src: url('../fonts/GentiumRegular.eot'); src: url('../fonts/GentiumRegular.eot?#iefix') format('embedded-opentype'), url('../fonts/GentiumRegular.woff') format('woff'), url('../fonts/GentiumRegular.ttf') format('truetype'), url('../fonts/GentiumRegular.svg#MyWebfont') format('svg'); font-weight: normal; font-style: normal; } @font-face { font-family: 'LeagueGothic'; src: url('../fonts/League_Gothic.eot'); src: url('../fonts/League_Gothic.eot?#iefix') format('embedded-opentype'), url('../fonts/League_Gothic.woff') format('woff'), url('../fonts/League_Gothic.ttf') format('truetype'), url('../fonts/League_Gothic.svg#LeagueGothic') format('svg'); font-weight: normal; font-style: normal; }

    Tercer script: tabs.css

    * { box-sizing: border-box; margin: 0; padding: 0;

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 8 de 12

    } .contenedor-tabs { max-width: 720px; margin: 50px auto 0; position: relative; width: 100%; } span.diana { display: none; position: fixed; } .tab div { /* Old browsers */ background: #f989f9; /* FF3.6+ */ background: -moz-linear-gradient(-45deg, #f989f9 0%, #f7a5ec 48%, #fd89d7 51%, #ff7cd8 100%); /* Chrome,Safari4+ */ background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,#f989f9), color-stop(48%,#f7a5ec), color-stop(51%,#fd89d7), color-stop(100%,#ff7cd8)); /* Chrome10+,Safari5.1+ */ background: -webkit-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* Opera 11.10+ */ background: -o-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* IE10+ */ background: -ms-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* W3C */ background: linear-gradient(135deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* IE6-9 fallback on horizontal gradient */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f989f9', endColorstr='#ff7cd8',GradientType=1 ); border-radius: 0 5px 5px; color: #fff; font-family:'LeagueGothic',Geneva,sans-serif; font-size: 1.1rem; font-weight: normal; left: 0; letter-spacing: 0.5px; line-height: 1.2; z-index: 5; opacity: 0; padding: 1rem; position: absolute; top: 1.2rem; transition: all 1s ease; width: 100%; } .tab div.first { /* Esto har visible la primera pestaa (tab class=first) */ opacity: 1;

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 9 de 12

    } .tab .tab-e { background: #d5d5d5; border-radius: 5px 5px 0 0; color: #628; float: left; font-family:'GentiumRegular',Geneva,sans-serif; font-size: 1.3rem; font-weight: Bold; padding: 5px; position: relative; margin-right: 3px; margin-top: -1rem; min-width: 120px; text-decoration: none; text-align: center; transition: all .5s ease; width: 22.5%; } a.tab-e:hover { color: #999; } p img { float: left; width: 20%; } .diana:target + .tab div { /* Old browsers */ background: #f989f9; /* FF3.6+ */ background: -moz-linear-gradient(-45deg, #f989f9 0%, #f7a5ec 48%, #fd89d7 51%, #ff7cd8 100%); /* Chrome,Safari4+ */ background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,#f989f9), color-stop(48%,#f7a5ec), color-stop(51%,#fd89d7), color-stop(100%,#ff7cd8)); /* Chrome10+,Safari5.1+ */ background: -webkit-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* Opera 11.10+ */ background: -o-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* IE10+ */ background: -ms-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* W3C */ background: linear-gradient(135deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* IE6-9 fallback on horizontal gradient */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f989f9', endColorstr='#ff7cd8',GradientType=1 ); color: #fff; opacity: 1; } .diana:target + .tab .tab-e { /* Old browsers */

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 10 de 12

    background: #f989f9; /* FF3.6+ */ background: -moz-linear-gradient(-45deg, #f989f9 0%, #f7a5ec 48%, #fd89d7 51%, #ff7cd8 100%); /* Chrome,Safari4+ */ background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,#f989f9), color-stop(48%,#f7a5ec), color-stop(51%,#fd89d7), color-stop(100%,#ff7cd8)); /* Chrome10+,Safari5.1+ */ background: -webkit-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* Opera 11.10+ */ background: -o-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* IE10+ */ background: -ms-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* W3C */ background: linear-gradient(135deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* IE6-9 fallback on horizontal gradient */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f989f9', endColorstr='#ff7cd8',GradientType=1 ); box-shadow: 0 0 5px rgba(0, 0, 0, 0.2); color: #f5f5f5; z-index: 2; } @media screen and (max-width:370px){ .contenedor-tabs { min-width: 370px; margin: 2.5rem 0; width: 100%; } .tab div { font-size: 1rem; line-height: 1.1; padding: 1rem 5px; width: 100%; } .tab .tab-e { font-size: 1rem; line-height: 1.5rem; margin-right: 0; padding: .5rem 0; text-align: center; width: 25%; } }

    Cuarto script: delimiters.css

    html, body { height: 100%; } body {

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 11 de 12

    /* Old browsers */ background: #ebe9f9; /* FF3.6+ */ background: -moz-linear-gradient(-45deg, #ebe9f9 0%, #d8d0ef 50%, #cec7ec 51%, #c1bfea 100%); /* Chrome,Safari4+ */ background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,#ebe9f9), color-stop(50%,#d8d0ef), color-stop(51%,#cec7ec), color-stop(100%,#c1bfea)); /* Chrome10+,Safari5.1+ */ background: -webkit-linear-gradient(-45deg, #ebe9f9 0%,#d8d0ef 50%,#cec7ec 51%,#c1bfea 100%); /* Opera 11.10+ */ background: -o-linear-gradient(-45deg, #ebe9f9 0%,#d8d0ef 50%,#cec7ec 51%,#c1bfea 100%); /* IE10+ */ background: -ms-linear-gradient(-45deg, #ebe9f9 0%,#d8d0ef 50%,#cec7ec 51%,#c1bfea 100%); /* W3C */ background: linear-gradient(135deg, #ebe9f9 0%,#d8d0ef 50%,#cec7ec 51%,#c1bfea 100%); /* IE6-9 fallback on horizontal gradient */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ebe9f9', endColorstr='#c1bfea',GradientType=1 ); } header h1 { color:Purple; font-family:'GentiumRegular',Geneva,sans-serif; font-weight:bold; font-size:3.5em; padding: 12px; text-align:center; text-shadow:0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 10px 10px rgba(0,0,0,.2), 0 20px 20px rgba(0,0,0,.15); } .paragraph { /* Old browsers */ background: #f989f9; /* FF3.6+ */ background: -moz-linear-gradient(-45deg, #f989f9 0%, #f7a5ec 48%, #fd89d7 51%, #ff7cd8 100%); /* Chrome,Safari4+ */ background: -webkit-gradient(linear, left top, right bottom, color-stop(0%,#f989f9),

  • UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN | FACULTAD DE INGENIERA ESCUELA ACADMICO PROFESIONAL DE INGENIERA EN INFORMTICA Y SISTEMAS CURSO: INGENIERA WEB AO DE ESTUDIOS: CUARTO

    Docentes: Ing. Hugo Barraza Vizcarra | MSc. Edgar Taya Acosta Pgina 12 de 12

    color-stop(48%,#f7a5ec), color-stop(51%,#fd89d7), color-stop(100%,#ff7cd8)); /* Chrome10+,Safari5.1+ */ background: -webkit-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* Opera 11.10+ */ background: -o-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* IE10+ */ background: -ms-linear-gradient(-45deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* W3C */ background: linear-gradient(135deg, #f989f9 0%,#f7a5ec 48%,#fd89d7 51%,#ff7cd8 100%); /* IE6-9 fallback on horizontal gradient */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f989f9', endColorstr='#ff7cd8',GradientType=1 ); border-radius: 5px 5px; color: #fff; max-width: 720px; margin: 50px auto 0; padding: 1rem; position: relative; top: 106px; width: 100%; } .paragraph p { font-family:'LeagueGothic',Geneva,sans-serif; font-size: 1.1rem; font-weight: normal; letter-spacing: 0.5px; line-height: 1.2; }

    NOTA: Cuando ejecute el segundo ejercicio en el navegador, notar algo raro, parte del cdigo no es interpretado correctamente. Esto ya se coment en la Introduccin terica de la gua y en la presentacin sobre introduccin al lenguaje PHP. Acuda a este recurso para hacer funcionar los delimitadores de cdigo PHP que no estn operando. En las imgenes que se muestran a continuacin notar cmo se ve la pgina antes y despus de habilitar ambos estilos de delimitadores. IMPORTANTE: Si al ejecutar el script en el navegador visualiza lo siguiente, significa que el archivo de configuracin del PHP (php.ini) no tiene habilitadas las etiquetas cortas ni las etiquetas estilo ASP. Debe habilitarlas.