Hola a tod@s,
Hoy continuamos con nuestro curso que dejamos el miércoles pasado con su sexta entrega, Desarrollo Web con PHP y MySQL (VI), donde estuvimos viendo como se trabaja con Arrays (Matrices) en PHP.
Estuvimos viendo como se creaban, como les cambiábamos los índices, como los imprimíamos por pantalla, como accedíamos a sus elementos, como les añadíamos elementos nuevos, como eliminábamos elementos, lo vaciábamos o eliminábamos el array completamente.
A parte de todo esto, vimos muchos métodos para trabajar más fácilmente con ellos, por ejemplo, vimos que con array_merge() nos permitía combinar 2 arrays en 1.
Más tarde mostramos como crear arrays multidimensionales (más de 1 dimensión) y como acceder a sus elementos. También vimos como ordenar todos los elementos de un array mediante métodos de ordenación como sort(), rsort(), asort(), arsort(), ksort() i krsort().
También vimos métodos nuevos para transformar arrays en cadenas de caracteres y viceversa con los métodos implode() y explode().
En el ejemplo que vimos (Ejemplo de envío de formulario), aplicamos las funciones que habíamos visto y pudimos comprobar cómo trabajaba PHP con arrays y los nuevos métodos aprendidos de forma práctica.
Hoy continuaremos con el estudio de las Estructuras de Control en PHP.
Las estructuras de control permiten modificar el flujo de ejecución de las instrucciones de un programa en PHP.
Con las estructuras de control se puede:
- De acuerdo a una condición, ejecutar un grupo u otro de sentencias.
- Ejecutar un grupo de sentencias mientras exista una condición.
- Ejecutar un grupo de sentencias hasta que exista una condición.
- Ejecutar un grupo de sentencias un número determinado de veces (Bucle).
Los lenguajes de programación modernos tienen estructuras de control similares. Básicamente lo que varía entre las estructuras de control de los diferentes lenguajes es su sintaxis. La mayoría de los lenguajes de programación son puramente textuales, es decir, utilizan secuencias de texto que incluyen palabras, números y puntuación, de manera similar a los lenguajes naturales escritos. Por eso, cada lenguaje tiene una sintaxis propia para expresar la estructura.
Siguiendo la numeración de capítulos del curso, continuamos con el capítulo 9.
9. Estructuras de Control
Las estructuras de control en PHP, se pueden dividir en tres tipos o categorías:
- Las condicionales
- Los bucles
- Los saltos
9.1 Condicionales
Una sentencia condicional es una instrucción o grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición.
9.1.1 Condición IF
Se trata de una estructura de control que permite redirigir un curso de acción según la evaluación de una condición simple, sea falsa o verdadera.
1 2 3 4 5 6 7 8 9 |
<?php if(condición) { //Sentencia; } //Si la condición es verdadera, se ejecutará la sentencia, sino no la ejecutará. ?> |
9.1.2 Condición IF-ELSE
Si la condición es verdadera, se ejecuta el bloque de sentencias 1, de lo contrario, se ejecuta el bloque de sentencias 2.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<?php if(condición) { //Bloque sentencias 1; }else{ //Bloque sentencias 2; } /* Si la condición es verdadera, se ejecutará el Bloque sentencias 1, sino ejecutará el Bloque sentencias 2. */ ?> |
9.1.3 Condición ELSEIF
Es como juntar dos estructuras IF-ELSE seguidas y su punto de final de la primera e inicio de la segunda es la palabra ELSEIF (también se puede escribir con un espacio, ELSE IF).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php if(condición 1) { //Bloque sentencias 1; }elseif(condición 2){ //También se puede escribir con un espacio (else if) //Bloque sentencias 2; }else{ //Bloque sentencias 3; } /* Si la condición 1 es verdadera, se ejecutará el Bloque sentencias 1, sino, si la condición 2 es verdaderá, ejecutará el Bloque sentencias 2, y si ninguna de las condiciones es verdadera,ejecutará el Bloque de sentencias 3. */ ?> |
9.1.4 Condición 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 qué valor es igual.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<?php switch(Variable o Condición) { case 'valor 1': Sentencia 1; break; case 'valor 2': Sentencia 2; break; default: Sentencia por defecto; break; } /* La estructura switch funciona de la siguiente forma, si por ejemplo la condición fuese una variable como $numero y queremos ejecutar senténcias diferentes dependiendo del valor de la variable, usaremos esta estructura. Si sabemos que la variable normalmente ha de valer por ejemplo 1 y 2, y los demás valores son errores, podemos poner en el primer caso "case 1:" y en el segundo "case 2:",y el default será para el resto de valores. Cuando el switch analiza la condición, en este caso es una variable, comprueba el valor y si es 1, ejecutará la Sentencia 1. Si su valor es 2, ejecutará la Sentencia 2. Y si su valor no es ni 1 ni 2, ejecutará el default (Senténcia por defecto). */ ?> |
La palabra reservada BREAK termina la ejecución de la estructura actual. BREAK acepta un argumento numérico opcional el cual indica de cuantas estructuras anidadas encerradas se debe salir.
Si por ejemplo tenemos una estructura del tipo IF-ELSE, y en su Sentencia 1 (Si la condición es verdadera) tenemos otra estructura del tipo switch, podemos poner un BREAK 1 dentro del SWITCH para salir solamente del SWICTH, pero si ponemos BREAK 2, saldremos del Switch y del IF-ELSE al mismo tiempo.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php $i = 5; if ($i != 0) { switch ($i) { case 1: echo "Vale $i"; break 1; // Sólo sale del SWITCH case 5: echo "Vale $i"; break 2; // Sale del SWITCH y del IF default: break; } } /* En este caso como $i vale 5, entrará en el IF por que es verdadero, y dentro encontramos una estructura SWITCH, y en este se ejecutará el 2º caso (case 5:) en el cual mostrará el valor de $i y con BREAK 2, nos sacará del SWITCH y del IF al mismo tiempo. Si el valor de $i fuese diferente a alguno de los case (1 o 5), ejecutaría el default, el cual solo nos sacaría del SWITCH y acabariamos la ejecución del IF. */ ?> |
9.2 Bucles
Un bucle o ciclo, es una sentencia que se realiza repetidas veces a un trozo aislado de código, hasta que la condición asignada a dicho bucle deje de cumplirse.
Generalmente, un bucle es utilizado para hacer una acción repetida sin tener que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código más claro y facilita su modificación en el futuro.
9.2.1 Bucle FOR
Los bucles FOR son los más complejos en PHP. Se comportan como sus homólogos en C. La sintaxis de un bucle FOR es:
1 2 3 4 |
for (expresión inicial; Condición; Expresión final) { sentencia; } |
La primera expresión (expresión inicial) es evaluada (ejecutada) una vez incondicionalmente al comienzo del bucle.
En el comienzo de cada iteración(repetición), se evalúa Condición. Si se evalúa como TRUE, el bucle continúa y se ejecutan la/s sentencia/s anidada/s. Si se evalúa como FALSE, finaliza la ejecución del bucle.
Al final de cada iteración, se evalúa (ejecuta) Expresión final (Normalmente es un incremento o decremento).
Todos estos ejemplos muestran los números del 1 al 10 utilizando el bucle FOR:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<?php // ejemplo 1 for ($i = 1; $i <= 10; $i++) { echo $i; } // ejemplo 2 for ($i = 1; ; $i++) { if ($i > 10) { break; } echo $i; } // ejemplo 3 $i = 1; for (; ; ) { if ($i > 10) { break; } echo $i; $i++; } // ejemplo 4 for ($i = 1, $j = 0; $i <= 10; $j += $i, print $i, $i++); ?> |
Los bucles FOR son muy útiles para recorrer Arrays y, por ejemplo, buscar elementos fácilmente:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php $arr = array("naranja", "platano", "manzana", "limon"); for ($i = 0; $i < count($arr); $i++) { $a = $arr[$i]; //Creamos una nueva variable $a y la rellenamos con el Array echo $a ."\n"; } // O también: for ($i = 0, $c = count($arr); $i < $c; $i++) { $a = $arr[$i]; echo $a ."\n"; } ?> |
9.2.2 Bucle FOREACH
Es una estructura de control pensada solo para trabajar con Arrays. Nos permite iterar de manera sencilla para cada valor de un array.
Su sintaxis es:
1 2 3 4 |
foreach($array as $valor) { Sentencias; } |
Con este formato, en cada ciclo del bucle, le uno a uno los elementos del Array, y el valor actual es asignado a la variable $valor.
Un ejemplo simple sería:
1 2 3 4 5 6 7 8 9 10 |
<?php $arr = array('uno','dos','tres'); foreach($arr as $valor) { echo "El valor es: $valor."."</br>"; } ?> |
Otro ejemplo más complejo, incluso guardando los índices de cada elemento, sería:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<?php $arr = array('primero'=>'uno','segundo'=>'dos','tercero'=>'tres'); //También nos guardará el índice a parte de su valor foreach($arr as $indice => $valor) { echo "El valor con índice $indice es: $valor."."</br>"; } /* Por pantalla: El valor con índice primero es: uno El valor con índice segundo es: dos El valor con índice tercero es: tres */ ?> |
9.2.3 Bucle WHILE
Los bucles WHILE son el tipo más sencillo de bucle en PHP. La forma básica de una sentencia WHILE es:
1 2 3 4 5 6 |
<?php while (Condición) { Sentencia; } ?> |
El significado de una sentencia WHILE es simple. Le dice a PHP que ejecute las sentencias anidadas, cuando la Condición de WHILE se evalúe como TRUE
. El valor de la expresión es verificado cada vez al inicio del bucle, por lo que incluso si este valor cambia durante la ejecución de las sentencias anidadas, la ejecución no se detendrá hasta el final de la iteración (cada vez que PHP ejecuta las sentencias contenidas en el bucle es una iteración).
A veces, si la expresión WHILE se evalúa como FALSE
desde el principio, las sentencias anidadas no se ejecutarán ni siquiera una vez.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
<?php // ejemplo 1 $i = 1; while ($i <= 10) { echo $i++; /* El valor presentado sería $i antes del incremento (post-incremento) */ } // ejemplo 2: También se puede escribir así (no muy habitual...) $i = 1; while ($i <= 10): echo $i; $i++; endwhile; ?> |
9.3 Saltos
Los saltos se utilizan para controlar cuando se puede salir de algún bucle o una estructura de control condicional.
En PHP encontramos tres tipos de saltos, que son los siguientes.
9.3.1 Continue
Se utiliza dentro de la estructuras de bucle para saltarse la iteración actual, para continuar con la evaluación de la condición i después volver a comenzar en la siguiente iteración.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
<?php for($i=0;$i<5;$i++) { if($i==2) { continue; //Se salta el 2 y continua } echo $i."</br>"; } /* Por pantalla: 0 1 3 4 */ ?> |
9.3.2 Break
Finaliza la ejecución de una determinada estructura de control.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
<?php for($i=0;$i<5;$i++) { if($i==2) { break; //Finaliza en el 2 } echo $i."</br>"; } /* Por pantalla: 0 1 */ ?> |
9.3.3 Exit
Finaliza la ejecución de todo un script (programa) PHP.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
<?php for($i=0;$i<5;$i++) { if($i==2) { exit; //Finaliza en el 2, y acaba la ejecución de todo el programa. } echo $i."</br>"; } echo "Fin del Script PHP"."</br>"; /* Por pantalla: 0 1 El mensaje de "Fin del Script PHP" no se mostrará, porque exit detiene todo el Script y no ejecuta esa línea de código PHP. */ ?> |
9.4 Funciones de validación
PHP dispone de una serie de funciones que se utilizan para validar datos de formularios.
9.4.1 Empty()
Verifica si una variable tiene un valor diferente a 0, o si es una cadena vacía.
- Devuelve
TRUE
si la variable NO tiene valor (0 (cero) o cadena vacía). - Devuelve
FALSE
si la variable SI tiene valor.
1 2 3 4 5 6 7 8 9 |
<?php $a=0; $b="Hola"; empty($a); //True empty($b); //False ?> |
Este es un ejemplo de captura de datos desde una página HTML:
HTML (envia.html)
1 2 3 4 5 6 7 8 9 10 |
<HTML> <HEAD> <TITLE>Formulario</TITLE> </HEAD> <BODY> <FORM ACTION="procesa.php" METHOD="GET"> <INPUT TYPE="text" NAME="nombre"> </FORM> </BODY> </HTML> |
PHP (procesa.php)
1 2 3 4 5 6 7 8 9 10 |
<?php if(empty($_GET['nombre'])) { echo "El campo está vacio."."</br>"; }else{ //Sentencias si el campo no está vacío } ?> |
9.4.2 Isset()
Hace el contrario que empty(), pero con una ligera diferencia:
- Devuelve
TRUE
si la variable SI tiene un valor (incluyendo el 0 (cero) o cadena vacía, como valor). - Devuelve
FALSE
si la variable NO tiene valor.
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php $a; $b="Hola"; $c=""; $d=0; isset($a); //False isset($b); //True isset($c); //True isset($d); //True ?> |
9.4.3 Is_numeric()
Comprueba que lo que han introducido o el contenido de una variable es un valor numérico correcto.
- Devuelve
TRUE
si la variable SI tiene un valor numérico válido. - Devuelve
FALSE
si la variable NO tiene valor numérico correcto.
1 2 3 4 5 6 |
<?php is_numeric(23.09); //True is numeric(2Boa); //False ?> |
9.4.4 Is_array()
Comprueba si una variable es un array.
- Devuelve
TRUE
si la variable SI es un array. - Devuelve
FALSE
si la variable NO es un array.
1 2 3 4 5 6 7 8 9 |
<?php $a=3; $b=array($a); is_array($a); //False is_array($b); //True ?> |
9.4.5 Checkdate()
Comprueba si una fecha es válida.
- Devuelve
TRUE
si la fecha SI es válida. - Devuelve
FALSE
si la fecha NO es válida.
Para que una fecha sea válida:
- Años: Entre el año 1 y 32767
- Meses: Entre 1 y 12
- Días: En función del Mes (28/29, 30 o 31 días).
1 2 3 4 5 6 7 8 9 10 11 12 |
<?php var_dump(checkdate(12, 31, 2000)); // True var_dump(checkdate(2, 29, 2001)); //False, ¡porque 2001 no es bisiesto! /* Por pantalla: bool(true) bool(false) */ ?> |
9.5 Ejemplo de envío de formulario
En este ejemplo os mostramos como usar todas las funciones que hemos visto en este capítulo. En este ejemplo tenemos un archivo HTML con un FORM para enviar información a otra página PHP que la procesará.
envia_prueba_funciones.html
El formulario lo he introducido en una tabla para que queden todos los INPUTS bien alineados y tenga un aspecto más profesional.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 |
<!DOCTYPE HTML> <!-- Plantilla HTML5 --> <HTML> <HEAD> <TITLE>Formulario</TITLE> <META http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" /> <!-- Para que se muestren correctamente los acentos --> </HEAD> <BODY> <FORM ACTION="procesa_prueba_funciones.php" METHOD="POST"> <h2>Completa este formulario</h2> <table border="0" bordercolor="#FFFFFF" style="background-color:#FFFFFF" width="30%" cellpadding="3" cellspacing="3"> <tr> <td><strong>Nombre:</strong></td> <td><INPUT TYPE="text" MAXLENGTH="30" SIZE="30" NAME="nombre"></td> <!-- Los campos los comprobaremos si estan en blanco en el archivo PHP, pero debo informaros que en HTML5, en los campos tipo INPUT, si ponemos el atributo "required" al final, en el momento de enviar el form, NO nos dejará enviarlo hasta que no lo hayamos rellenado ese campo en blanco, ya que le estamos indicando que es un campo "Obligatorio". Por ejemplo: <INPUT TYPE="text" MAXLENGTH="30" SIZE="30" NAME="email" REQUIRED> --> </tr> <tr> <td><strong>Apellidos:</strong></td> <td><INPUT TYPE="text" MAXLENGTH="30" SIZE="30" NAME="apellidos"></td> </tr> <tr> <td><strong>E-Mail:</strong></td> <td><INPUT TYPE="text" MAXLENGTH="30" SIZE="30" NAME="email"></td> </tr> <tr> <td><strong>Password:</strong></td> <td><INPUT TYPE="password" MAXLENGTH="30" SIZE="30" NAME="password"></td> </tr> <tr> <td><strong>Confirma Password:</strong></td> <td><INPUT TYPE="password" MAXLENGTH="30" SIZE="30" NAME="conf_password"></td> </tr> <tr> <td><strong>Fecha de nacimiento:</strong></td> <td> <select name="dia" size="1"> <option value="Día">Día</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> <option value="13">13</option> <option value="14">14</option> <option value="15">15</option> <option value="16">16</option> <option value="17">17</option> <option value="18">18</option> <option value="19">19</option> <option value="20">20</option> <option value="21">21</option> <option value="22">22</option> <option value="23">23</option> <option value="24">24</option> <option value="25">25</option> <option value="26">26</option> <option value="27">27</option> <option value="28">28</option> <option value="29">29</option> <option value="30">30</option> <option value="31">31</option> </select> <select name="mes" size="1"> <option value="Mes">Mes</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> <INPUT TYPE="text" VALUE="año" MAXLENGTH="4" SIZE="4" NAME="anyo"> </td> </tr> <tr> <td><strong>Isla donde vives:</strong> <td> <select name="isla" size="3"> <option value="Mallorca">Mallorca</option> <option value="Menorca">Menorca</option> <option value="Ibiza">Ibiza</option> </select> </td> </tr> <tr> <td><strong>Colores favoritos:</strong></td> <td> <select name="colores[]" size="3" Multiple> <option value="Verde">Verde</option> <option value="Azul">Azul</option> <option value="Rojo">Rojo</option> <option value="Amarillo">Amarillo</option> <option value="Naranja">Naranja</option> <option value="Rosa">Rosa</option> </select> </td> </tr> </table> </br> <q>Para seleccionar más de un color pulsa la tecla <strong>Ctrl</strong> mientras seleccionas.</q></br></br> <INPUT TYPE="submit" NAME="enviar" VALUE="Enviar"> </FORM> </BODY> </HTML> |
procesa_prueba_funciones.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
<!DOCTYPE HTML> <HTML> <HEAD> <TITLE>Procesado de datos del formulario HTML</TITLE> <META http-equiv="Content-Type" content="text/html;charset=ISO-8859-1" /> <!-- Para que se muestren correctamente los acentos --> </HEAD> <BODY> <?php /* La siguiente variable sirve como bandera o Flag para validar si todos los campos estan rellenados. */ $okay = true; //Campo Nombre if(empty($_POST['nombre'])) { echo "Por favor, rellene con su <strong>Nombre</strong> el campo correspondiente."."</br>"; $okay = false; }else{ $nombre=$_POST['nombre']; } //Campo Apellidos if(empty($_POST['apellidos'])) { echo "Por favor, rellene con sus <strong>Apellidos</strong> el campo correspondiente."."</br>"; $okay = false; }else{ $apellidos=$_POST['apellidos']; } //Campo E-mail if(empty($_POST['email'])) { echo "Por favor, rellene con su <strong>E-mail</strong> el campo correspondiente."."</br>"; $okay = false; }else{ $email=$_POST['email']; } //Campo Password if(empty($_POST['password'])) { echo "Por favor, introduzca la <strong>contraseÒa</strong> en el campo correspondiente."."</br>"; $okay = false; }else{ $password=$_POST['password']; } //Campo Confirma Password if(empty($_POST['conf_password'])) { echo "Por favor, introduzca la <strong>confirmaciÛn de la contraseÒa</strong> en el campo correspondiente."."</br>"; $okay = false; }else{ $conf_password=$_POST['conf_password']; if($password != $conf_password) { echo "<strong>T˙ contraseÒa no coincide con su confirmaciÛn</strong>, por favor vuelve a introducir las dos."."</br>"; $okay = false; } } //Campo Fecha de Nacimiento $fecha_nacimiento=""; //Donde se van acumulando por separado el dia, mes y aÒo. //Día if(is_numeric($_POST['dia'])) { $dia = $_POST['dia']; $fecha_nacimiento=$dia."/"; //Vamos rellenando la fecha completa con el dia }else{ echo "Por favor, introduzca el <strong>dÌa de su nacimiento</strong>"."</br>"; $okay = false; } //Mes if(is_numeric($_POST['mes'])) { $mes = $_POST['mes']; $fecha_nacimiento=$fecha_nacimiento.$mes."/"; //Ahora aÒadimos el mes }else{ echo "Por favor, introduzca el <strong>mes de su nacimiento</strong>"."</br>"; $okay = false; } //AÒo if(is_numeric($_POST['anyo'])&& (strlen($_POST['anyo'])==4)) //Si el valor es numÈrico y tiene 4 digitos { if($_POST['anyo'] >= 2012) { echo "AÒo de nacimiento errÛneo"."</br>"; $okay = false; }else{ $anyo = $_POST['anyo']; $fecha_nacimiento=$fecha_nacimiento.$anyo; //Ahora aÒadimos el aÒo que es el ˙ltimo } }else{ echo "Por favor, introduzca el <strong>aÒo de su nacimiento</strong>"."</br>"; $okay = false; } /* //Estos campos de fecha se pueden comprobar con checkdate() if(isset($mes) && isset($dia) && isset($anyo) && checkdate($mes,$dia,$anyo)) { echo "La fecha introducida es correcta"."</br>"; }else{ echo "La fecha introducida es incorrecta."."</br>"; $okay = false; } //O otra forma es: if(checkdate($_POST['mes'],$_POST['dia'],$_POST['anyo'])) { }else{ } */ //Colors if(isset($_POST['colores'])) { $colores=$_POST['colores']; }else{ echo "Marca tus <strong>colores</strong> favoritos!"."</br>"; $okay = false; } //Islas if(isset($_POST['isla'])) { $isla=$_POST['isla']; }else{ echo "Marca la <strong>isla</strong> donde vives!"."</br>"; $okay = false; } //okay if($okay == true) { echo "<strong>"."Nombre: "."</strong>".$nombre."</br>"; echo "<strong>"."Apellidos: "."</strong>".$apellidos."</br>"; echo "<strong>"."E-mail: "."</strong>".$email."</br>"; echo "<strong>"."ContraseÒa: "."</strong>".$password."</br>"; echo "<strong>"."Fecha de Nacimiento: "."</strong>".$fecha_nacimiento."</br>"; if($isla=='Mallorca') { echo "Vives en "."<strong>".$isla."</strong>"." la isla m·s grande de las Islas Baleares"."</br>"; } if($isla=='Menorca') { echo "Vives en "."<strong>".$isla."</strong>"." la isla m·s oriental de las Islas Baleares"."</br>"; } if($isla=='Ibiza') { echo "Vives en "."<strong>".$isla."</strong>"." a isla m·s occidental de las Islas Baleares"."</br>"; } echo "<strong>"."Tus colores elegidos son: "."</strong>"."</br>"; foreach($colores as $favoritos) { echo $favoritos.","; } echo "</br>"; } //Aquí pondremos un botÛn para volver al formulario! echo "</br><input type='button' value='Volver al Formulario' onClick='history.go(-1);'>"; ?> </BODY> </HTML> |
Hasta aquí esta parte del curso Desarrollo Web con PHP y MySQL. La semana próxima empezaremos a ver cómo crear plantillas para webs integrando en una única página, varias páginas diferentes por separado y como usar archivos externos.
A pare de eso también veremos que es el Buffer de salida y funcione para controlarlo con PHP.
Hasta entonces un saludo a tod@s y no os olvidéis dejar vuestros comentarios o incidencias sobre el curso.
¡Ánimo!
Info | PHP.NET
Curso | Desarrollo Web con PHP y MySQL
Últimos comentarios