martes, 3 de octubre de 2017

PHP

Estructuras de Control. (Switch, if).Ejemplos de Código.

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;

}

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.

  • Estructuras Repetitivas (For, Foreach, While, Do while).Ejemplos de Código.

While
If else nos permitía decidir si queríamos ejecutar o no una instrucción en función de una condición, los bucles nos permiten utilizar una condición para determinar cuantas veces queremos ejecutar una instrucción.:
While (condicion) {

// Instrucciones a ejecutar una y otra
//vez mientras la condición sea cierta
}
El funcionamiento es muy parecido al del if-else, la diferencia estriba en que si la condición es cierta y se ejecuta la orden, la condición vuelve a comprobarse una y otra vez mientras siga siendo cierta. En cambio en el cambio del if-else sólo se comprueba la condición una vez, si es cierta se ejecuta la instrucción y se sigue con el programa.
Veamos un ejemplo:
$cantidad = 1;
while ($cantidad < 10) {
echo ("$cantidad ");
$cantidad++;
}
Esto traducido a castellano sería:
$cantidad = 1; $cantidad es igual a uno
while ($cantidad < 10) Mientras el valor de la variable $cantidad sea menor que 10
echo (“$cantidad “); Escribe el valor de cantidad
$cantidad++ (suma 1 al valor que tenga $cantidad, también podríamos haber escrito $cantidad = $cantidad +1)
Veamos como funciona el script paso a paso,
$Cantidad es igual a 1
1 es menor que 10
Escribo 1 en pantalla
$cantidad = 2 (1+1)
2 es menor que 10
Escribo 2 en pantalla
$cantidad = 3 (2+1)…
Si ejecutamos este script, en pantalla veríamos 1 2 3 4 5 6 7 8 9
do While
Los bucles do while, son muy parecidos a los bucles while, sólo que comprobamos si la condición es cierta al final del bucle en lugar de al principio. Así nuestras instrucciones se ejecutan siempre al menos una vez, lo que no ocurre en las condiciones while si la condición es falsa.
$cantidad = 1;
do {
echo ($cantidad);
} while ($cantidad<1);
Traducido sería
$cantidad = 1
do ( // ejecuta
echo ($cantidad); escribe el valor de cantidad
while ($cantidad<1); mientras cantidad sea mayor que 1 -> la condición es falsa luego el programa sale del bucle, pero ha escrito una vez el valor de $cantidad. El resultado en pantalla sería 1
4- Bucles: for
Los bucles for funcionan exactamente igual que en C . Con una sola instrucción controlamos todo el bucle, así que para los vaguetes está muy bien.
for (valor inicial; condicion; ejecutar en cada blucle) {
// Instrucciones a ejecutar mientras la condición sea cierta
}
Ejemplo
for ($cantidad = 1; $cantidad <10; $i++) {
echo("$cantidad");
}
Traducido es igual a:
Cantidad es igual a 1, mientras cantidad sea menor que 10 escribe cantidad en pantalla y después súmale 1 al valor de cantidad. Es decir, es exactamente el mismo ejemplo que vimos en el bucle while pero de otra manera.
for each
Es un tipo de bucle especial para matrices. Cómo no hemos visto el tema de las matrices todavía, de momento no lo vamos a explicar. Tocaremos este tema al hablar de las matrices.
for
Los bucles for funcionan exactamente igual que en C . Con una sola instrucción controlamos todo el bucle, así que para los vaguetes está muy bien.
for (valor inicial; condicion; ejecutar en cada blucle) {
// Instrucciones a ejecutar mientras la condición sea cierta
}
Ejemplo
for ($cantidad = 1; $cantidad <10; $i++) {
echo("$cantidad");
}
Traducido es igual a:
Cantidad es igual a 1, mientras cantidad sea menor que 10 escribe cantidad en pantalla y después súmale 1 al valor de cantidad. Es decir, es exactamente el mismo ejemplo que vimos en el bucle while pero de otra manera.
  • Funciones, Procedimientos en PHP. 
Las funciones en PHP
PHP es un lenguaje muy flexible, además de dejarte crear tus propias funciones, tiene incorporadas cientos de funciones ya listas que te dejan hacer de todo, desde ordenar cosas alfabéticamente hasta mandar correos electrónicos. Las funciones creadas por el usuario y las funciones de la librería de funciones de PHP funcionan exactamente igual.
Para crear una función
<?php
function MiFuncion ()
{
Instrucciones;
}
?>
Vamos a estudiar el tema creando un par de funciones. Las funciones pueden ser de dos tipos, las que necesitan “parámetros” y las que no. Los “parámetros” son variables que vienen de fuera de la función, pero que la función necesita para poder funcionar.
Primero vamos a ver una función que no necesita parámetos
<?php // empieza el código php

function titulo() // creamos la función título
{  // empieza el contenido de la función
echo ("<h1> Página de tomatoma</h1>");  // lo que hace la función
} // termina el contenido de la función
/*  llamamos a la función: le decimos a php que haga lo que le dijimos al definir la función */
titulo();

?>  // se termina el código php
Ahora puedes utilizar la función titulo() en cualquier parte del documento (siempre que recuerdes meterlo dentro de las etiquetas <?php and ?>. Lo cual te puede ahorrar mucho trabajo.
Ahora veamos como hacer un script con parámetros. Supongamos que queremos pedir un préstamos a un banco. Pero antes de lanzarnos de cabeza. Queremos saber cuanto vamos a tener que pagar al mes.
Para hacerlo vamos a crear una página Multiuso (ver el tema anterior), que primero nos presenta un formulario preguntándonos el importe total del préstamo y el interés que nos van cobrar.
Una vez que tengamos esos datos crearemos la función calcular que nos dirá que tendremos que pagar mensualmente en concepto de intereses utilizando la variable $coste y la variable $interés del formulario.

<html>
<head><title>Cálculo de Intereses</title></head>
<body>
<?php
/* Si no se ha fijado el coste o la condición */
if (!isset($coste) |!isset($interes)): ?>
// Aparece el formulario
<form action="interes.php" method="get">
Importe del Préstamo: <input type="text" name="coste">
Interés Mensual:  <input type="text" name="interes">
<p><input type="submit" name="submit" value="Calcular">
// En caso contrario
<?php else:
/* Escribimos la función, aunque podríamos haberla puesto en cualqueir otro lado */
function calcular($coste, $interes) {
$pago = ($coste * $interes / 100);
echo("Te toca pagar  $pago al mes!");
}
// llamamos a la función

calcular($coste, $interes);
  • Estructura Básica de un Documento PHP.

Etiquetas imprescindibles.

HTML es el el lenguaje en el que se construyen las páginas web. Como vimos en la página anterior, este es un lenguaje de etiquetas. Veremos aquí las etiquetas imprencindibles para crear una página web, así como la estructura que ésta tiene que tener. Veamos por tanto que debemos hacer para crear una página web.
Toda la página web debe ir encerrada entre las etiquetas
<html> ...... </html>
Estas etiquetas delimitan el principio y el final de la página. Dentro de esta etiqueta hay otras dos etiquetas que son imprescindibles. Estas son :
<head> ...... </head>
<body> ...... </body>
Estas dos etiquetas deben ir siempre en este orden, y una detrás de otra, y ambas incluidas dentro de la etiqueta <html> ...... </html>.
Por lo tanto la Estructura básica de una página es la siguiente:
<html>
  <head>
     ... 
  </head>
  <body>
     ... 
  </body>
</html>
La etiqueta head significa cabecera. En esta etiqueta se incluyen todos los elementos no visibles de la página, y que son necesarios para un buen funcionamiento. El único elemento visible es la etiqueta
<title> ...... </title>
En la etiqueta title escribiremos el título de la página, el cual lo veremos en la pestaña del navegador.
La etiqueta body significa cuerpo y es la parte visible de la página. aquí incluiremos todo lo qué queramos que se vea en la página, texto, imágenes, sonidos, enlaces, etc. cada uno de estos elementos tiene sus propias etiquetas que indican qué tipo de elemento es y cómo debe visualizarse. Si incluimos texto sin etiquetas, este se visualizará en el modo que tenga el navegador por defecto.


El editor de textos

Como ya dijimos en el apartado anterior, las etiquetas y el texto que encierren, deberemos escribirlo en un programa editor de textos.
Utilizar el editor
Nosotros utilizaremos el editor HTML-Kit 292. Tu puedes utilizar este mismo o cualquier otro, aunque te recomendamos que utilices el mismo que nosotros para practicar con los ejemplos que aquí ponemos.
para utilizar el editor cda vez que queramos hacr una página nueva nos iremos a la barra superior y pulsaremos en Archivo / Nuevo.... Nos sale un cuadro en el que podemos elegir distintos tipos de archivo. De momento elegiremos siempre un archivo en blanco. (Blank Text File). De no ser así borrraremos lo que haya escrito para dejarlo en blanco.
Escribiremos aquí el código (etiquetas y resto de código) en HTML.
Desde el menú archivo podemos también abrir un archivo que hemos hecho anteriormente para modificarlo. su manejo es similar al de otros programas de edición de texto.
Guardar los archivos
Para guardar los archivos iremos al menú Archivo / Salvar o Archivo /Salvar Como.... En otros editores en lugar de "Salvar" encontramos "Guardar".
En todo caso, al guardar el código escrito en un archivo nuevo debemos escribir junto con el nombre del arcchivo, la extension .html o .htm por ejemplo llamaremos a nuestro archivo mipagina.html (y no simplemente mipagina), ya que si no escribimos la extensión (el .html) es posible que el archivo se guarde simplemente como texto (con extensión .txt), y no como página web, con lo cual el archivo no puede ser leído por el navegador.

Es conveniente tener una carpeta en la cual guardar todos los archivos de prueba que vayamos haciendo a lo largo del curso, Yo llamaré a mi carpeta "pruebasweb", y la ubicaré en "mis documentos". Tu puedes llamarla como quieras, pero es coveniente llevar un cierto orden con los archivos que vayamos haciendo.

Mi primera página

Con lo visto hasta ahora, ya podemos hacer una primera página que puede ser vista en el navegador. Para ello abre tu editor de textos, y en un nuevo archivo en blanco, copia el siguiente código:
  • Método POST y GET en formularios PHP.
Cuando un usuario rellena un formulario en una página web los datos hay que enviarlos de alguna manera. Vamos a considerar las dos formas de envío de datos posibles: usando el método POST o usando el método GET. Debes conocer cómo se generan formularios HTML antes de leer esta entrega.
Por ejemplo: <form action="http://aprenderaprogramar.com/prog/newuser.php" method="get"> podría ser el encabezado de un formulario donde se usa el método get.
En el ejemplo anterior la acción que se ejecutará cuando el usuario pulse el botón “Enviar” (submit) será el envío de los datos a la url especificada usando el método get.
Veamos el aspecto de un formulario cualquiera para hacernos una idea general.
Este formulario consta de varios campos que al usuario se le solicitan como Nombre, Apellidos, Correo electrónico, País y Mensaje. Posiblemente los nombres de los campos en el código HTML sean del tipo nombre_user, apellidos_user, email_user, pais_user y msg.
Un formulario se escribe en HTML. Si no tienes claro cómo se generan formularios HTML, te recomendamos leas el curso HTML desde cero de aprenderaprogramar.com. Por ejemplo, este es el código de un formulario:
La diferencia entre los métodos get y post radica en la forma de enviar los datos a la página cuando se pulsa el botón “Enviar”. Mientras que el método GET envía los datos usando la URL, el método POST los envía de forma que no podemos verlos.
Un resultado usando el método GET sería el siguiente:
http://aprenderaprogramar.com/newuser.php?nombre=Pepe&apellido=Flores&email=h52turam%40uco.es&sexo=Mujer

En esta URL podemos distinguir varias partes: http://aprenderaprogramar.com/newuser.php es la dirección web en sí.
El símbolo ? indica dónde empiezan los parámetros que se reciben desde el formulario que ha enviado los datos a la página.
Las parejas dato1=valor1, dato2=valor2, dato3=valor3… reflejan son el nombre y el valor de los campos enviados por el formulario.
Por ejemplo: nombre=Pepe, apellidos=Flores, etc. nos dice que el campo del formulario que se denomina nombre llega con valor “Pepe” mientras que el campo del formulario que se denomina apellidos llega con valor “Flores”
Tener en cuenta que para separar la primera pareja se usa el símbolo ‘?’ y para las restantes el símbolo ‘&’.
Otro aspecto a tener en cuenta es que determinados caracteres no son recibidos en la URL de la misma forma exactamente en que fueron escritos en el formulario. Por ejemplo, el valor del campo email que se recibe en la URL es h52turam%40uco.es, mientras que el usuario en el formulario habrá introducido con toda seguridad h52turam@uco.es. Como vemos, el carácter @ ha sido sustituido por los caracteres %40. Estas equivalencias se introducen automáticamente en la transmisión de datos debido a que las URLs no admiten determinados caracteres como letras con tildes, arrobas y otros. No debes preocuparte por esta codificación, ya que si posteriormente rescatamos los valores mediante otros mecanismos volveremos a obtener el texto original. Simplemente, conviene conocer esta circunstancia para no pensar que están ocurriendo cosas extrañas o errores.
Hemos visto el resultado de un envío por el método get. En el caso de un envío de datos usando el método POST, aunque estos datos también serán enviados (de una forma que podemos denominar “oculta”), no los podremos ver en la URL. Para poder recuperar los valores de los campos en el caso de un envío con el método post necesitaríamos otras herramientas (por ejemplo valernos del lenguaje PHP para recuperar el valor de esos campos).
El resultado final con ambos métodos podemos decir que es el mismo: la información se transmite de un lado a otro. La diferencia radica en que con el método GET podemos ver directamente los parámetros pasados ya que están dentro de la URL mientras que con el método POST los parámetros quedan ocultos y para rescatarlos hay que usar otras herramientas.
Un ejemplo de uso del método post sería este: <form action="http://aprenderaprogramar.com/prog/newuser.php" method="post">
Cuando usamos el método post los datos enviados desde el formulario no son visibles, pero sí son recuperables usando las instrucciones adecuadas.