Archivo de la categoría: Programación

Sincronizar Subtítulos .srt

1

Algunas veces no sé porque pero la función del VLC para manipular los segundos de los subtítulos no funciona correctamente, suele ocurrir cuando no están bien sincronizados. La mejor forma es bajarte un programita y alterar la linea de tiempo. No entiendo la razón pero no he encontrado ninguna aplicación web que lo haga así que me he creado una clase en PHP para manipular los archivos .srt

Seguir leyendo Sincronizar Subtítulos .srt

Etiqueta de Audio y Videos HTML5

Etiqueta audio

Con esta etiqueta puedes añadir audio a tu sitio sin necesidad de plugins. Esta etiqueta permite los códec de audio ogg (ogg, oga), mp3, wav y AAC, aunque cada navegador soporta diferentes códec.

<audio controls>
<source src="demo-audio.ogg" />
<source src="demo-audio.mp3" />
</audio>
Etiqueta video

Esta etiqueta es similar a

Seguir leyendo Etiqueta de Audio y Videos HTML5

Taller de PHP: Envío de datos de un formulario

Taller de PHP¡Hola, bienvenidos a la séptima clase del Taller de PHP! Espero que hayan estado practicando. Como seguramente ya saben pueden dejar todas sus dudas y comentarios que las iré respondiendo lo más rápido que pueda.

Muy bién, con lo aprendido en clases anteriores ya sabemos cómo hacer un if y ya sabemos cómo recorrer un bucle, pero ahora nos falta una parte importante que es cómo trabajar con formularios que nos envían los usuarios. ¡Empecemos ya!

¿Cómo armar un formulario para que sea procesado por Php?

En realidad no hay que hacer nada nuevo, simplemente armar el formulario en HTML, pero como hay muchos diseñadores que no saben cuáles son los campos que sí o sí hay que tener, vamos a armar uno de cero y para que sea un poquito más útil, vamos a armar un formulario de contacto.

Primero y principal hay que crear las etiquetas <form> con sus respectivos atributos.

<form action=”contacto_script.php” method=”post” id=”contacto”></form>

Vamos a explicar un poquito que es cada atributo y para qué sirve:

action: aquí es donde vamos a hacer que se envíen todos los datos, el archivo contacto_script.php va a procesar toda la información enviada y decidirá cómo continuar, si hubo un error, si fue correcto, etc.

method: le especificamos cómo queremos que se envíe la información, a través del método POST o del método GET.

Yo se lo que te estás preguntando ahora, qué diferencia hay entre cada método ¿No? El temita es el siguiente, no tiene sentido que yo te escriba un párrafo de 1000 palabras con las diferencias técnicas que existen entre un método y el otro para el protocolo HTTP por lo que te lo voy a explicar crudamente para que sepas cuándo emplear cada método:

Basicamente se envía información a través del método POST cuando se desea que ese envío de información sea oculto, o si se está enviando mucha información. Por lo general la página que recibe esa información no va a ser re-cargada, ya que si hacemos refresh en una página que acaba de recibir información vía POST el navegador nos avisará con un cartelito que estamos intentando recargar una página y que se va a enviar toda la información de nuevo, por un lado es molesto y por otro puede que el navegador no haya guardado correctamente toda la información enviada originalmente y falle.

El metodo GET, por el contrario, cuando completamos un formulario que envía los datos atraves de GET, esta información nos va a aparecer en la URL del sitio, si se fijan, cuando realizan una búsqueda en Google, esta se hace a través de un formulario con método GET, ya que en la URL nos aparece toda la información que nosotros buscamos más otras variables.

Ahora bien ¿Cuándo es aconsejable usar uno u otro método? Pues como dije justo en el párrafo anterior, cuando se realiza un formulario de búsqueda, o un formulario para filtrar la información mostrada o cambiar el orden de la información mostrada (En un listado de departamentos en alquiler, cambiar el orden por mejor precio, por número de ambientes, etc.) es aconsejable usar el metodo GET, ya que el usuario es muy probable que entre en una página y luego vuelva para atrás, en esta vuelta para atras, esta haciendo refresh de la pagina con los resultados de busqueda, si hubiese sido por POST, el navegador hubiese mandado la alerta de que se esta intentando entrar en una página que recibio informacion via POST y podría no mostrar la informacion correctamente.

Por el contrario, es aconsejable utilizar el método POST cuando se desea enviar mucha información, o es información que no va a cambiar por decisión del usuario, es decir, no es un filtro, sino un formulario de contacto, para escribir una nueva entrada en nuestro blog, crear un tema en un foro, etc.

id: lo usuamos para identificar el formulario, ya que podemos llegar a tener muchos formularios en una misma página y queremos que se identifique bien cada formulario. Aqui elegimos el nombre que queremos.

Listo, ya sabemos como configurar nuestro formulario, la clase que viene vamos a ver que diferentes tipos de campos existen y como vamos a procesar esta información con PHP.

Taller de PHP: Bucles (Parte II)

Bienvenidos a la sexta clase del Taller de PHP. Continuando con la clase de bucles, hoy vamos a ver los dos restantes: for y foreach. Estos son un poco más complejos, por lo que debemos prestar mucha atención para no cometer errores.

Vamos a ver que las expresiones tienen un encadenamiento determinado y deben cumplir con ciertos parámetros. Esto es fundamental para que todo funcione de manera correcta. Pero veamos esto en detalle, sin perder más tiempo.

for

El bucle for tiene la siguiente sintaxis:

<?
for( expresion 1; expresion 2; expresion 3 ) {
instrucciones
}
?>

La expresión 1 se ejecuta una vez al comienzo del bucle, la expresión 2 es la condición que se debe cumplir y la expresión 3 se ejecuta al final de ejecutar las instrucciones en cada iteración.

Siguiendo el mismo ejemplo de la clase anterior, en la que vimos el bucle while, ahora vamos a usar el mismo, mostrar la secuencia de números del 1 al 10 pero con un for.

<?
for ($c = 1; $c < 11; $c++) {
echo “$c <br />”;
}
?>

Al igual que como hicimos en el ejemplo del while, aquí seteamos $c = 1 (expresión 1 que se ejecuta por única vez antes de comenzar el bucle), $c < 11 es la expresión 2, o sea la condición que queremos que se cumpla, y $c++ es la acción que se va a realizar al finalizar la iteración, igual que el while donde le poníamos el $c++ dentro de las instrucciones.

Para bucles for se puede utilizar también una sintaxis alternativa.

<?
for ( expresion 1; expresion 2; expresion 3 ):

instrucciones
endfor;
?>

foreach

Este bucle es una forma rápida y sencilla de recorrer un arreglo o una matriz. En la clase 2 vimos que una variable podía contener un arreglo (array). ¿Qué quiere decir esto? que a una variable se le puede asignar un conjunto de elementos, por ejemplo la variable $semana puede contener un arreglo con los días de la semana, para esto la definimos así:

<?
$semana = array( ‘lunes’,'martes’,'miércoles’,jueves’,'viernes’,’sábado’,'domingo’ );
?>

La sintaxis del foreach que nos va a permitir recorrer los array es la siguiente:

<?
foreach ( expresion1 as expresion2 ) {
instruccion
}
?>

En expresion1 ponemos nuestro array y en expresion2 definimos cómo queremos que se llame el valor de cada elemento de nuestro array, en instrucciones lo que queremos hacer cada iteración.

Siguiendo nuestro ejemplo de la semana, el bucle va a recorrerse 7 veces, ya que tenemos 7 días, si lo que queremos es mostrar un listado de los días que tenemos en nuestro array debemos hacer lo siguiente:

<?
// definimos el arreglo con los días de la semana
$semana = array( ‘lunes’,'martes’,'miércoles’,jueves’,'viernes’,’sábado’,'domingo’ );

// mostrarnos el mensaje inicial
echo “Los días de la semana son:<br />”;

// comienza el bucle
foreach ( $semana as $dia ) {
echo “$dia <br />”;
}
?>

De esta forma la variable $dia se va reemplazando con el siguiente valor que le corresponde en el array por cada iteración que realiza el foreach

Si todavía no se perdieron, vamos a ver la forma de utilizar el foreach para recorrer un arreglo que tiene definido índices, en el ejemplo anterior vimos un array el cual no tenía definido ningún índice, ahora vamos a ver un array un poco más complejo:

<?
$noticia = array(
‘titulo’ => ‘Php Clase 5 - Bucles’,
‘cuerpo’ => ‘Acá va el contenido de la clase 5 de php, mucho texto, mucho mucho’,
‘autor’ => ‘Justi’
);
?>

Ahora que ya tenemos nuestro array más complejo, vamos a ver el foreach sin mostrar índices y mostrándolos

<?
foreach ( $noticia as $valor ) {
echo “$valor<br />”;
}
?>

En este ejemplo vamos a imprimir en pantalla lo siguiente:

Php Clase 5 - Bucles
Acá va el contenido de la clase 5 de php, mucho texto, mucho mucho
Justi

Y usando la expresión más compleja:

<?
foreach ( $noticia as $indice => $valor ) {
echo “$indice: $valor<br />”;
}
?>

obtenemos en pantalla

titulo: Php Clase 5 - Bucles
cuerpo: Acá va el contenido de la clase 5 de php, mucho texto, mucho mucho
autor: Justi

Tip

Lo bueno de usar esta última expresión es que se puede manipular que mostrar en pantalla dependiendo del índice, supongamos que queremos imprimir nuestra noticia pero queremos que los títulos tengan un <h1> el cuerpo aparezca en un <p> y el autor en un <span> usando los condicionales hacemos lo siguiente:

<?
foreach ( $noticia as $indice => $valor ) {
if ( $indice == ‘titulo’ ) { echo “<h1>$valor</h1>”; }
if ( $indice == ‘cuerpo’ ) {echo “<p>$valor</p>”; }
if ( $indice == ‘autor’ ) {echo “<span>$valor</span>”; }
}
?>

¿Y que tal? Ya va tomando un poco más de sentido todo lo que venimos leyendo, no?

Nos vemos la clase que viene.

Taller de PHP: Bucles (Parte I)

Casi siempre nuestros script van a realizar tareas repetitivas, por ejemplo, una función que muestra un listado de noticias, repite siempre la misma estructura, es decir, mostrar un título, mostrar una imagen, mostrar el autor, lo único que cambia es el contenido, pero la tarea que realiza es siempre la misma.

Una forma fácil de realizar una secuencia de instrucciones en forma repetitiva es utilizando los BUCLES.

En PHP existen cuatro tipos de bucles: while, do while, for y foreach.

while

El while es un bucle que va a realizar una instrucción o conjunto de instrucciones siempre y cuando la condición ( lo vimos en la Clase 4 – Condicionales – ParteII ) se cumpla, es decir sea verdadera. La comprobación de la condición la hace siempre al principio.

La estructura es la siguiente:

<code>
<?
while ( condicion ) {
instrucciones
}
?>
</code>

Explicando un poco la sintaxis del while, lo que va entre ( ) es la condición, puede ser de cualquier tipo, ver si existe una variable, si una variable es menor a otra, si una variable es verdadera, etc. Y entre { } va la instrucción o instrucciones.

Un ejemplo sencillo de este bucle puede ser mostrar una cuenta de 1 hasta 10.

<code>
<?
$c = 1;
while ( $c < 11) {
echo “$c <br>”;
$c++;
}
?>
</code>

En la primer línea definimos la variable $c con el valor 1, luego evaluamos la condición si $c es menor a 11, como es 1, se ejecutan las instrucciones.

En la primer linea de la instrucción mostramos en pantalla el valor de $c, en este caso 1, y luego en la segunda linea de instrucciones le sumamos uno a $c ( con $c++ se le suma un valor a la variable, es lo mismo a poner $c = $c + 1; ),

Al final de las instrucciones, el bucle vuelve a analizar la condición, en este caso $c es igual a 2, (recordar que le acabamos de sumar 1), sigue siendo verdadera la condición de que $c < 11, por lo que el bucle va a continuar con este proceso hasta que $c sea igual a 11.

do while

Este bucle no difiere mucho del anterior:

<code>
<?
do {
intrucciones
} while ( condicion)
?>
</code>

La única diferencia salvando la sintaxis es que primero ejecuta la instrucción y luego se fija si cumple la condición, en caso de ser verdadera la condición, vuelve a ejecutar una vez mas y así.

La clase que viene vamos a ver los dos bucles que nos están restando for y foreach

Máster de Redes CISCO, un curso interesante de CICE

Si quieres prepararte para ser un experto en networking como técnico de redes informáticas, el centro de estudios CICE te ofrece la oportunidad de cursar su Máster Profesional de Redes CISCO.CCNA con una interesante beca nada despreciable en los tiempos que corren. Esta formación te preparará para conseguir la Certificación Oficial de CISCO, un reconocimiento inmediato acerca de tus conocimientos en instalación, configuración, planificación y soporte de Redes.

Ahora que las empresas demandan profesionales para gestionar, planificar y crear sus redes informáticas, puede ser un buen momento para formarse en el tema y obtener un reconocimiento oficial por parte de una gran empresa como CISCO. El centro de formación CICE te ofrece la posibilidad de conseguir esta certificación gracias al Máster Profesional de Redes CISCO.CCNA. Además, si lo haces antes del 15 de noviembre tendrás un descuento especial.

El Máster Profesional está homologado por CISCO y consta de 240 horas presenciales en el centro de formación CICE de Madrid; más de 100 horas son teóricas y el resto prácticas con entrenamientos y modelos de exámen vía web. El objetivo final: conseguir la Certificación Oficial de CISCO que reconoce de cara a cualquier empresa u organización los conocimientos en redes informáticas.

Como ya hemos comentado, este Máster Profesional de Redes CISCO.CCNA está dirigido a cualquier persona interesada en trabajar gestionando, planificando o como soporte de redes informáticas en empresas. Tanto es así que el propio centro dispone de una Bolsa de Empleo que ayuda a sus alumnos a encontrar más fácilmente un trabajo donde aplicar todos los conocimientos y profesionalidad aprendida.

Pero seguro que lo que más te preocupa es el precio que puede costar este Máster de CICE. Si es así te damos una buena noticia porque hasta el 15 de noviembre, CICE ofrece 10 becas para apuntarte al Máster Profesional de Redes CISCO.CCNA por 1.282 euros más la matrícula de 180 euros, a pesar de que su precio real es de 2.565 más matrícula. ¿Vas a dejar pasar esta oportunidad de convertirte en un expertos en redes?

Taller de PHP: Condicionales (Parte II)

Bienvenidos a la cuarta clase del Taller de PHP. Esta clase en realidad continúa la anterior, donde comenzamos a ver el uso de las Condicionales. Hoy voy a hablar un poco sobre los operadores.

A lo largo de esta clase veremos qué son los operadores. Además aprenderemos sobre operadores aritméticos, de asignación, de comparación y operadores lógicos, descubriendo cómo nos ayudará cada uno en nuestros proyectos.

¿Qué son los operadores?

Al realizar nuestros scripts constantemente estamos realizando operaciones que le dan complejidad a nuestro trabajo. Existen cuatro tipo de operadores: aritméticos, asignación, lógicos y comparación.

Operadores aritméticos

+
adición de valores.

-
resta de valores.

*
multiplicacion de valores.

/
division de valores.

%
resto de una division.

++
incrementa en una unidad.

--
resta en una unidad.

Operadores de asignación

=
asigna al primer miembro el segundo. Es decir $a = 4, le asigna el valor 4 a $a.

+=
asigna al primer miembro la suma del primer miembro con el segundo.
$a =4; $b = 5; $b += $a, ahora $b pasa a valer 9.

-=
asigna al primer miembro la resta del primer miembro con el segundo.

*=
asigna al primer miembro la multiplicacion del primer miembro con el segundo.

/=
asigna al primer miembro la division del primer miembro con el segundo.

%=
asigna al primer miembro el resto de la division del primer miembro dividido el segundo.

.=
concatena el primer miembro con el segundo y se lo asigna al primero.
Es decir $a = ‘Hola ‘; $b = ‘Mundo’. $a .= $b; ahora $a = ‘Hola Mundo’;

Operadores de comparación

Este tipo de operadores se van a utilizar mucho en los condicionales, junto con los operadores lógicos son los que le van a dar la complejidad a nuestro script.

==
comprueba si dos valores son iguales, por ejemplo if ($a == $b) si $b es igual $a, el condicional
devuelve TRUE y continua ejecutando el script.

!=
comprueba si dos valores son distintos.

>
comprueba si el valor del primer miembro es mayor al segundo, por ejemplo if ( $a > 5), va a
devolver TRUE para todos aquellos valores de $a mayor a 5.

<
comprueba si el valor del primer miembro es menor al segundo.

>=
comprueba si el valor del primer miembro es mayor o igual al segundo.

<=
comprueba si el valor del primer miembro es menor o igual al segundo.

Operadores lógicos

!
operacion de negativa, por ejemplo dentro de un condicional se puede realizar todo tipo de operaciones y funciones, una que veremos mas adelante es una funcion propia de php que devuelve TRUE o FALSE dependiendo si la variable esta vacia, entonces si nosotros preguntamos if (!empty($a)) va a devolver si $a = 5, TRUE, ya que empty($a) devuelve FALSE, pero !empty($a) seria como preguntar Si $a NO esta vacia.

and
comparador Y. Dentro de un condicional es necesario que ambas condiciones se cumplan es decir if ( $a == 4 AND $b == 5 ) continua con el script.

or
comparador O. Dentro de un condicional es necesario que se cumpla una de las dos condicione, es decir if ( $a == 4 OR $b == 5 ) con que $a = 4 o $b = 5 el script va a continuar su ejecucion.

xor
va a devolver verdadero si al menos una de las dos condiciones es verdadera pero no ambas.

&&
es igual que el and

||
es igual que el or