Vous êtes sur la page 1sur 15
Object 1 El lenguaje PHP tiene varias estructuras de control para bucles y bifurcaciones condicionales.

Object 1

El lenguaje PHP tiene varias estructuras de control para bucles y bifurcaciones condicionales.

El famoso Hola Mundo:

1

<?php

2

3

echo "Hola mundo!!!";

4

5

?>

Estructuras de control en PHP:

Las condiciones if

Cuando queremos que el programa, llegado a un cierto punto, tome un camino concreto en determinados casos y otro diferente si las condiciones de ejecución difieren, nos servimos del conjunto de instrucciones if, else y elseif. La estructura de base de este tipo de instrucciones es la siguiente:

if (condición)

{

Instrucción 1;

Instrucción 2;

}

else

{

Instrucción A;

Instrucción B;

}

Ejemplo:

1

<HTML>

2

<HEAD>

3

<TITLE>Detector de Lengua</TITLE>

4

</HEAD>

5

<BODY>

6

<?php

7

//Antes de nada introducimos mensajes en forma de variables

8

$espanol="Hola";

9

$ingles="Hello";

10

$frances="Bonjour";

11

12

//Ahora leemos del navegador cuál es su lengua oficial

13

$idioma=substr($HTTP_ACCEPT_LANGUAGE,0,2);

14

15

//Formulamos las posibilidades que se pueden dar

16

if ($idioma == "es")

17

{echo "$espanol";}

18

elseif ($idioma=="fr")

19

{echo "$frances";}

20

else

21

{echo "$ingles";}

22

?>

23

</BODY>

24

</HTML>

Switch

La sentencia switch es similar a una serie de sentencias IF en la misma expresión. En muchas ocasiones, es posible que se quiera comparar la misma variable (o expresión) con muchos valores diferentes, y ejecutar una parte de código distinta dependiendo de a que valor es igual. Para esto es exactamente la expresión switch.

Ejemplo:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

<?php

if ($i == 0) {

echo "i es igual a 0";

} elseif ($i == 1) {

echo "i es igual a 1";

} elseif ($i == 2) {

echo "i es igual a 2";

}

switch ($i) { case 0:

echo "i es igual a 0"; break; case 1:

echo "i es igual a 1"; break; case 2:

echo "i es igual a 2";

break;

default:

echo "i no esigual a 0, 1 ni 2";

}

?>

Bucle while

Sin duda el bucle más utilizado y el más sencillo. Lo usamos para ejecutar las instrucciones contenidas en su interior siempre y cuando la condición definida sea verdadera. La estructura sintáctica es la siguiente.

while (condición)

{

instruccion1;

instruccion2;

}

Un ejemplo sencillo es este bucle que aumenta el tamaño de la fuente en una unidad a cada nueva vuelta por el bucle:

1

<?php

2

$size=1;

3

While ($size<=6)

4

{

5

echo"<font size=$size>Tamaño $size</font><br>n";

6

$size++;

7

}

8

?>

Bucle do/while

Este tipo de bucle no difiere en exceso del anterior. La sintaxis es la siguiente:

do

{

instruccion1;

instruccion2;

}

while (condición)

La diferencia con respecto a los bucles while es que este tipo de bucle evalúa la condición al final con lo que, incluso siendo falsa desde el principio, éste se ejecuta al menos una vez.

Bucle for

PHP está provisto de otros tipos de bucle que también resultan muy prácticos en determinadas situaciones. El más popular de ellos es el bucle for que, como para los casos anteriores, se encarga de ejecutar las instrucciones entre llaves. La diferencia con los anteriores radica en cómo se plantea la condición de finalización del bucle. Para aclarar su funcionamiento vamos a expresar el ejemplo de buclewhile visto en el capítulo anterior en forma de bucle for:

1 <?php

2 for ($size=1;$size<=6;$size++) 3 { 4 echo"<font size=$size>Tamaño $size</font><br>n";

5 }

6 ?>

Bucle foreach

Este bucle, implementado en las versiones de PHP4, nos ayuda a recorrer los valores de un array lo cual puede resultar muy útil por ejemplo para efectuar una lectura rápida del mismo. Recordamos que un array es una variable que guarda un conjunto de elementos (valores) catalogados por claves.

La estructura general es la siguiente:

foreach ($array as $clave=>$valor)

{

instruccion1;

instruccion2;

…;

}

Un ejemplo práctico es la lectura de un array lo cual podría hacerse del siguiente modo:

<?php 2 1 $moneda=array("España"=> "Peseta","Francia" => "Franco","USA" => 3 "Dolar"); 4 foreach ($moneda as $clave=>$valor)

{

6 5 echo "Pais: $clave Moneda: $valor<br>";

}

7 ?>

Break y continue

Estas dos instrucciones se introducen dentro de la estructura y nos sirven respectivamente para escapar del bucle o saltar a la iteración siguiente. Pueden resultarnos muy prácticas en algunas situaciones.

Durante una iteración de un bucle podemos saltar directamente a la siguiente iteración, sin seguir con la actual, con la instrucción continue.

También podemos detener completamente las repeticiones de cualquier bucle con break, lo que parará

la ejecución de la iteración actual y de las siguientes que pudiera haber.

Como imprimir un mensaje en php.

A partir de ahora llamaremos sentencia a las ordenes que demos en Php, oki? Una de las sentencias

que más usaremos en Php es la que ordena que se muestre un contenido en la página web. Esa

sentencia se llama echo y se usa escribiéndola dentro de la zona de php (entre las etiquetas de principio

y final) seguida del mensaje a mostrar encerrado entre dobles comillas, así:

echo "Esta es mi quinta frase hecha con Php!" ;

Ves que hemos colocado un punto y coma al final? Pues ya sabes una cosa más, todas las sentencias terminan en un punto y coma ; Si no se coloca nos dará un error.

Si añades esa línea, perdón, esa sentencia ;) el código anterior nos quedaría así:

<html>

<head>

<title>Mi quinta página con php</title>

</head>

<body>

<h1>Mi quinto ejemplo Php</h1>

<p>Este es mi quinto ejemplo con partes de Php</p>

<?php

echo "Esta es mi quinta frase hecha con Php!" ;

?>

</body>

</html>

Qué va a ocurrir al subir este archivo a la red? Si lo subimos y visitamos la página veremos este

resultado:

Mi quinto ejemplo Php Este es mi quinto ejemplo con partes de Php Esta es mi quinta frase hecha con Php!

Si ahora miras su código Html no verás las líneas de Php que habíamos escrito, sino que verás solo el

Html que el servidor ha traducido a partir del código con Php, es decir, verías esto:

<html>

<head> <title>Mi quinta página con php</title> </head>

<body> <h1>Mi quinto ejemplo Php</h1> <p>Este es mi quinto ejemplo con partes de Php</p> Esta es mi quinta frase hecha con Php! </body> </html>

Como ves, la sentencia echo lo único que hace es colocar dentro del código Html lo que hay dentro de

las dobles comillas. No es mucho, pero para ser nuestro primer día con Php

te defraude, es solo un principio muy muy básico, je je je.

Como a nosotros nos gusta tener nuestro código Html bien limpito y bien estructurado, vamos a incluir dentro de esas dobles comillas las etiquetas <p> y </p>, no? Así el código de nuestra página php sería este:

<html>

<head> <title>Mi quinta página con php</title>

</head> <body> <h1>Mi quinto ejemplo Php</h1> <p>Este es mi quinto ejemplo con partes de Php</p> <?php echo "<p>Esta es mi quinta frase hecha con Php!</p>" ; ?> </body> </html>

Y el resultado final que ve el visitante sería en ese caso este otro:

<html>

no? Espero que esto no

<head> <title>Mi quinta página con php</title> </head> <body> <h1>Mi quinto ejemplo Php</h1> <p>Este es mi quinto ejemplo con partes de Php</p>

<p>Esta es mi quinta frase hecha con Php!</p>

</body>

</html>

La única diferencia es que ahora esa frase está dentro de un párrafo, como tiene que ser.

PHP isset(): Comprobar si una variable está definida

Rápido y sencillo post sobre la función PHP isset(), dicha función comprueba si una variable está definida o no en el script de PHP que se está ejecutando.La definición es la siguiente:

Determina si una variable está definida y no es NULL

Otras funciones similares son:

PHP is_null(): Para comprobar si una variable es NULL.

PHP empty(): Para saber si una variable está vacía.

Comparativa de las 3 funciones:

Diferencias entre PHP isset(), empty() e is_null()

Sintaxis de PHP isset()

Vamos a ver la sintaxis extraída de su web oficial:

PHP

isset (var1, var2, var3

)

1

isset (var1, var2, var3

)

Os explico los parámetros:

La función devuelve TRUE o FALSE.

var1 (Obligatorio): Variable que queremos comprobar si está definida.

var 2, var3… (Opcionales): Variables adicionales a comprobar.

Funcionalidad de PHP isset()

En caso de que al inicio del script la variable exista pero posteriormente se elimine con la función unset() el resultado devuelto por isset() será FALSE.

Si se pasan varias variables el resultado será TRUE si todas ellas están definidas, si alguna no lo está devolvera FALSE.

Otro caso que nos podemos encontrar es que una variable sea NULL, en ese caso devolverá FALSE.

Ejemplos de PHP isset()

He preparado estos ejemplos básicos para que comprobéis el funcionamiento:

PHP

//Ejemplo con variable definida $variable = 'valor'; if (isset($variable)) { echo "Variable definida!!!"; } else { echo "Variable NO definida!!!"; } //Ejemplo con variables definidas $variable = 'valor'; $variable2 = 'valor2';

if (isset($variable,$variable2)) { echo "Variables definidas!!!";

}

else { echo "Variables NO definidas!!!"; }

//Ejemplo con variables NO definidas

$variable = 'valor'; $variable2 = 'valor2';

if (isset($variable,$variable2, $variable3))

{

echo "Variables definidas!!!";

}

else { echo "Variables NO definidas!!!";

}

//Ejemplo con variable definida

$variable = 'valor';

if (isset($variable))

{

echo "Variable definida!!!";

}else

{

echo "Variable NO definida!!!";

}

//Ejemplo con variables definidas

$variable = 'valor';

$variable2 = 'valor2';

if (isset($variable,$variable2))

{

echo "Variables definidas!!!";

}else

{

echo "Variables NO definidas!!!";

}

//Ejemplo con variables NO definidas

$variable = 'valor';

$variable2 = 'valor2';

if (isset($variable,$variable2, $variable3))

{

echo "Variables definidas!!!";

}else

{

echo "Variables NO definidas!!!";

}

Os explico el ejemplo:

En la primera comprobación tenemos la variable definida correctamente, por lo que devuelve TRUE.

En la segunda, tenemos 2 variables y preguntamos si están definidas, devuelve TRUE.

En la tercera y última comprobación preguntamos por una tercera variable que no está definida, devuelve FALSE.

Acceso a datos de un formulario HTML sencillo con POST

<?php echo $_POST['username']; echo $_REQUEST['username']; ?>

$_GET

<?php echo 'Hola ' . htmlspecialchars($_GET["nombre"]) . '!'; ?>

Asumiendo que el usuario introdujo http://example.com/?nombre=Hannes El resultado del ejemplo sería algo similar a:

Hola Hannes!

que el usuario introdujo http://example.com/?nombre=Hannes El resultado del ejemplo sería algo similar a: Hola Hannes!
Cómo pasar variables de una página a otra en una web con PHP Hay dos

Cómo pasar variables de una página a otra en una web con PHP

Hay dos métodos para pasar variables de una página a otra: utilizando un formulario o mediante la URL. Cada uno tiene una manera de recuperar los datos en la página de destino, el primero mediante el uso de la variable global $_POST, el segundo mediente $_GET.

Utilizaremos el primer método cuando tengamos que usar un formulario para que el usuario introduzca algún valor, como por ejemplo en un formulario de búsqueda o en uno de contacto que permita enviar un mensaje. Utilizaremos el segundo cuando sean variables que no dependan en absoluto de la interacción del usuario, sino que sencillamente queramos transferir de una página a otra.

Paso de variables mediante formulario y $_POST

En la página de origen construiremos un formulario. Transferiremos a la página de destino las variables deseadas mediante la marca input de tipo hidden , con el atributo name las definiremos, y con el atributo value les asignaremos un valor.

1 <form action="http://url.pagina.destino" method="post">

2 <input type="hidden" name="variable1" value="valor1" />

3 <input type="hidden" name="variable2" value="valor2" />

4 <input type="text" value="" />

5 <input type="submit" value="Buscar" />

6 </form>

Para recuperar las variables en la página dedestino bastará utilizar la variable global $_POST:

1 <?php

3

$v2 = $_POST['variable2'];

4 ?>

Paso de variables mediante URL y $_GET

En la página de origen construiremos un enlace a la página de destino que incluya las variables a transferir, de la siguiente manera:

1 <a href="http://url.pagina.destino/? variable1=valor1&variable2=valor2">Enlace a página de destino</a> Para recuperar las variables en la página dedestino bastará utilizar la variable global $_GET:

1 <?php

2 $_GET['variable1'];

3 $v2 = $_GET['variable2'];

4 ?>

$v1 =