curso php-my sql-clase-2

14
“Aplicaciones Web dinámicas con PHP y MySql” Sergio Gabriel Rodríguez http://www.3trex.com.ar Dinamismo en la web: Introducción a PHP 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.

Upload: juan-carlos-catura-arapa

Post on 12-Jun-2015

277 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Curso php-my sql-clase-2

“Aplicaciones Web dinámicascon PHP y MySql”

Sergio Gabriel Rodríguez http://www.3trex.com.ar

Dinamismo en la web:Introducción a PHP

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.

Page 2: Curso php-my sql-clase-2

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.

Page 3: Curso php-my sql-clase-2

Lenguajes del lado Servidor

Internet

El cliente solicita un documento HTML

El documento es enviado al cliente

Solicitud de una página web estática

El server busca el Documento solicitado

El navegador interpreta y muestra el HTML

Lenguajes del lado Servidor

Internet

El cliente solicita una Página dinámica

El documento HTML generado es enviado al cliente

Solicitud de una página web dinámica

El server busca el Script solicitado

El navegador interpreta y muestra el HTML

El script PHP se ejecuta y genera un documento HTML

Page 4: Curso php-my sql-clase-2

¿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

Page 5: Curso php-my sql-clase-2

¿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.: <html><head>

<title>Ejemplo</title></head><body>

<?phpecho "Hola, soy un script PHP!";

?>

</body>

</html>

¿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.2http://www.apache.org

• Lenguaje de Servidor: PHP 4.0http://www.php.net

• RDBMS: MySQL 5.0http://www.mysql.com

Page 6: Curso php-my sql-clase-2

• 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:

¿Qué necesitamos?

• 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.

Page 7: Curso php-my sql-clase-2

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

<html><head>

<title>Ejemplo</title></head><body>

<?phpecho "Hola, soy un script PHP!";

?>

</body>

</html>

Page 8: Curso php-my sql-clase-2

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.: <?php echo “El código Da Vinci”; ?>

Lenguaje PHP

1. Sintaxis básica2. Tipos de datos3. Variables4. Constantes5. Expresiones y operadores6. Estructuras de control7. Funciones8. Tablas9. Bibliotecas de funciones

Page 9: Curso php-my sql-clase-2

Lenguaje PHP

• PHP es sensible a las mayúsculas

• ¿Cómo se incrusta en la página web?<?PHP ... ?>

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 cadenasecho cadena1 [, cadena2…]; // no es una función

echo “Hola mundo”;

echo “Hola “, “mundo”;

print: muestra una cadenaprint cadena; // no es una función

print “Hola mundo”;

print “Hola “ . “mundo”;

Page 10: Curso php-my sql-clase-2

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)– 27, -5, 0

• Tipo double (números reales)– 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];

Page 11: Curso php-my sql-clase-2

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)

Page 12: Curso php-my sql-clase-2

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:

<?php

$titulo = “El código Da Vinci”;echo $titulo;

?>

Page 13: Curso php-my sql-clase-2

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.

<FORM ACTION="procesa.php" METHOD=“POST"> <INPUT TYPE="text" NAME="nombre"><BR> <INPUT TYPE="submit" VALUE="Enviar">

</FORM>

$_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.

Page 14: Curso php-my sql-clase-2

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:

<html> <head>

<title>Pelicula Introducida</title> </head> <body> <H1>Ejemplo de procesado de formularios</H1>Titulo de la película: <?php echo $_POST[‘titulo']; ?><br> ………….…………….</body>

</html>