1.- Fundamentos: Sintaxis, variables, operadores

¿Dónde y cómo se inserta el código php?

Para hacer nuestros scripts en php lo único que necesitamos es un editor de textos (el block de notas mismo).

PHP nos permite embeber pequeños fragmentos de código dentro de la página HTML para llevar a cabo determinadas tareas (como por ejemplo extraer datos de una base de datos) de una forma fácil y eficaz. Para que el servidor sepa que se trata de una página que contiene código php es necesario guardar el archivo con la extensión .php.

Las líneas de código de PHP siempre acaban con un punto y coma. Nota: no nos referimos a cada línea física sino a cada sentencia de código.

Cómo hemos visto combinaremos html y php en nuestros scripts por lo que debemos indicarle al servidor qué partes de la página debe procesar como php y cuales como html (o javascript o lo que sea).

Para indicarle al servidor que empieza el código php utilizaremos la etiqueta

1
2
3 Primer php
4
5
6

Esto es código HTML.
7 <?php
8 echo(“Esto es PHP: Preprocesador de Hypertexto PHP\n”);
9 ?>
10

11
12

Como podéis ver, este script es prácticamente todo HTML excepto las líneas 7 a 9 que incorporan el script php.

Se puede alternar entre PHP y HTML cuantas veces se quiera, sólo hay que asegurarse de incluir todas las etiquetas de apertura y de cierre.

El servidor trabaja tiene más carga de trabajo cuando se trata de procesar php, por lo que hay que procurar mantener las partes estáticas de la página fuera de php.

Parse error

El parse error significa un error de sintaxis, has olvidado cerrar unas comillas, abrir una etiqueta de php, un punto y coma. Si al probar un script obtienes como respuesta “parse error on line 23” es que has cometido un error de este tipo.

Los comentarios

Asegúrate de comentar los scripts, lo que hoy puede parecerte cristalino como el agua y obvio hasta “para un niño”, puede no parecértelo tanto cuando dentro de unas semanas tengas que revisar el código para añadirle no sé qué funcionalidad chulísima que se te acaba de ocurrir. Ni que decir tiene la importancia que adquieren si tu código tiene que ser después tratado por terceras personas.

// Esto es un comentario que ocupa una sóla línea

/* Esto es un comentario
más largo porque incluye mucha más información
y por ello ocupa varias líneas de código */

Comentarios de Cabecera

A la cabeza de muchos scripts verás algo parecido a esto:

/* ##################################
## DCP-Portal v4.6 ##
######################################
## (c) 2001 Serhan D. Kiymaz ##
## E-Mail: dcp-portal@dcp-portal.com ##
## URL: http://www.dcp-portal.com ##
#####################################
## README ##
##################################
## (c) 2001 Serhan D. Kiymaz ##
## E-Mail: info@dotcom-projects.com ##
## URL: http://www.dotcom-projects.com #*/

Es lo que se llama un comentario de cabecera que suele incorporar información sobre el script, su funcionalidad, su autor, copyright, instrucciones de utilización, etc.

Variables

Son la quizá el cimiento más básico de cualquier lenguaje de programación.

La mejor forma de entender una variable es imaginársela como un contenedor, supongamos que es una Jarra. Podemos llenar la Jarra con agua, con vino, con cocacola o con lo que se nos ocurra. Es más podemos usarla un día para el agua y al día siguiente para vino: el contenido puede variar y ahí radica su utilidad.

Las variables son como una jarra. En un momento pueden almacenar una cosa, y al momento siguiente otra, pero siguen siendo jarras. Las variables pueden almacenar cosas de distinto tipo: números, textos, fechas…. Las matrices, que veremos más adelante son variables especiales que pueden almacenar varias cosas a la vez.

En PHP las variables siempre llevan el símbolo $ delante de sus hombres. Si tuvieramos una variable llamada Jarra y quisieramos utilizarla en un script: Cuidado los nombres de variable distinguen entre mayúsculas y minúsculas por lo que no es lo mismo $jarra que $Jarra.

$jarra = “Vino”; // Esta jarra contiene vino
$Jarra =” Agua”; // Esta jarra contiene agua

echo(“hoy para beber tenemos $jarra y $Jarra”);
// hoy para beber tenemos vino y agua

Ver el resultado

El signo = le asigna un valor a la variable jarra.

PHP no es un lenguaje “tipado”, es decir; una variable puede contener una variable de texto y después cambiar y contener un número.

Ejemplo:

NOTA: A veces una sentencia, nos ocupa varias líneas cuando debería ocupar solo una. Esto se debe al espacio disponible, por ello si váis a probar los scripts recordad: Una sentencia acaba dónde está el punto y coma, ponedlo todo en la misma línea.

Ejemplo con variables

Variables

<?php
$jarra = “agua”;
echo(”

Esta mañana, tenía tanta sed”.
“que no parar de beber $jarra
\n”);

$jarra=”vino”;

echo(“Claro es que ayer bebí demasiado $jarra
\n “);

$jarra =”zumo de tomate”;
echo(“Mañana tendré más cuidado y sólo beberé $jarra

\n “);

?>

NOTA: \n inserta un retorno de carro, así el código html resultante no sale todo seguido.

Ver el resultado

Si miraramos el código de fuente de la página, veríamos

Ejemplo con variables 2

Variables

Esta mañana, tenía tanta sedque no parar de beber agua

Claro es que ayer bebí demasiado vino

Mañana tendré más cuidado y sólo beberé zumo de tomate

Los operadores:

El signo igual que vimos antes se llama operador de asignación y se utiliza para asignar valores a las varialbes. Otros operadores son:

$variable = 1 + 1; // Asigna un valor de 2.
$variable = 1 – 1; // Asigna un valor de 0.
$variable = 2 * 2; // Asigna un valor de 4.
$variable = 2 / 2; // Asigna un valor de 1.

Estos operadores nos permiten sumar, restar, multiplicar y dividir números. Otro operador importante es el operador de concatenación, que nos permite unir cadenas de texto:

$variable = “Hola ” . “feo!”;
// Nos da un valor de “Hola feo!”.

Las variables se pueden usar prácticamente en cualquier sitio para sustituir un valor determinado. Veamos unos ejemplos más:

$variable1 = “PHP”; // Asigna el valor “PHP” a la $variable1
$variable2 = 5; // Asigna el valor 5 a la $variable2
$variable3 = $variable2 + 1; // Asigna el valor 6 a la $vairable3
$variable2 = $variable1; // Asigna el valor “PHP” a la $variable2
echo($variable1); // devuelve “PHP”
echo($variable2); // devuelve “PHP”
echo($variable3); // devuelve 6
echo($variable1 . ” rules!”); // devuelve “PHP rules!”
echo(“$variable1 rules!”); // devuelve “PHP rules!”
echo(‘$variable1 rules!’); // devuelve ‘$variable1 rules!’

Veamos las dos últimas líneas. Puedes incluir una variable directamente en una cadena de texto y que en su lugar se inserte el valor de la variable utilizando comillas dobles. Este proceso de convertir el nombre de una variable en su valor se llama “Interporlación de variables”. Si en lugar de comillas dobles, utilizas comillas simples, la interpolación no se produce.

Cómo pasar información del usuario de una página a otra

Todos hemos visto el típico script que te pregunta tu nombre y después te saluda “Hola pepe”. En PHP para hacer algo del mismo tipo, necesitamos mandar la página al servidor con los datos para que nos genere una página dinámica.

Cómo ponemos a disposición del servidor datos proporcionados por el usuario de una página a otra, para que el servidor pueda utilizarlos al generar páginas dinámicas?

Tenemos varias formas:

– Pasar los datos a través de la URL.
– Pasar los datos a través de un formulario
– Utilizar cookies (lo veremos más adelante)
– Utilizar sesiones (lo veremos más adelante)

1.- Pasar variables a través de la URL.

Es la forma más simple de pasar información de una página a otra: la “URL query string”. Si has visto alguna vez una URL con un signo de interrogación (?) has visto este método en acción. Vamos a ver un ejemplo facilongo, crea un archivo que se llame buenas.html (si html,) con el siguiente código:

Pasar Variables

Saludar

El código Saludar es un enlace a un archivo que se llama buenas.php. Pero además del enlace estamos pasando una variable con la página. Pasamos la variable como una cadena (“query string”), esta “query string” es la parte de la URL que está detrás del signo de interrogación y está formada por pares de nombre valor. La variable se llama “name” y su valor es “tomatoma”. Así hemos creado un enlace a la página buenas.php le hemos dicho a esa página que $name = “tomatoma”;

Para ver cómo funciona tenemos que analizar también el archivo buenas.php. Crea un nuevo documento pero esta vez con la extensión .php (buenas.php):

Pasar Variables

Ahora ya sé como te llamas

Porque si te fijas en la URL de esta página, me dice un nombre y así puedo decirte que:

Ver el resultado

Si pruebas estas páginas, verás que al pulsar sobre el enlace “saludar” en el documento buenas.html llegas a buenas.php, pero fíjate en la URL será algo parecido a esto:

http://localhost/buenas.php?name=tomatoma

Puedes pasar más de un valor. Cambia el enlace de buenas.html de la siguiente manera:

Saludar

Ahora cambia el código php del archivo buenas.php de la siguiente manera:

Esta vez hemos pasado dos variables $name y $piropo. Los pares de nombre valor en la URL se separan mediante el signo & (ampersand). Puedes pasar muchas variables de esta forma sólo tienes que separar cada par de nombre valor mediante el símbolo ampersand.

Pasar las variables a través de formularios:

Y me diréis con razón ¿y esto para qué sirve, si esos datos son fijos? Para recabar datos del usuario y poder utilizarlos en las páginas utilizamos los formularios. Nuevamente cambiamos el código de nuestro buenas.html y en lugar del enlace, insertamos un formulario

Nombre:

Apellido:

Con este formulario conseguimos el mismo efecto que con el enlace que vimos antes:

Saludar

Sólo que esta vez, $name y $piropo tendrán el valor que tengan los respectivos campos del formulario cuando los rellene el usuario.

El método del formulario se utiliza para decirle al navegador cómo tiene que mandar las variables con la petición.

Con un valor de “get” como el que acabamos de utilizar las variables se pasan a través de la URL, de forma que resultan visibles. No siempre es deseable ( o técnicamente viable) pasar las variables con la URL: supon que el formulario la recogida de un texto muy largo (una historia por ejemplo) La URL sería larguísima y probablemente sobrepasaría el límite admisible en la mayoría de los navegadores. Para evitar esto tenemos el método post:

Pasar variables por un formulario

Variables

Nombre:

Piropo

Este formulario es idéntico al anterior, lo único que cambia es el método. Cuando el usuario pulse “enviar” y cargue la página siguiente, no habrá “query string”, las variables se habrán comunicado de forma no visible para el usuario. Esta técnica te permite pasar datos que no conviene mostrar abiertamente (como contraseñas). Por otro lado si el usuario añade la página a favoritos, esa dirección será inútil puesto que no contendrá los valores y por lo tanto buenas.php no funcionará puesto que $name y $piropo no tendrán asignado ningún valor.[/b]

Descargar el código fuente de todos los ejemplos

Ejercicio práctico

Para practicar todo lo que hemos aprendido os voy a proponer un ejercicio que está basado en otro ejercicio de:

“Guía esencial PHP” Autor: Christopher cosentino
Disponible en: http://www.diazdesantos.es

Ejercicio:

Realizaremos un formulario para pedir unos datos al usuario. (ejercicio.html: Para ver una imagen de como tiene que ser el formulario: http://www.tomatoma.ws/php/ejercicio1/ejercicio1a.gif)

Una vez recogido estos datos, se los pasaremos a un script (enlaces.php: Para ver una imagen de como tiene que ser esta página: http://www.tomatoma.ws/php/ejercicio1/ejercicio1b.gif)
que nos generará 4 enlaces a la página de datos del usuario (usuario.php Para ver una imagen de esta como sería esta página: http://www.tomatoma.ws/php/ejercicio1/ejercicio1c.gif)

1.- El primer enlace nos permitirá acceder a la página usuario.php pero sólo se mostrarán los datos de contacto, los demás posibles datos estarán vacíos

2.- El segundo enlace nos permitirá acceder a la página usuario.php pero sólo se mostrarán los datos de la empresa, los demás posibles datos estarán vacíos

3.- El tercer enlace nos permitirá acceder a la página usuario.php pero sólo se mostrará el destino del viaje, los demás posibles datos estarán vacíos.

4.- El cuarto enlace nos permitirá acceder a la página usuario.php y se mostrarán todos los datos proporcinados por el usuario.

La solución: Podéis descargar los archivos correspondientes a la solución del primer ejercicio en el siguiente enlace: http://www.tomatoma.ws/php/ejercicio1/ejercicio1.zip

Indice – Estructuras de control

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s