una introducción al lenguaje. ¿qué es php? se trata de un lenguaje de programación que es...

104
Una introducción al Una introducción al lenguaje lenguaje

Upload: sara-redondo-lopez

Post on 23-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Una introducción al lenguajeUna introducción al lenguaje

Page 2: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Qué es PHP?¿Qué es PHP?

• Se trata de un lenguaje de programación que es interpretado por un servidor web.

• No se trata de un lenguaje genérico. PHP está orientado al desarrollo de sitios web dinámicos.

• No depende del navegador del usuario (como en Javascript). El código PHP se ejecuta en el servidor.

Page 3: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Cómo funciona PHP?¿Cómo funciona PHP?

• El usuario escribe una URL en su navegador y éste envía un petición HTTP al servidor web.

• El servidor lee la pagina PHP (la interpreta) y envía al navegador del usuario un documento compilado en formato HTML.

Page 4: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Qué necesito para programarlo?¿Qué necesito para programarlo?

• Un servidor web como Apache. Lo encontraremos en www.apache.org

• Las librerías de PHP para que el servidor web pueda “leer” PHP. Las descargamos desde www.php.net

• Un editor de texto para escribir las páginas PHP.

• Colocar las páginas PHP en algún directorio del servidor web y listo !!

Usemos Weaverslave

Page 5: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Instalación de Apache y Instalación de Apache y PHP en WindowsPHP en Windows

Page 6: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Instalamos Apache 2.0Instalamos Apache 2.0

• Localizamos el ejecutable del instalador y empezamos..

Page 7: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Aceptamos los términos de la licencia…

Page 8: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Insertamos los valores del servidor, el dominio y el mail del administrador de Apache

Page 9: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Elegimos la instalación personalizada..

Page 10: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Elegimos “Change” para cambiar el directorio de instalación por uno más “corto” como “C:\”

Page 11: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Con el nuevo directorio elegido, continuamos la instalación..

Page 12: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• SÓLO PARA WINDOWS XP SP2: le indicamos al firewall que desbloquee el servicio Apache para el puerto 80.

Page 13: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Comprobamos la instalación tecleando http://localhost en un navegador.

Page 14: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• En la barra de tareas tenemos el icono para gestionar el servicio Apache.

Page 15: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Instalamos PHP como módulo de Instalamos PHP como módulo de Apache en WindowsApache en Windows

1) Descomprimimos el ZIP que contiene PHP en el directorio C:\

2) Copiamos todas las librerías DLL del directorio C:\php\sapi en el directorio system32 de Windows (para Windows 2000 sería C:\winnt\system32)

3) En C:\php tenemos el fichero php.ini-recommended, lo renombramos como php.ini y lo copiamos al directorio Windows (para Windows 2000 sería C:\winnt)

Page 16: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

4) Editamos el fichero httpd.conf que se encuentra en c:\Apache2\conf y le agregamos estas líneas:

LoadModule php4_module C:\php\sapi\php4apache2.dll AddType application/x-httpd-php .php

5) El sitio adecuado del fichero para hacerlo sería donde encontremos otras directivas del tipo LoadModule y AddType

OJO!!

Page 17: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

6) Copiamos la DLL "php4ts.dll", que podemos encontrar en nuestro directorio de instalación de PHP (C:\php) en la carpeta c:\php\sapi

7) Editamos el fichero httpd.conf y buscamos el valor DirectoryIndex, lo modificamos para dejarlo como éste:

DirectoryIndex index.html index.html.var index.php

Page 18: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Escribimos la siguiente página (usando el notepad, por ejemplo) prueba.php:

<?php

phpinfo()

?>

• Guardamos la página en la carpeta htdocs del directorio de instalación de Apache

• En un navegador cualquiera probamos la carga de la página con:

http://localhost/prueba.php

Page 19: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Si vemos esto, todo fue bien..

• Ahora ya podemos continuar con PHP..

Page 20: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Modificación del entorno PHP: el Modificación del entorno PHP: el fichero php.inifichero php.ini

• Todas las configuraciones para modificar el comportamiento se hacen a través del fichero php.ini (situado en la carpeta Windows, como c:\winnt ó c:\windows).

• Una modificación que debemos hacer ahora mismo es cambiar el valor de la variable register_globals para ponerla en On. Mas adelante veremos el motivo.

register_globals = On Importante

Page 21: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Se parece en algo a Javascript?¿Se parece en algo a Javascript?

• Aunque la sintaxis del lenguaje es parecida (derivada del lenguaje C) el funcionamiento de los dos es muy distinto.

• Javascript se interpreta en el navegador del usuario mientras se carga la pagina.

• PHP se interpreta en el servidor. Si PHP se ejecuta bien, lo hará bien en cualquier navegador.

Page 22: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Qué se puede hacer con PHP?¿Qué se puede hacer con PHP?

• Cualquier cosa, pero PHP está pensado para el desarrollo de sitios web dinámicos como tiendas virtuales en Internet.

• PHP está pensado para la conexión con bases de datos como MySQL.

• En Internet hay gran cantidad de sitios que funcionan con la arquitectura LAMP = Linux + Apache + MySQL + PHP

Page 23: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Empezando con PHPEmpezando con PHP• Las instrucciones PHP se pueden colocar

dentro del las etiquetas HTML.• Para resaltar el código PHP debemos

incluirlo siempre entre las etiquetas: <?php ……………. aquí va el código PHP ……………. ?>

Siempre escribiremos

dentro del bloque php

Page 24: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• El primer programa PHP que muestra un mensaje en el navegador:<?php echo “Empezando con PHP”;?>

• OJO: todas las líneas de código PHP terminan con punto y coma.

• Las omisiones del punto y coma provocan siempre mensajes de error

• No es necesario el punto y coma en las estructuras de control, como veremos.

Page 25: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Cómo incluir comentarios al ¿Cómo incluir comentarios al código?código?

// esto es un comentario corto

/* este comentario

ocupa varias

líneas */

# este comentario también es válido

Page 26: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Qué es una variable?¿Qué es una variable?

• Una variable define un punto de almacenamiento en la memoria del ordenador.

• Un nombre define a una variable y luego podemos asignarle diferentes valores a lo largo del programa.

• Por ejemplo, una variable puede llamarse nombre y tomar primero el valor de “Luis”, después “Pepe”, etc..

Page 27: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Tipos de variables en PHPTipos de variables en PHP

• PHP reconoce automáticamente los tipos de variables, ya que fue escrito para la web.

• PHP trabaja internamente con variables de tipo: string (texto), integer (numero entero) y float (numero real en coma flotante)

• No es necesario declarar las variables, cuando se les asigna un valor ya se consideran declaradas.

Page 28: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Cómo nombrar las variables?¿Cómo nombrar las variables?

• Toda variable empieza obligatoriamente por un signo de $, como $nombre

• No se deben usar acentos, espacios, diéresis, ni caracteres especiales del teclado.

• Se permite usar el guión bajo: _• PHP distingue mayúsculas y minúsculas,

por lo que $nombre es distinto de $Nombre.

Page 29: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Un ejemploUn ejemplo

<?php

$nombre=“Juan”;

echo “Hola $nombre, ¿Qué tal?”;

?>

• Los valores strings se asignan siempre entre comillas.

Page 30: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿No es necesario concatenar el ¿No es necesario concatenar el texto y las variables?texto y las variables?

• No es necesario, por ejemplo en la orden echo, se pueden mezclar texto y variables sin usar ningún operador de concatenación especial.

• Opcionalmente, se puede usar el operador de concatenación punto “.”.

• Por ejemplo: echo “Hola” .$nombre. “¿Qué tal”

Page 31: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Cómo incluyo saltos de línea?¿Cómo incluyo saltos de línea?

• Podemos usar el HTML y escribir “breaks” con <br>. Por ejemplo:echo “linea1<br>”;

echo “linea2”;

• O bien usar el comando “nueva linea”: \n de PHP. Por ejemplo:echo “linea1\n”;

echo “linea2”;

Page 32: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Arrays en PHPArrays en PHP

• Un array permite guardar distintos valores en una variable y distinguirlos por un índice, por ejemplo: $variable[indice]

• El primer elemento se sitúa en el índice 0.

• Para asignar valores al array, lo hacemos así:$variable[indice]=valor

Page 33: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Por ejemplo, un array con los días de la semana:<?php$dia[0]=“Lunes”;$dia[1]=“Martes”;….….$dia[6]=“Domingo”;// mostrar el Juevesecho $dia[3];?>

Page 34: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• También podemos cargar el array con datos de la siguiente forma:<?php

$dia=array(“Lunes”,”Martes”,…..,”Domingo”);

// mostrar el Sábado

echo $dia(5);

?>

• De este modo la asignación de índices se hace de modo automático.

Page 35: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio

• La función date( ) permite trabajar con la fecha actual. Por ejemplo date(“w”) nos devuelve el numero de día de la semana, empezando por el 0.

• Se trata de cargar un array con los 7 días de la semana y usando la función anterior poner en pantalla un mensaje que diga: Hoy es ……”

Page 36: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• La cantidad de elementos de un array se puede obtener con la función count, por ejemplo, si tengo un array $dia con 7 elementos y le pido el valor de count($dia) me devolverá un 7.

Page 37: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Cálculos con PHPCálculos con PHP

• PHP incluye los operadores “+”, “-”, “*” y “/”

• Por ejemplo: $a=3+5

• Además incluye los operadores de incremento / decremento: “++” y “- -”. Por ejemplo: $a++ es lo mismo que $a=$a+1. Si tengo $b=6 y hago $b- - y entonces tengo que $b=5

Page 38: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio

• Con las variables $a=5 y $b=32. Realizar los cálculos (e imprimir los resultados) de:– La suma de a y b– La multiplicación de a y b– Sumar 5 unidades a b– Incrementar una unidad a “a”– Decrementar un unidad a b– Asignar a “a” el valor de b

Page 39: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio

• Usando los operadores de PHP, calcular imprimir el precio final de un producto que cuesta 750 € y al que se aplica un IVA de 16 %.

Page 40: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• La función round(valor,decimales) nos permite redondear una cantidad a un numero concreto de decimales. Por ejemplo:round(1.2375,2) devuelve 1.24

Page 41: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Formularios con PHP y HTMLFormularios con PHP y HTML

• PHP se hizo pensando en un uso sencillo con los formularios HTML.

• A través de PHP podemos validar y valorar el contenido de los formularios.

• Los formularios se crean en HTML con etiquetas <form> e <input> estándar.

• Desde PHP usaremos las variables que representan los datos del formulario.

Page 42: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjemploEjemplo

• Vamos a realizar un simple formulario HTML con una caja de texto y un botón de “Submit”.

Page 43: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Lo que haremos será hacer que el action del formulario sea mostrar la pagina “valorar.php” y como method pondremos “post”

<form action="valorar.php" method="post">

Su nombre:

<input type="text" name="nombre" />

<input type="submit" value="Enviar"/>

</form>

Page 44: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Ahora crearemos la pagina valorar.php: <?php

echo "Hola $nombre, bienvenido a PHP";

?>• Con lo cual, queda claro que para acceder al valor de la

caja, PHP usa el valor del “name” de la caja como si fuese una variable.

Page 45: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

La estructura condicional La estructura condicional ifif

• Nos permite evaluar una condición y tomar una decisión según el resultado del test.

• Su sintaxis es: if (condición) {

código a ejecutar si condición es Verdadera }

else {

código a ejecutar si condición es Falsa }

Page 46: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjemploEjemplo

• Crearemos un formulario HTML con dos botones de opción (radio), una caja y un botón de Enviar (submit).

Page 47: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• El código del formulario sería: <form action="valorar2.php" method="post">

Tratamiento

<input type="radio" name="trato" value="h" /> Sr.

<input type="radio" name="trato" value="m“ /> Sra. <br />

Su Apellido:

<input type="text" name="apellido" />

<input type="submit" value="Enviar" />

</form>

Page 48: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Ahora creamos la pagina valorar2.php:<?php

if ($trato=="h") {

echo "Hola Se&ntilde;or $apellido";}

else {

echo "Hola Se&ntilde;ora $apellido";}

?>

Page 49: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Los operadores de comparaciónLos operadores de comparación

• A==B, permite comprobar si A es igual a B

• A!=B, permite comprobar si A es distinto de B

• También tenemos: >, >=, <, <=

• Expr1 && Expr2 es Verdadero si Expr1 y Expr2 son verdaderas.

• Expr1 || Expr2 es Verdadero si Expr1 ó Expr2 son verdaderas ó lo son las dos.

Page 50: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

La función La función isset( )isset( )

• Esta función nos permite comprobar si una variable se ha definido y en ese caso devuelve un True.

• La sintaxis es isset($variable)

• Muy útil para comprobar si se han rellenado los campos de un formulario

Page 51: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio

• Usando la función isset y el bloque if, realizar una comprobación sobre una caja de texto cualquiera, advirtiendo al usuario en caso de que la caja se encuentre sin datos.

Page 52: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

SoluciónSolución

<?php

if (isset($nombre) && $nombre!="") {

echo "Hola $nombre, bienvenido a PHP";}

else {

echo "No has escrito nada"; }

?>

Page 53: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Valoración en el propio documentoValoración en el propio documento

<form action=“formulario.php” method="post"> <input type="text" name="nombre" /> <input type="submit" name="enviar" /> </form> <?php if (isset($nombre) && $nombre!="") { echo "Hola $nombre";} else { if (isset($enviar)) { echo "Rellena los campos";} } ?>

Page 54: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Los campos del formulario como un Los campos del formulario como un arrayarray

• PHP puede tratar los datos de un formulario como elementos de un array.

• Por ejemplo, si hemos usado method=“post” en el formulario, tendremos los diferentes campos dentro del array $_POST.

• Para acceder al campo nombre, lo haremos con $_POST[“nombre”]

Page 55: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio• Crear un sencillo formulario con una caja de

texto y un botón de envío que muestre el uso del array de campos anterior, por ejemplo para conseguir el campo nombre hacemos:

<?php

if (isset($_POST["nombre"]) && $_POST["nombre"]!="" && isset($_POST["boton_envio"])) {

echo "Hola " .$_POST["nombre"];}

?>

Page 56: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Cómo mantener los datos en un ¿Cómo mantener los datos en un formulario?formulario?

• Si enviamos un formulario y nos hemos olvidado de cubrir algún campo sabemos que las cajas se vacían (si el formulario se valida sobre si mismo), en este caso podemos hacer que se rellene un campo automáticamente haciendo:

<input type="text" name="nombre" value="<?php if(isset($nombre)) {

echo $nombre;}?>"/>

Page 57: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Redirección con Redirección con headerheader

• La función header de PHP permite redireccionar nuestra página hacia otra cualquiera.

• Su sintaxis es header(“Location: URL”), por ejemplo: header(“Location: destino.html”)

• Es importante que que esta orden se encuentre antes de la etiqueta <html> inicial

Page 58: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio

• Redireccionar alguna página HTML hacia otra cualquiera que tengamos en nuestro propio servidor.

• Modificar ahora el header para que todas las conexiones a nuestra página se redirigan a http://www.google.com

Page 59: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Cómo proteger texto HTML con ¿Cómo proteger texto HTML con PHP?PHP?

<form action="ver2.php" method="post"> <input type="text" name="pass" /> <input type="submit" /> </form> <?php if (isset($pass)) { if ($pass==“mipassword") { ?> <p>Esto va protegido por password</p> <?php }} ?>

Page 60: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

El bloque El bloque switchswitch

• Comprueba si una variable coincide con algún valor concreto; en caso afirmativo ejecuta un bloque de ordenes.

• En caso de no coincidir se ejecuta el bloque default

• Después de cada caso pondremos la orden break para evitar mas comprobaciones.

Page 61: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Sintaxis del bloque switch :switch ($variable) { case valor1: instrucciones; break; case valor1: instrucciones; break; ….. default: instrucciones por defecto;}

Page 62: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjemploEjemplo<?php switch ($numero) { case 1: echo “Has puesto el uno"; break; case 2: echo “Has puesto el dos"; break; case 3: echo “Has puesto el tres"; break; default: echo "No has puesto ni uno, ni dos, ni tres";} ?>

Page 63: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio

• Usando una estructura switch realizar un script PHP (llamado switch.php) que permita escribir un día de la semana e una caja de texto y al darle al botón de enviar nos imprima un texto personalizado. Para simplificar los casos vamos a considerar como respuestas posibles el lunes, el viernes y el domingo. Los demás días se considerarán en el bloque por defecto.

Page 64: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio• Sabemos que la etiqueta <body

bgcolor=“color”> permite especificar un color de fondo para nuestra pagina.

• Se trata de realizar un script PHP (llamado color.php) que mediante 3 botones de opcion (radio) y un boton estandar de submit nos permita cambiar el color de fondoe entre estos 3 colores: “white”, “silver”, “green”. Por defecto se mostrará el fondo en “blue”.

Page 65: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

SoluciónSolución<body bgcolor="<?php switch ($color) { case 1: echo "white"; break; case 2: echo "silver"; break; case 3: echo "green"; break; default: echo "blue";} ?>"> <form action=“color.php" method="post"> Blanco<input type="radio" name="color" value="1"/> Silver<input type="radio" name="color" value="2"/> Verde<input type="radio" name="color" value="3"/> <input type="submit“ /> </form> </body>

Page 66: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

El bucle El bucle whilewhile

• Un bucle sirve para ejecutar un grupo de instrucciones un determinado numero de veces, mientras una condición sea cierta.

• Sintaxis del while:

while (condición) {

ordenes;

}

Page 67: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjemploEjemplo

• El siguiente bucle imprime la frase “una iteracion del bucle”, 5 veces:

$contador=1;

while ($contador<=5) {

echo “una iteracion del bucle <br>”;

$contador++;

}

Page 68: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio

• Realizar un script PHP llamado while.php que muestre todos los números impares que hay entre 1 y 100

• Realizar ahora el mismo ejercicio anterior pero en este caso mostrando los números en el orden inverso

Page 69: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

El bucle El bucle do…whiledo…while

• Similar al while estandar, pero en este caso la comprobación de la condición se hace al final del bucle con lo cual nos aseguramos que al menos una vez se ejecutará el bucle.

• Sintaxis:

do {

código a ejecutar;

while (condición)

Page 70: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjemploEjemplo

<?php

$a=0;

do {

echo “$a <br>”;

$a++;}

while($a>=1 && $a<=100)

?>

• Este bucle imprime también el valor 0

Page 71: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

El bucle El bucle forfor

• Permite realizar un grupo de iteraciones sobre un conjunto de valores concretos, mientras una condición sea cierta.

• Sintaxis:

for (inicio; condición_seguir; incremento) {

ordenes a ejecutar;

}

Page 72: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjemploEjemplo

for ($i=1;$i<=100;$i++) {

echo “$i <br>”;

}

• Este bucle se inicia con $i valiendo 1, se comprueba que se cumple la condición (1<=100), se incrementa $i en una unidad ($i=2) y se sigue así hasta que $1 se pase de 100, entonces se para.

Page 73: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio

• Realizar las mismas iteraciones anteriores (las del bucle while) pero esta vez usando el bucle for.

• Crear un bucle for que muestre todos los números impares que hay entre el 10 y el 30.

Page 74: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

El bucle El bucle foreachforeach para arrays para arrays

• Permite recorrer un array y devolver los valores que contiene.

• Tiene una sintaxis simple y otra extendida

• Ejemplo de sintaxis simple:

foreach ($array as $value) {

echo “$value <br>”;

}

Page 75: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Ejemplo de sintaxis extendida:

foreach ($array as $key => $value) {

echo “$key vale $value <br>”;

}

• Es claro que en el array, $key equivale al índice y $value al valor del array para ese índice

Page 76: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio

• Crear un array $dias con los días de la semana y mostrar todas sus parejas indices / valores mediante el bucle foreach

Page 77: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Funciones en PHPFunciones en PHP

• Una función consiste en agrupar varios comandos en un solo comando que se almacena como una función.

• Sintaxis de la declaración de una función:

function nombrefuncion($parametros,…)

{

// Aquí van las órdenes de la función

return $valor; }Valor que

devuelve

Page 78: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjemploEjemplo

• La siguiente función devuelve la cantidad de segundos que hay en un determinado numero de días:

function segundos($dias)

{ $total=$dias*24*60*60;

return $total; }

echo “6 dias son “ .segundos(6). “segundos”;

El parámetro$dias recibe la cantidad

de dias

El cálculode los segundos

se guarda en $total

Se llamaa la función

con el valor 6

La funcióndevuelve el

cálculo

Page 79: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Cómo incluir un fichero PHP en ¿Cómo incluir un fichero PHP en otro? (muy útil para las funciones)otro? (muy útil para las funciones)

• Para ello usaremos la función include( )• Sintaxis: include(nombre_fichero);• Ejemplo: <?php echo “Antes de cargarlo”; include (“otro.php”); echo “Despues de cargarlo”; ?>

Las órdenesdel fichero“otro.php”se cargan

aquí

Page 80: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Envío de formularios por e-mailEnvío de formularios por e-mail

• Para enviar correos desde PHP usaremos la función mail, cuya sintaxis es:

mail (“email del destinatario”,”asunto”,”mensaje”,”From: email del remitente”)

• La función mail devuelve un True si el mail se envió correctamente y un False en caso contrario.

• Se necesita un servidor SMTP local para poder enviar los correos, o indicar otro externo

Page 81: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Este formulario permite enviar correos a una dirección de correo fija

Page 82: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio• Crear un script PHP que conste de un formulario

como el de la diapositiva anterior y que permita enviar correos a nuestra cuenta de Educastur: [email protected]

• Como no tenemos un servidor local de SMTP que nos envié los correos, iremos al fichero php.ini (en c:\winnt), y modificaremos la variable SMTP, para que sea:

SMTP = smtp.educastur.princast.es• Después de este cambio reiniciaremos el

servicio Apache desde la barra de tareas

Page 83: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Un contador de visitas en PHPUn contador de visitas en PHP

• Crearemos un contador tipo texto desde PHP.

• Usaremos un archivo para guardar las visitas a nuestra página, que gestionaremos desde PHP.

• Pero primero, tenemos que ver como acceder a archivos desde PHP. Vremos como abrir archivos y como cerrarlos.

Page 84: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Cómo abrir archivos?¿Cómo abrir archivos?

• Usaremos la función fopen( )

• Sintaxis para abrir un fichero:

$puntero=fopen(nombrearchivo,modo);– Nombrearchivo: nombre del fichero que

queremos abrir, por ejemplo “contador.txt”– Modo: se puede abrir en modo lectura (r), en

modo lectura / escritura (r+), en modo sólo escritura (w), etc..

Page 85: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Para qué sirve el puntero?¿Para qué sirve el puntero?

• Define un canal a través del cual se accede al fichero.

• Desde que el fichero está abierto se trabaja con el puntero.

• Cuando se abre el fichero, el puntero se coloca al principio del fichero para esperar instrucciones.

Page 86: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

La función La función fgets( )fgets( )

• Permite leer los datos de un archivo.

• Se termina de leer cuando se alcanza el último carácter del fichero o el último byte de datos.

• Sintaxis:

fgets($puntero,byte);

donde byte indica cuantos bytes (caracteres) queremos leer del fichero

Page 87: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Las funciones Las funciones rewind( )rewind( ) y y fputs( )fputs( )

• rewind( ) permite colocar el puntero al principio de la linea.

• fputs( ) permite escribir datos en el fichero, su sintaxis es:

fputs($puntero,datos_a _escribir);

Page 88: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Cierre del fichero con Cierre del fichero con fclose( )fclose( )

• Cuando terminamos de trabajar con el fichero debemos cerrarlo siempre.

• Sintaxis:

fclose($puntero);

Page 89: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio

• Realizar un contador de visitas en PHP.

• En la carpeta htdocs, crearemos un fichero de texto “visitas.txt” y escribiremos en él un 0.

• Crearemos un fichero contador.php e implementaremos en él las siguientes instrucciones:

Page 90: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

1. Abrir el fichero en modo lectura / escritura.

2. Leer del fichero 8 bytes (ó la cantidad deseada) y guardarlos en una variable que llamaremos $contador

3. Escribir en pantalla: “Esta es la visita numero: $contador”

4. Incrementar el contador en una unidad

5. Colocar el puntero al principio del fichero

6. Escribir el nuevo valor del contador en el fichero

7. Cerrar el fichero

Page 91: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

SoluciónSolución

<?php$puntero=fopen("visitas.txt","r+");$contador=fgets($puntero,8);echo “Esta es la visita numero: $contador”;$contador++;rewind($puntero);fputs($puntero,$contador);fclose($puntero);?>

Page 92: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Otras funciones: las función Otras funciones: las función fread( ) fread( ) y fwrite( )y fwrite( )

• fread() es similar a la función fgets( ), pero es este caso se lee todo al fichero, no se va línea por línea como en el caso de fgets( )

• Sintaxis:

fread($puntero,byte);

• fwrite() nos permite escribir un valor en un fichero con la sintaxis: fwrite($puntero,valor);

Page 93: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Otras funciones: la función Otras funciones: la función filesize( )filesize( )

• Permite averiguar el tamaño en bytes de un fichero.

• Muy útil para usarla con las funciones fgets( ) y fread( )

• Su sintaxis es:

filesize(nombrearchivo);

Page 94: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Otras funciones: la función Otras funciones: la función readfile( )readfile( )

• Esta función lee y muestra todo el contenido de un fichero.

• Sintaxis:

readfile(nombrearchivo);

Page 95: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio

• Usando las funciones fwrite() y readfile(), implementar un libro de visitas en PHP, que conste de una caja de texto y un botón para escribir los comentarios.

• Los comentarios del fichero se mostraran en la pagina PHP, separados por párrafos

• El fichero de visitas se abrirá en modo “a” (append) para permitir sólo añadir nuevos datos

Page 96: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Solución de la parte PHPSolución de la parte PHP

<?php$puntero=fopen("mis_visitas.txt","a");fwrite($puntero,nl2br($opinion)."<p>");fclose($puntero);?><h3>Opiniones enviadas</h3><?phpreadfile("mis_visitas.txt");?>

La funciónnl2br

respeta los saltos de

línea

Page 97: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

Cookies con PHPCookies con PHP

• Las cookies (galletas informáticas) son simples ficheros de texto mediante los cuales un sitio web almacena información en el ordenador del usuario.

• Solamente el sitio que ha creado la cookie es capaz de volver a leerla.

• Las cookies son un asunto privado entre el sitio web y el usuario

Page 98: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Cómo se envía un cookie?¿Cómo se envía un cookie?

• Para establecer una cookie usaremos la sintaxis:

setcookie(“nombre”,”valor”,caducidad); donde:– nombre: es el valor que le damos a la cookie– valor: sería el valor que le damos– caducidad: indica la fecha en la que caducará

la cookie, por ejemplo: time()+(86400*30), es decir dentro de 30 días

Page 99: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

• Importante: si usamos cookies, la primera orden deberá ser establecer la cookie.

• Ejemplo:

<?php

setcookie(“micookie”,”si”,time()+86400)

?>

• El ejemplo anterior establece una cookie de nombre “micookie” con el valor “si” y que durará un día.

Page 100: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Cómo leer una cookie?¿Cómo leer una cookie?

• Lo mejor de todo es que el nombre de la cookie se maneja como una variable PHP corriente.

• En el ejemplo anterior, podemos usar la variable $micookie para comprobar si está establecida y si tiene el valor de “si”.

• De este modo se pueden mostrar mensajes personalizados al navegador del usuario, usando por ejemplo la sentencia if

Page 101: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjemploEjemplo<?php setcookie(“micookie","si",time()+(86400*30)); ?><html> <head> <title>Mi pagina</title> </head> <body><?phpif (isset($micookie) && $micookie=="si") {echo "Gracias por volver a mi pagina"; }else {echo "Bienvenido a mi pagina"; }?> </body></html>

Se establecela cookie

Se comprueba

si está establecid

a y su valor

Page 102: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

¿Cómo borrar una cookie?¿Cómo borrar una cookie?

• Para borrarla se establece la misma cookie de nuevo, pero esta vez se envía un tiempo de caducidad que ya haya pasado, por ejemplo:

setcookie(“micookie”,”si”,time()-86400);

Page 103: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

EjercicioEjercicio• Crear una pagina PHP que conste de un

formulario con una caja de texto y un boton de “submit”.

• Se trata de la primera vez se nos pregunte por nuestro nombre (que escribiremos en la caja) y en las siguientes ocasiones una cookie establecida nos recuerde.

• El “action” del formulario nos enviará a otra pagina PHP que será quien establezca la cookie

Page 104: Una introducción al lenguaje. ¿Qué es PHP? Se trata de un lenguaje de programación que es interpretado por un servidor web. No se trata de un lenguaje

SoluciónSolución<?phpif (isset($galleta)&& $galleta!="") {echo "Tu nombre es: $galleta<br />";}?><html> <head> <title>Ejemplo de una cookie</title> </head> <body> <form action="hola.php" method="post"> Indica tu nombre <input type="text" name="nombre" /> <input type="submit" value="Enviar nombre" /> </form> <?php setcookie("galleta",$nombre,time()+86400); ?> </body></html>

Si la cookie está establecida se

muestra su valor

Se pregunta porel nombre

Se establece laCookie con el

valor de la caja de texto