Estructuras condicionales en PHP IV: If… elseif… else

Abril 2016: Post recuperado de Aprendiendo PHP (web ya inactiva)
[Control de flujo o estructuras de control en PHP IV] Instrucciones IF/Elseif/Else

Valencia, 24/09/2012, G.B.
Tras las estructuras condicionales o de control de flujo if y if… else, ahora toca el turno a la siguiente: if… elseif… else. Con elseif añadimos más posibilidades, más alternativas.

Elseif (también escrito else if, aunque menos frecuentemente) es una combinación de if y else y una ampliación de if. Si la condición contenida en el if es falsa (FALSE, que no se cumple), entonces el control de flujo saltará al primer elseif. Si éste tampoco se cumple, pasaría al siguiente, hasta llegar a un elseif en que la condición sí se cumpliera, que fuera verdadera (TRUE). En el caso de que no se cumpliera ninguno de los elseif, pasaríamos por último al else para ejecutar las sentencias contenidas en el mismo.

Como observamos, las estructuras elseif pueden anidarse, es decir, ir abriendo distintas posibilidades si no se cumplen las anteriores. La sintaxis es la siguiente:

if (condición1) {
sentencia1; // Si esto no se cumple, saltamos al primer elseif
}

elseif (condición2) {
sentencia2;
}
 // Tras esta línea pueden ir anidados más elseif
else {
sentencia3; // Si ninguno de los elseif se han cumplido, se ejecutará estas sentencias
}

En caso de que la primera condición, la del if, no se cumpla, pasamos al primer elseif. Si este tampoco se cumple, pasaríamos al siguiente, hasta llegar al else, en caso de que no se cumpliera ninguno de ellos. Veamos un pequeño ejemplo:
<?php
$numero1 = '2';
$numero2 = '3';
$numero3 = '4';
$numero4 = '2';
if ($numero1 == $numero2) {
print "El $numero1 es igual al $numero2.";
}
elseif ($numero2 == $numero3) {
print "El $numero2 es igual al $numero3";
}
elseif ($nunero3 == $nunero4) {
print "El $numero3 es igual al $numero3";
}
else {
print "El $numero1 es igual al $numero4.
¿Lógico, no?";
}
?>


Ejecutar ejemplo

Otro ejemplo tonto, lo sé, pero espero que  explicativo.  También podemos ampliar el ejemplo que hemos utilizado en los anteriores posts sobre las estructuras condicionales, especificando franjas horarias más pequeñas:

<?php
$hora = date (“H”);
if ($hora == ('7') or $hora < ('8')){
echo 'Es hora de levantarse, campeón';
}
elseif ($hora == ('14')){
echo '¿Qué vas a comer hoy?';
}
elseif ($hora <= ('16')){
echo '¿Demasiado tarde para comer, ¿no crees?';
}
elseif ($hora <= ('20')){
echo 'No, todavía no es hora de cenar';
}
elseif ($hora == ('21') or $hora <= ('22')){
echo 'Ve pensando en lo que vas a cenar, si tienes hambre, claro';
elseif ($hora == ('23')){
echo 'Demasiado tarde para cenar, ¿no crees?'; /
}
elseif ($hora == ('1') or $hora <= ('2')){
echo 'Si no te has ido a dormir todavía, deberías hacerlo!';
}
else
echo 'Bienvenido';
?>

Ejecutar ejemplo 2

Por último, comentaros que puede ser realmente engorroso tener que contemplar todas las posibilidades y así estar ‘obligados’ a utilizar un montón de elseif anidados. Este último ejemplo se puede hacer de una forma mucho mejor  y más cómoda (sin tener en cuenta los posibles fallos de cálculo entre las franjas horarias que yo haya podido cometer al hacerlo…). Para ello, disponemos de la estructura switch, la cual es más sencilla de escribir (ahorramos líneas de código y conseguimos el mismo resultado que con if/elseif/else) y que veremos en el siguiente post. Hasta pronto!


Lecturas recomendadas:

elseif (PHP.net)
Elseif (gratismil.com)

Estructuras condicionales en PHP III: if…else

 Abril 2016: Post recuperado de Aprendiendo PHP (web ya inactiva)
[Control de flujo o estructuras de control en PHP III] Instrucciones IF/Else

Valencia, 23/09/2012, G.B.
Como hemos visto en el anterior post sobre instrucciones If sencillas, esta estructura condicional puede que no nos sea suficiente para lograr nuestro objetivo. Así, en el ejemplo anterior, se muestra un mensaje si abrimos la página después de las 07:00 a.m. (después de las siete de la mañana). ¿Y si queremos ajustar más el margen y mostrar mensajes distintos en franjas horarias distintas,  más ‘pequeñas’? Pues que entonces tendremos que utilizar alguna de las tres construcciones o estructuras condicionales siguientes: if/else; if/elseif/else; switch. Vamos a ver ahora las estructuras condicionales if…else en PHP.

El bloque if/else es una decisión en dos direcciones. Si la expresión o condición if es verdadera (TRUE), se ejecutará el bloque se sentencias o expresiones. Si la expresión o condición es falsa (FALSE), se ejecutará en su lugar las sentencias o expresiones del bloque else. La sintaxis es la siguiente:

if (expresión)
{

   sentencias1;
}
   else {
   sentencias2;
}

Recordad que cada bloque debe ir siempre encerrado entre brackets, apertura y cierre { }. Veámoslo con este sencillo (y naive) ejemplo:

<?php
$hora = date (“H”);
if ($hora == (‘7’))
{
echo ‘<h2>Es hora de levantarse, campeón</h2>’; // Si son las 7 de la mañana, se mostrará este mensaje en Título2 (H2)
}
else {
echo ‘<b>Aún no son las 7, aprovecha!</b>’; // Si todavía no son las 7 de la mañana, se mostrará este otro mensaje en negrita
}
?>

Ver el ejemplo

Bien, pero todavía podemos afinar mucho más para que este código sea útil ¿verdad? Lo veremos con las sentencias if/elseif/else y switch. Cuando  hallamos visto todas las estructuras condicionales, utilizaremos ejemplos más interesantes, más útiles. Hasta muy pronto!

Lecturas recomendadas:else (PHP.net)
Estructura if-else en PHP (documentoweb.com)
Sentencia if y else en PHP (codigoprogramacion.com)

entre muchas más…

Estructuras condicionales en PHP II: instrucciones If sencillas

php
 Abril 2016: Post recuperado de Aprendiendo PHP (web ya inactiva)
[Control de flujo o estructuras de control en PHP II] Instrucciones IF
Valencia, 22/09/2012, G.B.
Como os comentaba en el anterior post, la primera parte de Control de flujo o estructuras de control en PHP, vamos a explicar ya la primera clase de ellas, las estructuras o instrucciones condicionales en PHP. Como bien indica su nombre, las instrucciones condicionales permiten determinar las acciones a realizar en función de una condición o condiciones.  Son las siguientes:
La más sencilla de ellas es la instrucción If  (‘si’ condicional en inglés) y se representa de las siguientes formas:
if (condición)
acción;

o lo que es lo mismo:
if (expresión)    {     (sentencias);    }

Donde vemos condición podemos llamarlo expresión y donde leemos acción, podemos llamarlo sentencias, ¿de acuerdo? 


Es muy recomendable utilizar los brackets {  } para separar el flujo de acciones, como ya veremos. También podemos dejar los brackets  en la misma línea,  o el primero de ellos después de la expresión o condición encerrada entre paréntesis, quedando de cualquiera de las siguientes formas:
if (expresión){ (sentencias); }
if (expresión) {    (sentencias);
}
if (expresión)
{    (sentencias);
}

El motor de PHP evalúa la condición o expresión, que siempre debe ir entre paréntesis, y si el resultado de la evaluación es verdadero (TRUE), se realizará la acción de la siguiente línea de código. En caso contrario, es decir, si la condición no es verdadera (devuelve FALSE), no se realizará ninguna acción.

Un ejemplo sencillo, del que ya hablamos en el anterior post, sería almacenar la hora en una variable para el valor que nos da con uno concreto, utilizando los operadores de PHP que ya conocemos. Vamos a ello:

<?php
$hora = date ("H");
if ($hora >= ('7'))
{
    echo 'Es hora de levantarte, campeón';
}
?>

Ejecutar ejemplo

Este fragmento de código evalúa la fecha del sistema y si se ejecuta a partir de las 07:00 horas de la mañana, imprimirá en pantalla, en la página web en donde está la instrucción condicional, el mensaje de texto Es hora de levantarse, campeón!. En caso contrario, simplemente no mostrará nada. 

Como vemos, y reiterando, el operador básico if evalúa una expresión encerrada entre paréntesis ( ) y si la condición se cumple, es decir, es verdadera, se ejecuta el bloque encerrado entre brackets { } que sigue a la expresión condicional, las sentencias. Otro ejemplo:

<?php
if ($numero1 === $numero2)
   { print "el $numero1 es idéntico al $numero2" ; }
?>
En esta condicional simple, se evalúa si la variable $nunero1 es idéntica (=== ) a la variable $numero2. Si es así, se imprimirá en pantalla la frase el $numero1 es idéntico al $numero2.

Si, ya sé, esto todavía no es muy útil.  En el siguiente post veremos cómo podemos sacarle mucho más partido a las sentencias condicionales con if /else, on if /elseif y con switch.  Esperad sólo un poquito, que ya he vuelto a retomar este blog…

Algunas lecturas recomendadas: Constructor if

Intento de phishing a clientes del BBVA

Intento de phising a clientes del BBVAValencia, 20/09/2012, G.B.
Acabo de recibir un correo electrónico (captura de pantalla que se muestra en la imagen) supuestamente enviado por la entidad bancaria BBVA (Banco Bilbao Vizcaya Argentaria). Se trata de un intento de phishing a clientes del BBVA– Por desgracia ya estamos muy acostumbrados a las estafas de phising y solemos recibirlas bastante frecuentemente  en nuestros buzones de correo electrónico ¿verdad?

He contactado con el departamento de clientes del BBVA y me han confirmado que efectivamente se trataba de un phising y que existe una dirección de correo electrónico para avisar en estos casos: seguridadinternet@grupobbva.com. Recordaros que ninguna entidad bancaria envía correos electrónicos solicitándonos nuestras claves, por nada del mundo.

Para el que todavía no lo sepa -pocos serán ya- os dejo la definición de la Wikipedia del Phising Phishing: “El phishing es una estafa cibernética que se comete mediante el uso de un tipo de ingeniería social caracterizado por intentar adquirir información confidencial de forma fraudulenta (como puede ser una contraseña o información detallada sobre tarjetas de crédito u otra información bancaria). El estafador, conocido como phisher, se hace pasar por una persona o empresa de confianza en una aparente comunicación oficial electrónica, por lo común un correo electrónico, o algún sistema de mensajería instantánea1 o incluso utilizando también llamadas telefónicas“. Fuente: http://es.wikipedia.org/wiki/Phishing

En este caso, el mensaje de correo que he recibido y la falsa web están bastante bien imitados, bueno, la web perfectamente imitada salvo la IP que es totalmente distinta. El mensaje, como siempre ocurre, o no está bien redactado o la codificación de caracteres no es correcta, como es en el caso del correo recibido.  Os adjunto captura de pantalla de la falsa web -perfectamente imitada, como veréis- y la original con sus respectivas IPs :

Falsa web URL o IPhttp://222.73.123.187/particular.php

Web falsa que imita a la del BBVA
Web falsa que imita a la del BBVA

 Web original URL: https://www.bbva.es

BBVA, sitio web original
BBVA, sitio web original

 Espero que este post sirva de algo y nadie caiga en esta estafa.

P.D. Había escrito ‘phising‘ en vez de phishing. Ya está corregido, perdonad el desliz…

El inmenso poder de las pequeñas cosas

Otra e-reflexión, tras unos días bajos…

El inmenso poder de las pequeñas cosasValencia, 19/09/2012, G.B.
¿Hacia dónde vamos? ¿Y en qué manos se supone está nuestro destino social? ¿Debe ser siempre así, como ha sido, aunque “endulzado” por la “sociedad del bienestar”? ¿Por qué los que verdaderamente podrían crear la diferencia ni siquiera aparecen, “no se contemplan”? ¿Estamos inmersos en el final de un ciclo y el inicio de uno nuevo,  o  tal vez de un nuevo más-de-lo-mismo?

 

Preguntas y más preguntas -que no me atrevo a formular en voz alta- y que seguro muchos, muchos nos hacemos, tanto en petit comité como en público. Pero, ¿quién las responde?,  ¿quienes hacen verdaderamente algo para iniciar la -primero de todo- recuperación moral de esta sociedad global castigada por su vanidad, su egoísmo, su extrema superficialidad? Realmente tampoco lo sé. Quizá todo un poco, pero sin atrevernos demasiado a asumir los cambios desde los núcleos de la cansada y cansina realidad social que estamos viviendo muchas personas. ¿Por sensación de derrota, por miedo?¿Tal vez por  miedo al miedo? ¿Por desidia, pereza, victimismo y pánico intestino al cambio?  ¿Es hora ya de romper moldes viciados? ¿Querrán romperlos los que tienen los modelos y viven de ellos y nos los ofrecen a cambio de nuestro futuro? Más y más preguntas…

 

Mientras pensamos, meditamos, nos quejamos, actuamos o esperamos, el inmenso poder de las pequeñas cosas, de la fuerza escondida en un  pequeño granito de arena, la promesa de  la gota de agua que acaba erosionando la dura roca, puede convertirse en un oasis invisible al que puede acudir nuestro ánimo,  a beber de fuentes frescas, a apagar la sed de desesperanza que atenaza tantas gargantas y seca tantos ojos. A pesar de todo -y como hoy una amiga me ha comentado- la dignidad, el respeto propio,  no debemos nunca perderlo, aunque tengamos momentos bajos, subterráneos. Creo que eso podemos guardarlo como un pequeño tesoro y una fuente a la que recurrir cuando intenten quitarnos todo lo demás.

Por todo ello, voto por el poder de las pequeñas cosas, de vivir el presente con nuevos ojos, de ser consciente de que no vivimos solos en este mundo y de que mucho de lo que nos han intentado enseñar -muchas veces con absoluto éxito- es un vano espejismo que nos aleja de las fuentes de agua fresca que ayudan a apagar nuestra eterna sed… Brindo por las pequeñas cosas,  porque sumadas conforman el verdadero sentido, la verdadera vida.

Fin de la e-reflexión. Buenas noches.

Mapea el mundo con Google Map Maker

Google Map Maker te ofrece la oportunidad de mejorar el mapa de los sitios que son importantes para ti. Actualiza el mapa que ven millones de usuarios de Google Maps. Fuente: Google

Google Map MakerValencia, 11/09/2012, G.B.
Google dispone de una excelente herramienta online para crear mapas personalizados, para ‘mapear’ el mundo. Se denomina Google Map Maker y para poder utilizarlo, debes darte de alta en una cuenta de Google, cosa bien sencilla y gratuita, como ya sabéis. Con Google Map Maker podrás crear mapas completamente personalizados con tus sitios favoritos o puntos de venta, por ejemplo, pudiendo editar cada uno de ellos. Muy interesante. Creo que voy a utilizarlo en breve…

Os dejo un vídeo sobre el creador de mapas de Google:

Este es el canal de Youtube de Google Map Maker: www.youtube.com/googlemapmaker

Concurso fotográfico de la Wikipedia: Wiki Loves Monuments 2012

Wiki Loves Monuments 2012 es un concurso fotográfico de monumentos abierto a todo el mundo. Está organizado por los capítulos de Wikimedia y grupos de voluntarios en distintos países. La Fundación Wikimedia es la entidad que da soporte a Wikipedia, la enciclopedia libre, entre otros proyectos. ¡Participando en Wiki Loves Monuments 2012 ayudarás a mejorar los contenidos de Wikipedia! Fuente: Wikipedia

Valencia, 07/09/2012, G.B.
La Wikipedia ha lanzado un concurso mundial de fotografía de monumentos denominado Wiki Loves Monuments 2012, el cual se organizó por primera vez en 2010. Esta edición está abierta hasta el 30 de septiembre de 2012.

Las imágenes que subas se alojaran en Wiki Commons y podrán ser utilizadas libremente.

Para participar, sólo tienes que registrarte y seguir los pasos que nos indica la página web con las reglas del concurso para subir fotografías de monumentos realizadas por ti en cualquier momento. Consulta la lista de monumentosEsta es la captura de pantalla:Wiki Loves Monuments 2012  Concurso fotográfico de la Wikipedia

Esta es la página desde la que podrás subir tus fotografías por ubicación:

Y este es el enlace con las fotos subidas a Wiki Loves Monuments 2012 in Spain. ¿Te animas? Yo ya lo he hecho y creo que subiré unas cuantas más. Recuerda, la Wikipedia somos todos y todos nos beneficiamos de ella ¿verdad?

Para acceder a tu cuenta, en caso de que ya te hayas registrado,  o crearte una nueva, visita este enlace: loguearse en Wiki Commons.

El canal de televisión de WordPress: WordPress.tv

¿He comentado alguna vez que es mi CMS favorito? Je, je, je…

Valencia, 05/09/2012, G.B.
Hace unos minutos he descubierto el canal de televisión de WordPressWordPress.tv. Creo recordar que había visto algún enlace al respecto, pero nunca había visitado el sitio hasta hoy mismo. Y debo decir que me ha encantado. Comentaros también que los vídeos están en inglés -al menos hasta lo que yo he visto- y no están subtitulados.

Os dejo embebido uno de los vídeos denominado State of the World 2012 de Matt Mullenweg, uno de los cofundadores de WordPress. que trata sobre el fenómeno de WordPress, su éxito, su evolución, sus avances, siempre  con un tono muy cordial, con mucho sentido del humor y realmente explicativo, bajo mi humilde punto de vista.

El vídeo, que dura cerca de 50 minutos,  se grabó durante el evento WordCamp San Francisco 2012.

Aquí va el vídeo State of the Word 2012

Los tesoros de Youtube: cine, música, conciertos…

Los tesoros de Youtube: cine, música, conciertos...Y además, mucho de ellos puedes descargarlos gratis de forma legal

Valencia, 02/09/2012, G.B.
No cabe duda de que Youtube es uno de los servicios más utilizados en la Red. Cierto es que muchas personas lo utilizan para ver vídeos cortos que no tienen mayor trascendencia, que son sólo para ‘pasar el rato‘ (a veces ni siquiera eso…).  Pero hay muchos tesoros ocultos en este servicio de red social basado en vídeos que adquirió en su día Google. Y es que cada minuto que pasa se suben más de dos días de vídeos, y eso según datos del año pasado.

Como es lógico, entre ‘basurillas‘ e ‘intrascendencias‘,  por llamarlo de algún modo y sin juzgar si es lícito o no, también se suben pequeños tesoros, como documentales, películas y conciertos en directo, por mencionar géneros más habituales y llamativos.

Últimamente he dejado un poqco de lado el estar trabajando cada vez que enciendo el ordenador para volver a ‘oler las flores‘, que buena falta me hace. Y para que veáis a qué me refiero con eso de los pequeños tesoros, os dejo tres vídeos que a mí me han llamado la atención. Dos de ellos son conciertos en directo y el otro un documental sobre el bosque. Los embebo aquí. Que los disfrutéis:

Grandes documentales: El reino del bosque:

Sting – Live In Berlin HD 2010:

Peter Gabriel Secret World Live:

Y eso es sólo una pequeña muestra. Personalmente, seguiré buscando. Y si queréis descargar los vídeospara visualizarlos cuando queráis, recordad que disponéis de varias extensiones para ello. Uno de ellas que funciona a la perfección es Firefox VideoDownload Helper.

Gestores de descarga en Linux: GWget

“Haberlos, haylos” y son muy fiables, sencillos de utilizar y francamente buenos…

Gestores de descarga en Linux: GWgetValencia, 31/08/2012, G.B.
Seguro que alguna vez hemos necesitado descargar algún archivo de tamaño considerable, como por ejemplo una imagen ISO, y hemos echado de menos algún programa para distribuciones Linux que nos permitiera organizar nuestra lista de descargas, así como pausar, parar y continuarlas en cualquier momento. Y es que muchos navegadores web no disponen de la opción de continuar la descarga de un archivo que está a medias, ya que hemos tenido que cerrar el navegador y perder lo descargado hasta el momento. Para ello necesitamos un gestor de descargas o Download Manager.

En todos los sistemas operativos existen programas gestores de descarga que nos ofrecen todas esas opciones: parar las descargas, pausarlas, organizarlas… Linux no es menos, ni mucho menos; disponemos de muy buenos gestores de descarga para las distros Linux. Uno de los gestores de descarga para Linux de los que disponemos es GWget, un gestor de descargas para entornos Gnome (como el de Ubuntu) y que está disponible en los repositorios de Linux, así como el código fuente si eres valiente y quieres tú mismo compilarlo y personalizarlo. Si utilizamos Ubuntu, podremos descargarlo e instalarlo desde el propio Gestor de paquetes Synaptic. Adjunto captura de pantalla (en mi caso ya descargado e instalado en mi Ubuntu):

Gestor de paquetes Synaptic (Ubuntu Linux)

Y aquí descargando una imagen ISO con GWget:

Descargando imagen ISO con GWget
Volviendo a GWget, comentaros que es la versión gráfica de WGet, un completo gestor de descargas para Linux que funciona bajo la línea de comandos y que dispone de una buena lista de opciones avanzadas, como descargar todos los archivos de un sitio web. Con GWget tenemos las mismas funciones pero con una interfaz sencilla y amigable, diseñada usando las librerías GTK y con todas las funcionalidades para que no echemos en falta los gestores de descarga para Windows.

Enlaces recomendados:
GWget projects Gnome
Más gestores de descarga en Linux
GNOME Hispano

Juega con Linux con Live Linux Gamers

Un CD Live para jugar en Linux: live.linux-gammers.netDescárgate una imagen ISO para arrancar desde un CD o DVD y jugar con Linux

Valencia, 25/08/2012, G.B.
Recientemente he leído que existe una distribución o distro Linux específica para los ‘jugones’, es decir, para poder utilizar juegos en Linux. Además es una distribución ‘Live’, arrancable desde un CD –CD booteable, sin necesidad de instalación-, una distro ‘Live’. Se llama Live Linux Gamers y es un sistema operativo basado en Linux y específicamente diseñado para jugar.

Aunque yo ya no juegue prácticamente a nada -por desgracia- me parece una opción más que interesante, sobre todo para desmitificar el tópico de que con Linux no puedes jugar; ni mucho menos!

Bien, a estas horas la web principal está caída (o eso creo), pero parce ser que hay una de apoyo desde la que te puedes descargar distintas versiones de la imagen ISO del CD Live de Linux Gammers. Esta es la página web que yo he encontrado: http://live.linux-gamers.net/ Y esta es la dirección para descargarte la imagen ISO del CD live de Linux Gammers: http://live.linux-gamers.net/?s=download

Voy a probarla, ya estoy descargando la versión ‘Big’, unos 4,4 GB. Creo que mis hijas se pondrán contentas y conocerán más de cerca a Linux, les gustará más… Mientras tanto, os dejo otra captura de pantalla:

Un CD Live para jugar en Linux: live.linux-gammers.net
P.D Por si no sabes lo que es una imagen ISO: http://es.wikipedia.org/wiki/Imagen_ISO.

Insertar anuncios en foros phpBB

Insertar anuncios en foros phpBBValencia, 24/08/2012, G.B.
phpBB es posiblemente uno de los mejores gestores de contenido o CMS para la creación y gestión de foros. Recientemente he vuelto a instalar phpBB en un subdominio de INDAGA.net, mi viejo directorio de enlaces el cual también tuvo sus foros en su día, bajo la tecnología ASP (Active Server Pages). Ahora está bajo tecnología AMP (Apache, MySQL y PHP), así como los Foros de INDAGA.net.

Uno de los inconvenientes que me he encontrado, al no haber ‘trasteado’ todavía lo suficiente phpBB y sólo ‘rascado’ su superficie, era la inserción de anncios o publicidad en el sistema de foros. La solución ha venido de la mano del siguiente enlace: Insertar publicidad en phpBB. Al principio me fallaba por tema comentarios en HTML, aunque parezca mentira; ya está solucionado:<!--COMENTARIO EN HTML--> en vez de <!-- COMENTARIO EN HTML --> Increíble pero cierto, por lo que yo he podido comprobar. ¿La explicación? No tengo ni idea…

Os dejo  captura de pantalla de lo Foros de INDAGA.net con la publicidad ya insertada:

Insertar anuncios en foros phpBB

Enlaces de interés:
phpBB en castellano
5 Plataformas PHP para crear tu propio foro gratis