Archivo de la etiqueta: curso

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 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

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

Taller de PHP: Condicionales (Parte I)

A partir de esta clase vamos a empezar a ver con más profundidad como podemos aprovechar al máximo la programación. Los condicionales son básicamente el elemento fundamental a la hora de hacer páginas dinámicas. Con ellos decidimos qué tipo de acción realizar y son parte de la llamada estructura de control.

Diferentes tipos de condicionales

Tenemos 4 elementos a utilizar a la hora de necesitar una condición:

if, else, elseif y switch

Casos de uso

if, else y elseif

La estructura if se utiliza para ejecutar una accion según una determinada condición. Por ejemplo:
<?
if ( $fecha == ‘04.02.2008′ ) {
echo “Hoy es 4 de Febrero de 2008″;
}
?>

Por otro lado está muy relacionada con el else, que sirve para continuar con el proceso si no se cumple la condición.

¡Atención! No es obligatorio que figure.

<?
if ( $usuario != false ) {

echo "Bienvenido de nuevo $usuario";
} else {
echo “Hola, si aún no estas registrado puedes hacerlo …”;
}
?>

Si usamos el else se mostrará o la primer acción o la segunda. Por el contrario, si usamos solo el if, en pantalla se mostrara el bloque de acción –si se cumple la condicion– y seguirá corriendo el script mostrando lo que viene a continuacion por fuera de los { }.

Por último, tenemos el elseif que nos permite usar varias condiciones hasta que se cumpla una. Por ejemplo:

<?
if ( $hoy == ‘Lunes’ ) {
echo ‘Hoy es Lunes, tenemos carne para almorzar’;
} elseif ( $hoy == ‘Martes’ ) {
echo ‘Hoy es Martes, tenemos fideos para almorzar’;
} elseif (
$hoy == 'Miercoles' ) {
echo ‘Hoy es
Miercoles, tenemos estofado para almorzar';
} elseif (
$hoy == 'Jueves' ) {
echo ‘Hoy es
Jueves, tenemos pizza para almorzar';
} elseif (
$hoy == 'Viernes'{
echo ‘Hoy es Viernes, tenemos tarta para almorzar’;
} elseif (
$hoy == 'Sabado'{
echo ‘Hoy es Sabado, tenemos ravioles para almorzar’;
} else (
$hoy == 'Domingo'{
echo ‘Hoy es Domingo, no almorzamos :(’;
}

?>

El script va a correr hasta que se cumpla la condición y entrará únicamente en esa sentencia.

Switch

La estructura switch es una forma paralela a la usada en el último caso. Se forma de la siguiente manera:

<?
switch($hoy) {
case ‘Lunes’:
echo ‘Hoy es Lunes, tenemos carne para almorzar’;
break;
case ‘Martes’:
echo ‘
Hoy es Martes, tenemos fideos para almorzar';
break;
case ‘Miercoles’:
echo ‘
Hoy es Miercoles, tenemos estofado para almorzar';
break;
case ‘Jueves’:
echo ‘
Hoy es Jueves, tenemos pizza para almorzar';
break;
case ‘Viernes’:
echo ‘
Hoy es Viernes, tenemos tarta para almorzar';
break;
case ‘Sabado’:
echo ‘
Hoy es Sabado, tenemos ravioles para almorzar';
break;
case default:
echo ‘
Hoy es Domingo, no almorzamos :( ';
break;
}?>

Condicionales con HTML

Una de las grandes ventajas de PHP es que se puede entrelazar con HTML. Un claro ejemplo de lo aprendido en esta clase, es cómo decidir qué mostrar y qué no en nuestro HTML con un condicional de PHP.

En el caso siguiente mostraré el formulario para dejar comentarios de elWebmaster, dependiendo si estamos registrados o no en nuestro sitio.

A continuación, verás cómo queda el formulario en ambos casos:

PHP formulario
Sesión iniciada como usuario registrado.


Usuario invitado. Sesión no iniciada.

Taller de PHP: Variables y Constantes

phpEn la clase anterior vimos un ejemplo muy chiquito explicando más o menos qué era una variable, hoy avanzaremos un poco más en detalle, veremos:

  • Reconocimiento de Variables
  • Tipos de Variables
  • ¿Qué son las constantes y en qué se diferencian?

Reconociendo variables

Como expliqué en la clase anterior las variables anteponen el símbolo $, es decir $variable, $queEsEsto, $no_se, son tres variables que se le pone el nombre que uno quiere.

Qué contenido pueden tener mis variables

A una variable se le puede asignar cualquier tipo de información: una cadena de texto (string), números enteros (integer), un arreglo (array), true, false, null, etc;
Así mismo, a una variable que antes era un string se le puede cambiar el tipo de información sin ningún problema.

<?
$miVariable = “hola, esta es una cadena de texto”;
$miVariable = 30;
$miVariable = array( ‘hola’, ‘este’, ‘es’, ‘un’, ‘array’ );
$miVariable = true;
?>

Si escribimos todo eso en nuestro código php, el valor final que va a tener la variable $miVariable va a ser true, todo el resto de la información asignada se pierde.

Tipo de variables

Existen dos tipos de variables en php, locales y globales, locales son aquellas que se ejecutan en un único ámbito, es decir si yo defino una variable $local y a continuación uso una función que adentro contiene una variable llamada $local, van a ser consideradas como dos variables diferentes y no va a pasar lo que pasa en el ejemplo anterior que la información asignada prioritariamente a la variable $local se pierde.

Para crear una variable global que sí puede ser accedida desde todos los ámbitos de nuestro script se debe aclarar, caso contrario es local.

<?
global $miGlobal = “esta es una variable global”;
?>

¿Qué son las constantes y en qué se diferencian con las variables?

Como bien lo dice el nombre, una constante es como una variable pero una vez definida esta no puede cambiar su contenido en todo el script.

Para crear una constante debemos definirla de la siguiente manera:

<?
define(’HOLA’, ‘Hola Mundo’);
?>

De esa forma hemos definido la constante HOLA (por convención se utilizan nombres en mayúscula para las constantes aunque no es obligatorio). Las constantes son más livianas que las variables en el uso de memoria del servidor y no pueden ser reescritas, es decir, si en nuestro script tenemos lo siguiente:

<?
define(’HOLA’, ‘Hola mundo’);
define(’HOLA’, ‘Chau mundo’);
?>

Nuestro script de php va a interpretar la constante HOLA con la primer información definida en ella, es decir Hola mundo y en el reporte de errores del servidor va a agregar el error de que se intento definir nuevamente la constante HOLA.

Otra ventaja que tienen las constantes es que son GLOBALES, es decir se pueden acceder desde cualquier ámbito, dentro de una función, una clase, etc.

Por último, para usar una constante la usamos directamente por el nombre que definimos en el primer término, volviendo al ejemplo de Hola mundo de nuestra primer clase, usando la constante sería de la siguiente forma:

<? define('HOLA', 'Hola mundo'); ?>
<html>

<head>
<title><? echo HOLA; ?></title>
</head>
<body>
<h1>incluir código PHP en html</h1>
<p><? echo HOLA; ?></p>
</body>
</html>

y en el navegador se verá así:

Hola Mundo

Taller de PHP: Introducción

PHPEste es el primer artículo editorial del Taller de PHP donde podrás conocer de qué se trata este lenguaje, cómo aplicarlo y algunos tips extra para sacarle el máximo provecho. Para empezar, PHP es un lenguaje de programación para páginas web que permite generar páginas dinámicas del lado del servidor. Para ser un poco más preciso, nos referimos por páginas dinámicas a aquellas páginas que van a cambiar su contenido dependiendo de los valores que se le asignen.

Sin ir más lejos, este mismo blog está programado en PHP y para ver los artículos se utiliza siempre el mismo archivo, pero se muestra el contenido de acuerdo a la id del artículo que se le está pidiendo.

¿Y por qué del lado del servidor? Esto significa que el código PHP va a ser interpretado en el servidor. Así, lo que el usuario verá en pantalla será el contenido generado por la interpretación del archivo PHP que el usuario está solicitando.

Una de las grandes ventajas que tiene PHP es su gran versatilidad a la hora de trabajar con bases de datos, permitiendo realizar páginas con información almacenada en forma persistente en bases de datos y mostrarla según la petición de los usuarios.

Primeros pasos

Dentro de un archivo PHP se puede alternar entre código HTML y código PHP. Esto nos permite realizar páginas dinámicas de forma fácil: realizando toda la estructura con html y luego agregando el contenido dinámico.

Imaginemos una página html común, pero en lugar de ser index.html es index.php. Cuando se quiera agregar código PHP habrá que hacerlo dentro de las etiquetas <?php y ?> o <? y ?>, por ejemplo:

<html>
<head>
<title>hola mundo</title>
</head>
<body>
<h1>incluir código PHP en html</h1>
<p><? acá va el código PHP ?></p>
</body>
</html>

Variables

Las variables son elementos que creamos para asignarles un valor o dato específico (que puede cambiar a lo largo de nuestro archivo). En PHP, las variables se definen anteponiendo el signo $, por ejemplo:

$hola = "hola mundo";

En el código anterior definimos la variable hola la cual contiene la información hola mundo. Noten que al final agregué un punto y coma (;). En PHP, siempre que se termine una instrucción hay que aclararlo de esta forma.

Tip

Lo ideal a la hora de programar es definir todas las variables y realizar las operaciones antes del código html y en ese código mostrar los resultados de nuestras variables. Por ejemplo, un código completo dehola mundo sería:

<? $hola = "hola mundo"; ?>
<html>
<head>
<title>
<? echo $hola; ?></title>
</head>
<body>
<h1>incluir código PHP en html</h1>
<p><? echo $hola; ?></p>
</body>
</html>

La funcion echo lo que hace es imprimir una o más cadenas de texto. En nuestro ejemplo anterior, como la variable contenía una cadena de texto (string), lo que el navegador hubiera mostrado es:

<html>
<head>
<title>hola mundo</title>
</head>
<body>
<h1>incluir código PHP en html</h1>
<p>hola mundo</p>
</body>
</html>

En los próximos artículos de este taller ya profundizaremos en el uso de este potente lenguaje.

PHP….Conceptos básicos

El lenguaje PHP es un lenguaje de programación de estilo clásico, con esto quiero decir que es un lenguaje de programación con variables, sentencias condicionales, bucles, funciones…. No es un lenguaje de marcas como podría ser HTML, XML o WML. Está mas cercano a JavaScript o a C, para aquellos que conocen estos lenguajes.

Pero a diferencia de Java o JavaScript que se ejecutan en el navegador, PHP se ejecuta en el servidor, por eso nos permite acceder a los recursos que tenga el servidor como por ejemplo podría ser una base de datos. El programa PHP es ejecutado en el servidor y el resultado enviado al navegador. El resultado es normalmente una página HTML pero igualmente podría ser una pagina WML.

Al ser PHP un lenguaje que se ejecuta en el servidor no es necesario que su navegador lo soporte, es independiente del navegador, pero sin embargo para que sus páginas PHP funcionen, el servidor donde están alojadas debe soportar PHP.