“Aplicaciones Web dinámicas con PHP y MySql”
Dinamismo en la web: Introducción a PHP
Sergio Gabriel Rodríguez http://www.3trex.com.ar
Web Dinámica • Crecimiento de la www. • Mayor número de usuarios. • Banda Ancha. • Uso comercial.
• Limitaciones del HTML. • Dificultad para mostrar datos actualizados. • Implica una modificación constante. • Es sólo metalenguaje, no un lenguaje de programación.
• Necesidad de dinamismo. • Información actualizada en todo momento. • Procesamiento de información. • Acceso a Bases de Datos. • Nacen los lenguajes del lado del Servidor.
Lenguajes del lado Servidor • El navegador es sólo capaz de interpretar código HTML, no procesa información. • Para ello, es necesario emplear otros lenguajes que el servidor los ejecute e interprete. • El resultado de esa ejecución da lugar a la generación de un archivo HTML que es enviado al cliente. • Lenguajes de lado Servidor son aquellos lenguajes que son reconocidos, ejecutados e interpretados por el propio servidor y que se envían al cliente en un formato comprensible para él (HTML).
Introducción a PHP • PHP (acrónimo de "PHP: Hypertext Preprocessor") es un lenguaje de "código abierto" interpretado, de alto nivel y ejecutado en el servidor. • PHP nos permite embeber fragmentos de código dentro de la página HTML y realizar determinadas acciones. • PHP es un lenguaje creado por una gran comunidad de personas. El sistema fue desarrollado originalmente en el año 1994 por Rasmus Lerdorf como un CGI escrito en C . •No es necesario que el navegador lo soporte, es independiente del navegador, sin embargo, el servidor soportar PHP. • La última versión disponible de PHP es la 5.
Lenguajes del lado Servidor Solicitud de una página web estática El server busca el Documento solicitado
El cliente solicita un documento HTML
Internet
El documento es enviado al cliente
El navegador interpreta y muestra el HTML
Lenguajes del lado Servidor Solicitud de una página web dinámica El server busca el Script solicitado
El cliente solicita una Página dinámica
Internet
El documento HTML generado es enviado al cliente
El navegador interpreta y muestra el HTML
El script PHP se ejecuta y genera un documento HTML
¿Qué puede hacer PHP? • PHP puede ser utilizado en cualquiera de los principales sistemas operativos del mercado (Linux, HP-UX, Solaris y OpenBSD, Microsoft Windows, Mac OS X, etc.).
• PHP soporta la mayoría de servidores web de hoy en día, incluyendo Apache, IIS, Oreilly Website Pro server, Caudium, Xitami, OmniHTTPd y muchos otros. • Posibilidad de usar programación procedimental o programación orientada a objetos.
• No se encuentra limitado a resultados en HTML, puede crear imágenes, archivos PDF, películas Flash, zip, etc. • PHP también cuenta con soporte para comunicarse con otros servicios usando protocolos tales como LDAP, IMAP, SNMP, NNTP, POP3, HTTP, COM, etc.
¿Qué puede hacer PHP? • Las siguientes Bases de Datos están soportadas en PHP: • Adabas D • Ingres • Oracle • dBase • InterBase • Ovrimos • Empress • FrontBase • PostgreSQL • FilePro (read-only) • mSQL
• Solid • Hyperwave • Direct MS-SQL • Sybase • IBM DB2 • MySQL • Velocis • Informix • ODBC • Unix dbm
¿Qué puede hacer PHP? • Escribimos el código HTML con cierto código PHP embebido (incluido) en el mismo, que producirá cierta salida (en nuestro ejemplo, producirá un texto). El código PHP se incluye entre etiquetas especiales de comienzo y final que nos permitirán entrar y salir del modo PHP. Las sentencias terminan en “;” Ej.:
Ejemplo
¿Qué necesitamos? • Instalar una de las versiones de PHP para nuestro OS (Server). • Un Servidor Web (Software), que soporte PHP. • Si vamos a acceder a Bases de Datos instalar un RDBMS. • Un editor de textos. Para nuestro curso vamos a utilizar. • Servidor Web: Apache 2.2 http://www.apache.org • Lenguaje de Servidor: PHP 4.0 http://www.php.net • RDBMS: MySQL 5.0 http://www.mysql.com
¿Qué necesitamos? • Podemos instalar cada software por separado, inclusive compilarlos desde su código fuente (Unixs OS). • Existen software que hacen este trabajo por nosotros, recomendados sólo para desarrollo, tests, aprendizaje, etc. No recomendados para producción. • Nosotros usaremos Xampp: http://www.apachefriends.org/en/xampp.html
Xampp 1.5.3a incluye:
• Apache 2.2.3 • MySQL 5.0.24a • PHP 5.1.6 & PHP 4.4.4 • phpMyAdmin 2.9.0.1 • FileZilla FTP Server 0.9.18 • OpenSSL 0.9.8d
Ejercicio 1: instalación de Xampp • Xampp se instala en una carpeta por defecto o podemos crear una. Para que el Apache encuentre nuestras documentos html y php debemos guardarlos en la carpeta /htdocs, que se encuentra en el directorio de instalación de Xampp. • Una vez instalado xampp, debemos iniciar el servidor web Apache desde el panel de control.
Ejercicio 1: instalación de Xampp • Para comprobar si nuestro servidor se instaló correctamente, tipeamos en nuestro browser http://localhost/ ya que nuestra PC es Cliente y Servidor a la vez. Nos debe aparecer una pantalla como esta:
Ejercicio 1 • Crear
una carpeta dentro de /htdocs, crear el script hola.php, y ejecutarlo Ejemplo
Ejercicio 2 • Usando
el documento tabla.html creado en el Ejercicio 2 de la clase anterior, generar los textos de la segunda columna usando “echo”. Ej.:
Lenguaje PHP 1. 2. 3. 4. 5. 6. 7. 8. 9.
Sintaxis básica Tipos de datos Variables Constantes Expresiones y operadores Estructuras de control Funciones Tablas Bibliotecas de funciones
Lenguaje PHP • PHP es sensible a las mayúsculas • ¿Cómo se incrusta en la página web? recomendado, siempre disponible = expresión ?> equivale a echo expresión ?> • Las instrucciones se separan con un ; como en C. La marca final ?> implica un ; • Comentarios: como en C, /* … */ y //
Lenguaje PHP • Para imprimir: echo y print echo: muestra una o más cadenas echo cadena1 [, cadena2…]; // no es una función echo “Hola mundo”; echo “Hola “, “mundo”; print: muestra una cadena print cadena; // no es una función print “Hola mundo”; print “Hola “ . “mundo”;
Lenguaje PHP: Tipos de Datos •
PHP soporta 8 tipos de datos primitivos: – boolean, integer, double, string – array, object – resource, NULL
•
El tipo de una variable no se suele especificar. Se decide en tiempo de ejecución en función del contexto y puede variar.
•
Tipo integer (números enteros) –
•
Tipo double (números reales) –
•
27, -5, 0 1.234, -5.33
Tipo boolean (lógico) – –
Valores: true, false (insensibles a las mayúsculas) El 0 y la cadena vacía tienen valor false
Lenguaje PHP: Tipos de Datos Tipo string: •
Las cadenas se encierran entre comillas simples o dobles: – ‘simples’: admite los caracteres de escape \’ (comilla simple) y \\ (barra). Las variables NO se expanden – “dobles”: admite más caracteres de escape, como \n, \r, \t, \\, \$, \”. Los nombres de variables SÍ se expanden
$a = 9; print ‘a vale $a’; // muestra a vale $a print “a vale $a”; // muestra a vale 9 – Acceso a un carácter de la cadena: • La forma es $inicial = $nombre[0];
Variables •
Las variables siempre van precedidas de un $
•
El nombre es sensible a las mayúsculas
•
Comienzan por letra o subrayado, seguido de letras, números o subrayado
•
Variables predefinidas: $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES, $_ENV, $_REQUEST, $_SESSION
•
Ámbito: globales al fichero (excepto funciones) o locales a una función
•
Ejemplo: $valor = 5; print “El valor es: “ . $valor . “\n”; print “El valor es: $valor\n”; // Resultado: El valor es: 5
Constantes •
Definición de constantes: define (“IVA”, 21); print CONSTANTE;
•
No llevan $ delante
•
Sólo se pueden definir constantes de los tipos escalares (boolean, integer, double, string)
Lenguaje PHP • Inclusión de ficheros externos: – include() – require() • Ambos incluyen y evalúan el fichero especificado • Diferencia: en caso de error include() produce un warning y require() un error fatal • Se usará require() si al producirse un error debe interrumpirse la carga de la página
Ejercicio 3 - Usando el script anterior generar variables.php, donde los textos de la segunda columna sean variables php. Ej:
Envío y recepción de datos • El lenguaje PHP nos proporciona una manera sencilla de manejar formularios, permitiéndonos de esta manera procesar la información que el usuario ha introducido. • Al diseñar un formulario debemos indicar la página PHP que procesará el formulario, así como en método por el que se le pasará la información a la página.
$_POST y $_GET • Al pulsar el botón Enviar el contenido de cuadro de texto es enviado a la página que indicamos en el atributo ACTION de la etiqueta FORM. • Para acceder a las variables del formulario hay que usar el array de parámetros $_POST[] o $_GET[] dependiendo del método usado para enviar los parámetros. • La diferencia entre estos dos métodos radica en la forma de enviar los datos a la página, mientras que el método GET envía los datos usando la URL, el método POST los envía por la entrada estándar STDIO.
Ejercicio 4 • Crear el script procesa.php, que reciba y muestre los valores introducidos en el formulario del Ejercicio 3 de la clase anterior. Ej: Pelicula Introducida Ejemplo de procesado de formularios
Titulo de la película:
…………. …………….