clase 5 php

22
INTRODUCCION Programación Web PHP PÁGINAS WEB DINÁMICAS PÁGINAS WEB DINÁMICAS

Upload: ruben-lozano

Post on 20-Jul-2015

77 views

Category:

Health & Medicine


0 download

TRANSCRIPT

Page 1: Clase 5 php

INTRODUCCION Programación Web PHP

PÁGINAS WEB DINÁMICASPÁGINAS WEB DINÁMICAS

Page 2: Clase 5 php

Competencia del Ciclo

Identifica las diferentes estructuras de control, reconociendo la utilidad de estas y su aplicación, para construir páginas con fundamentos de programación en dream Weaver.

Page 3: Clase 5 php

Estructuras de Control

Todo lenguaje de programación dispone de órdenes de control de flujo, que permite al programa tomar decisiones lógicas según reciba unos parámetros o otros: si llueve coge el paraguas; pero si hace sol vete a la playa.

Las posibilidades que ofrece php son: if/else if/elseif/else switch do/while while for

Page 4: Clase 5 php

Estructuras de Controlif else

Es la estructura de control mas corriente: La declaración if obliga a evaluar la expresión entre paréntesis; si se evalua como verdadera, se ejecuta un bloque de código; si se evalua como falsa, el bloque de código es ignorado. De esta forma nuestro script puede tomar decisiones:

<?php $edad = 14; if ($edad >= 18) { echo “Mayor de Edad"; } else { echo “Menor de Edad"; } ?>

Page 5: Clase 5 php

Estructuras de Control

Opcionalmente podemos usar una declaración else, que indicará el código que debe ejecutarse si la condición no es cumplida. La declaración else no es obligatoria, y no puede estar a su vez condicionada: else (otra condición) {...} sería inválido.

<?php if ($user == "pepe") { // código especial para el usuario pepe } // código para todos los usuarios, sean o no pepe ?>

El código condicionado a la cláusula if solo se evalua si la condición (que siempre debe estar entre paréntesis) se evalua como verdadera. Si no se cumple, la ejecución pasa al siguiente bloque de código.

Solo es estrictamente necesario el uso de llaves {} encerrando el código sujeto a la condición cuando ocupa mas de una línea.

Page 6: Clase 5 php

Estructuras de Control

Condiciones complejasMediante el uso de operadores podemos introducir condiciones complejas, agrupándolas con parentesis: <?php if (($edad >= 18)&& ($carnet_conducir == 1)) { } ?>

Page 7: Clase 5 php

Estructuras de Control if elseif elseExactamente igual que la anterior, solo que evaluando mas de una

condición:

<?php if ($user == "pepe") { // codigo para pepe } elseif ($user == "juan") { // codigo para juan } else { // codigo para quienes no son juan ni pepe }

?>

Page 8: Clase 5 php

Estructuras de Control switch

switch es una alternativa quizas mas legible cuando necesitamos evaluar una variable frente a multiples valores posibles:

<?php

$op = "a";

switch ($op) { case "a": // código que se ejecuta si $op vale "a" break;

case "b": // código que se ejecuta si $op vale "b" break; case "c": // código que se ejecuta si $op vale "c" break; default: // código a ejecutar por defecto si no se cumple ninguna condición }

?>El uso de break; es necesario, ya que en la estructura switch una vez cumplida una condición se ejecutan el resto de declaraciones (incluso las comprendidas en los casos que siguen). La orden break evita esto saltando fuera del switch y continuando la ejecución del resto del script. Si en lugar de break usamos exit, el resto del script no se ejecutará.

Page 9: Clase 5 php

Estructuras de Control

bucles. WhileA diferencia de los controles condicionales simples vistos hasta ahora, los bucles toman otro tipo de decisiones: si se da la condición, ¿cuantas veces he de ejecutar esta parte de código ?

<?php $i=1;

while ($i <=10) { echo "$i<br>"; $i++; }

?>

Page 10: Clase 5 php

Estructuras de Control

Lo que traducido a lenguaje llano, viene a querer decir: mientras la variable $i tenga un valor menor de 10 ($i<=10), imprime $i y una nueva línea.

Para que el bucle funcione correctamente necesitamos cumplir dos condiciones. La primera, obvia, que $i sea inicialmente menor de 10. Si es inicialmente mayor, la condición no se cumple, y el bucle no se ejecuta.

La segunda, que a cada ejecución del código $i aumente de valor ($i++), lo que es imprescindible, ya que en caso contrario (si $i valiese siempre 1) la condición sería siempre cierta y no podríamos salir nunca del bucle.

while tiene también una sintaxis alternativa:

while (expr): sentencia ... endwhile;

Page 11: Clase 5 php

Estructuras de Control

Do whileLa única diferencia que existe con el anterior es que aqui la condición se evalúa despues de ejecutar el código, por lo que el bucle será efectivo al menos una vez:

<?php $i=11; do { echo "$i<br>"; $i++; }

while ($i <=10);

?>

Page 12: Clase 5 php

Estructuras de Control

For<?php for($i=1; $i<=10; $i++) { echo "$i<br>"; }

?>

Similar en su funcionalidad a while, el bucle for toma tres parámetros, separados los dos primeros por punto y coma: valor inicial de la variable de control, valor final y incremento de la misma.

Page 13: Clase 5 php

Funciones para StringCalculando la longitud de nuestra cadena

La función strlen nos facilita la longitud de una cadena de texto: strlen (string)

<?php $cadena = "hola como te va"; $longitud = strlen($cadena); echo $longitud; // 15 $cadena = "hola como te va"; // un espacio extra $longitud = strlen($cadena); echo $longitud; // 16 ?>

Page 14: Clase 5 php

ReflexiónReflexiónPreguntas Generadoras

¿Qué es una estructura de control? ¿Qué es la estructura For? ¿Qué es la estructura If? ¿Qué es la estructura While? ¿Qué es la estructura Do While?

Page 15: Clase 5 php

Formularios

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.

Page 16: Clase 5 php

Formularios <html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de procesado de formularios</H1> Introduzca su nombre: <FORM ACTION="procesa.phtml" METHOD="GET"> <INPUT TYPE="text" NAME="nombre"><BR> <INPUT TYPE="submit" VALUE="Enviar"> </FORM> </body> </html>

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.

Page 17: Clase 5 php

Formularios En versiones anteriores a 4.2.0 PHP creaba una

variable por cada elemento del FORM, esta variable creada tenía el mismo nombre que el cuadro de texto de la página anterior y el valor que habíamos introducido. Pero por razones de seguridad a partir de entonces 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.

En este ejemplo se ha creado una entrada en el array $_GET[] con el índice 'nombre' y con el valor que haya introducido el navegante.

Page 18: Clase 5 php

Formularios

<html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de procesado de formularios</H1> El nombre que ha introducido es: <?php echo $_GET['nombre'] ?> <br> </body> </html>

Page 19: Clase 5 php

Method GET y POST En la página anterior hemos comentado

que los datos de un formulario se envía mediante el método indicado en el atributo METHOD de la etiqueta FORM, los dos métodos posibles son GET y POST.

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 20: Clase 5 php

Method GET y POST<html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de procesado de formularios</H1>

<FORM ACTION="procesa2.phtml" METHOD="GET"> Introduzca su nombre:<INPUT TYPE="text" NAME="nombre"><BR> Introduzca sus apellidos:<INPUT TYPE="text" NAME="apellidos"><BR> <INPUT TYPE="submit" VALUE="Enviar"> </FORM> </body> </html>

Page 21: Clase 5 php

Method GET y POST<html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de procesado de formularios</H1>

<FORM ACTION="procesa2.phtml" METHOD="POST"> Introduzca su nombre:<INPUT TYPE="text" NAME="nombre"><BR> Introduzca sus apellidos:<INPUT TYPE="text" NAME="apellidos"><BR> <INPUT TYPE="submit" VALUE="Enviar"> </FORM>

</body> </html>

Page 22: Clase 5 php

Method GET y POST procesa2.phtml

<html> <head> <title>Ejemplo de PHP</title> </head> <body> <H1>Ejemplo de procesado de formularios</H1> El nombre que ha introducido por GET es: <?php echo $_GET['nombre']," ",$_GET['apellidos'] ?><br>

El nombre que ha introducido por POST es: <?php echo $_POST['nombre']," ",$_POST['apellidos'] ?> <br> </body> </html>