Inicio

jueves, 11 de agosto de 2011

Estructuras repetitivas

Vaya por delante una definición previa “son las que nos permiten repetir la ejecución de ciertas líneas de código de acuerdo a una condición dada y que es muy importante que esta condición sea finita”.
Esas estructuras en PHP son las siguientes:
  • for
  • while
  • do-while 
  • foreach
 FOR
Para utilizar el for es necesario primero declarar un valor desde donde  comenzar (generalmente el 0 o el 1) luego que condición debe cumplirse para ejecutar el código (misma que debe ser finita) y al final como se va a comportar la variable, si va a aumentar o a disminuir (esto depende de la condición y del valor de inicio).
Por ejemplo vamos a presentar por pantalla los 25 primeros dígitos.

<head>
  <title>Ejemplo de la estructura For</title>
</head>

<body>

<?php
for ($x=1;$x<=25;$x++)
{
        echo $x;
        echo"<br>";
}
?>

</body>

</html>

He señalado en azul la estructura de código de la instrucción for para poder analizarla. Si observa sus argumentos comienzan con la declaración de una variable contador, que en este caso comienza en uno. Seguidamente le marcamos el límite "hasta 25", y le decimos que lo aumente de uno en uno.

    Switch

    Switch es una instrucción que comprueba si una variable coincide con algún valor en concreto. De ser cierto ejecuta una serie de órdenes y, en caso contrario, ejecuta las órdenes que le hallamos marcado por defecto.
     Su sintaxis es como sigue:

    switch (expresión_1) {
        case valor_1:
            bloque_de_sentencias_1;
            break;
        case valor_2:
            bloque_de_sentencias_2;
            break;
        ...
        case valor_n:
            bloque_de_sentencias_n;
            break;
    }
    Veamos un ejemplo:
    Código del ejemplo switch.php
     
    <html xmlns="http://www.w3.org/1999/xhtml">
    
    <head>
      <title>Ejemplo de switch</title>
    </head>
    
    <body>
      <form action= "switch2.php" method="post">
     Ingrese usuario:<input type="text" name="usuario">
    <input type="submit" name="OK" value="Enviar">
     </form>
     <br><br>
    <?php
    if   ($OK=="Enviar") {
    
    
    switch($usuario){
    		case 'Juan':
              echo "Hola Juan";
              break;
            case 'Ana':
              echo "Hola Ana";
              break;
            default:
             echo"Lo siento no estás registrado" ;
    
    
       }
       }
    ?>
    
    </body>
    
    </html>
     
    El código en sí no es complicado de entender, le hemos añadido una condicional if
    al comienzo que nos permite que no aparezca la instrucción por defecto nada más 
    cargar la página. 
    
    

    miércoles, 10 de agosto de 2011

    PHP dinámico

    Hasta ahora hemos visto una serie de scripts pero sin entrar a fondo en el aspecto dinámico como tal de PHP.
    Cuando se trata de páginas estáticas la comunicación está muy restringida. El cliente hace una petición (escribe el nombre de una página en la barra de direcciones del navegador) y el servidor se limita a devolver los contenidos de esa página. Un primer paso para mejorar es esa comunicación será que el cliente especifique algo más en su petición y que el servidor interprete esa información complementaria.
    Para poder profundizar en lo expuesto, previamente abordaremos algunos conceptos.
    La función isset
    isset() es una función de PHP que nos permite comprobar si una variable está definida, devolviendo true si lo estuviese. Esta función es muy común cuando deseamos comprobar que los campos de un formulario hayan sido rellenados, o incluso para mostrar un formulario completo y una vez que sea presionado el botón enviar, nos muestre otra cosa y el formulario sea enviado.
    Su sintaxis es la siguiente: isset($variable)
     Veamos un ejemplo:
    Escriba el siguiente código y guárdelo como formulario.html
    <html xmlns="http://www.w3.org/1999/xhtml">


    <body>
    <form action="formulario.php" method="post" name="form" id="form">
    <input type="text" name="nombre" />
    <input type="submit" name="enviar" />
    </form>

    </body>
    </html>

    Escriba ahora este otro y guárdelo como formulario.php
    <?php
    if (isset($nombre) && $nombre!="") {
    echo "Hola $nombre, bienvenido a PHP";}
    else {
                echo "No has escrito nada"; }


    ?>

    isset verifica si la variable está o no definida, literalmente se puede leer tras la etiqueta php si la variable nombre está definida (existe) y su valor no está vacío saca el mensaje "Hola lo que sea, etc" si no "No has escrito nada"

    La función unsset
    unset() destruye las variables especificadas.Modifique para probarlo el código anterior de la siguiente forma:

    <?php


        unset($nombre);


    if (isset($nombre) && $nombre!="") {
    echo "Hola $nombre, bienvenido a PHP";}
    else {
                echo "No has escrito nada"; }


    ?>

    Como comprobará aunque escriba lo que sea en la caja de texto, el servidor siempre le responderá lo mismo "No has escrito nada", y ello porque unset ha eliminado la variable y por tanto su contenido.