Sunteți pe pagina 1din 36

PHP y MySQL - Manual de aprendizaje para crear un sitio web - Autor : Olivier ROLLET

Las bases del lenguaje PHP


o Introduccin PHP y MySQL
o Instalacin de EasyPHP
o Las etiquetas en PHP
o Las variables en PHP
o Las constantes en PHP

Funciones y estructuras de control


o Las condiciones en PHP
o Los bucles en PHP
o Las tablas o arrays en PHP - 1 de 2
o Las tablas o arrays en PHP - 2 de 2
o Procesamiento de las cadenas de caracteres en PHP - 1 de 2
o Procesamiento de las cadenas de caracteres en PHP - 2 de 2
o Los operadores en PHP - 1 de 2
o Los operadores en PHP - 2 de 2
o Las funciones en PHP - 1 de 2
o Las funciones en PHP - 2 de 2
o Almacenar una funcin en una variable en PHP
o Las fechas en PHP - 1 de 2
o Las fechas en PHP - 2 de 2
o Los archivos en PHP - 1 de 3
o Los archivos en PHP - 2 de 3
o Los archivos en PHP - 3 de 3

o Los includes en PHP

Transmitir datos de una pgina a otra


o Las variables superglobales en PHP - 1 de 2
o Las variables superglobales en PHP - 2 de 2
o El mtodo GET en PHP - 1 de 2
o El mtodo GET en PHP - 2 de 2
o El mtodo POST en PHP - 1 de 3
o El mtodo POST en PHP - 2 de 3
o El mtodo POST en PHP - 3 de 3
o El mtodo $_REQUEST en PHP
o Control de datos y redireccin de pginas en PHP - 1 de 2
o Control de datos y redireccin de pginas en PHP - 2 de 2

Manipular una imagen


o Creacin de una imagen en PHP
o Texto y color de imgenes en PHP
o Las formas en PHP

Base de datos MySQL


o PHPMyAdmin - 1 de 2
o PHPMyAdmin - 2 de 2
o El lenguaje SQL con MySQL y PHPMyAdmin - 1 de 3
o El lenguaje SQL con MySQL y PHPMyAdmin - 2 de 3
o El lenguaje SQL con MySQL y PHPMyAdmin - 3 de 3
o SQL avanzado en MySQL y PHPMyAdmin - 1 de 5
o SQL avanzado en MySQL y PHPMyAdmin - 2 de 5
o SQL avanzado en MySQL y PHPMyAdmin - 3 de 5

o SQL avanzado en MySQL y PHPMyAdmin - 4 de 5


o SQL avanzado en MySQL y PHPMyAdmin - 5 de 5
o Ejercicios SQL - PHPMyAdmin
o Acceso a las bases de datos con PHP - 1 de 6
o Acceso a las bases de datos con PHP - 2 de 6
o Acceso a las bases de datos con PHP - 3 de 6
o Acceso a las bases de datos con PHP - 4 de 6
o Acceso a las bases de datos con PHP - 5 de 6
o Acceso a las bases de datos con PHP - 6 de 6
o Ejercicios con PHP y MySQL - 1 de 2
o Ejercicios con PHP y MySQL - 2 de 2

El objeto
o La Clase - Programacin Orientada a Objetos en PHP - 1 de 3
o La Clase - Programacin Orientada a Objetos en PHP - 2 de 3
o La Clase - Programacin Orientada a Objetos en PHP - 3 de 3
o La Herencia en PHP
o Las clases abstractas y las clases finales en PHP
o Los mtodos mgicos en PHP
o Namespaces en PHP
o Ejercicios de Programacion Orientada a Objetos en PHP - 1 de 3
o Ejercicios de Programacion Orientada a Objetos en PHP - 2 de 3
o Ejercicios de Programacion Orientada a Objetos en PHP - 3 de 3

Configuracin
o PHP.ini
o Archivo de configuracin MySQL: My.ini

o Archivo de configuracin Apache: Httpd.conf

Seguridad y Rendimiento
o Fallos de seguridad XSS en PHP
o Derechos de la base de datos - PhpMyAdmin
o Inyeccin SQL (addslashes) en PHP
o Comprobacin de la sesin en PHP
o Rendimiento en PHP y MySQL

Casos prcticos y corregidos


o Crear un blog en PHP - 1 de 2
o Crear un blog en PHP - 2 de 2
o Crear una newsletter y un flujo RSS
o Gestin de un parque informtico en MVC
o PHP - Crear un sitio Web para gestionar becarios

FIN

Espero haber ayudado en algo. Hasta la prxima oportunidad!

Introduccin PHP y MySQL

Regresar al ndice

Esta serie de publicaciones se dirige a un pblico de programadores principiantes que ya conocen


HTML y CSS y que quieren entender el funcionamiento de una aplicacin Web para poder crear sus
propios sitios Web dinmicos con PHP y MySQL. En la primera parte, el lector va a instalar su
entorno de desarrollo EasyPHP y va a descubrir las bases del lenguaje PHP, (con la versin 5.5) sus
principales funciones y estructuras de control, as como una explicacin sobre la transmisin de
datos entre las pginas y la librera grfica (efectos especiales sobre una imagen). Estas partes
tericas se acompaan de numerosos ejemplos. Lo mismo ocurre en la segunda parte, dedicada al
lenguaje SQL. El lector va a descubrir una base de datos MySQL y los distintos mtodos para
acceder a ella con PHP (PDO, SQL Avanzado), as como la manera de asegurar la seguridad de la
base de datos. Un captulo se dedica a los primeros pasos con Programacin Orientada a Objetos y
otro a la administracin de la configuracin y su rendimiento.

Objetivo:

El objetivo es explicar cmo crear de manera dinmica e interactiva un sitio Web, con ayuda de
ejemplos.
Los requisitos previos son: conocimientos de HTML y algunas nociones de JavaScript, con algunos
ejercicios.

Funcionamiento de un sitio Web

Cuando ejecuta una URL (Uniform Resource Locator), por ejemplo http://www.google.es, qu ocurre
en el navegador (Internet Explorer, Firefox, Chrome...)?
La URL se enva a un servidor Web a travs de la red. Este servidor procesa la solicitud y reenva el
flujo HTML al navegador.
Existen dos tipos de sitios Web: los sitios Web estticos y los dinmicos.
Los sitios Web estticos solo contienen cdigo clientes, es decir, un cdigo que puede interpretar su
navegador. Por ejemplo: HTML y JavaScript.

En cambio, los sitios Web dinmicos contienen lenguaje servidor porque el servidor Web interpreta
este lenguaje y enva al navegador el flujo HTML. Por ejemplo, PHP, Java (no confundir con
JavaScript) y Active Server Pages.NET (ASP.NET) son lenguajes del lado servidor.

Cuando almacena informacin en su sitio Web, por ejemplo un inicio de sesin y una contrasea, un
blog, artculos, etc., est obligado a utilizar una base de datos para almacenar la informacin y
utilizar un lenguaje servidor que pueda leer o escribir la informacin en la base de datos.

Cuando ejecuta una URL desde un sitio Web dinmico (por ejemplo: http://google.es), se ejecutan
dos procesos diferentes:

1) El servidor Web (Apache es el ms frecuente) lee su URL y ejecuta el cdigo servidor (en nuestro
ejemplo, PHP) que va a crear un cdigo HTML. A continuacin el servidor enva a su navegador el
flujo HTML que se ha creado.

2) Su navegador recibe el flujo HTML y lo interpreta de manera grfica, mostrando la pgina HTML.
De este modo, cuando quiera probar en su equipo un sitio Web esttico, simplemente haga doble
clic en la pgina HTML para abrirla en su navegador.

La URL ser del tipo: C:\HTML\li.html

Pero si quiere probar un sitio Web dinmico con PHP, obligatoriamente debe instalar en su equipo
un servidor Web (por ejemplo, Apache) y ejecutar su pgina PHP con una URL de tipo:
http://127.0.0.1/test.php

Tener en cuenta

Para crear un sitio Web esttico, solo necesita un navegador (Internet Explorer, Firefox, Chrome...) y
un editor de texto, por ejemplo Notepad++ o Sublime Text.
Para crear un sitio Web dinmico, necesita un navegador, un servidor Web que ejecute las pginas
PHP y un servidor de base de datos.

En este soporte utilizaremos el servidor Web Apache y el servidor de base de datos MySQL, que son
las herramientas ms utilizadas para crear sitios Web de poca envergadura. Son gratuitos y estn
disponibles como un paquete. Se instalan fcilmente en UNIX, Windows y Mac.

Los paquetes ms utilizados son WAMP (XAMP en Linux, MAMP en Mac) y EasyPHP. En este libro
utilizaremos EasyPHP 13.1 de Windows.

Para
ms
informacin
puede
consultar
las
pginas
Web
www.php.net,
http://php.net/manual/es/index.php y www.easyphp.org (desde este ltimo enlace puede descargar
la ltima versin de EasyPHP).

Instalacin de EasyPHP

Regresar al ndice

De manera
13.1VC11.

predeterminada,

EasyPHP

se

instalar

en:

C:\ProgramFiles\EasyPHP-DevServer-

Puede descargar el instalador desde http://www.easyphp.org/

Una vez instalado, haga clic en Mostrar los iconos ocultos y ver el icono en el rea de notificacin
de la barra de tareas:

Haga clic con el botn derecho del ratn en y aparecer un men:

Haga clic en Web local; se abrir en su navegador la siguiente pgina:

Apache le enva esta pgina Web y la URL es http://127.0.0.1/. Esta direccin, tambin llamada
localhost, corresponde a la direccin de su servidor Web en modo local. Solo quien utilice este
equipo visualizar esta pgina y las pginas PHP que va a crear.

Las pginas PHP que va a codificar se almacenarn en el directorio C:\Program Files\EasyPHPDevServer-13.1VC11\data\localweb.

Atencin: en versiones anteriores, las pginas PHP se ubicaban en la carpeta www.

Observe que hay tres carpetas por defecto, que estn vacas y que se pueden eliminar si lo desea.

Google Chrome se va a utilizar como navegador por defecto.

Por ejemplo, cree un archivo vaco y gurdelo como C:\Program Files\EasyPHP-DevServer13.1VC11\data\localweb\test.php.

En su navegador, vuelva a la direccin http://127.0.0.1, actualice la pgina con [F5] y aparecer su


pgina test.php.

Ahora solo le queda elegir un editor de archivos para escribir sus pginas PHP.
Vamos a utilizar Notepad++. Es gratuito, se instala fcilmente y contiene una funcin muy prctica,
que consiste en asignar colores dependiendo de la sintaxis, para visualizar los errores de sintaxis
HTML o PHP.

A continuacin, escriba su cdigo HTML y PHP y guarde la pgina en el archivo C:\Program


Files\EasyPHP-DevServer-13.1VC11\data\localweb. Su pgina siempre debe tener la extensin .php,
salvo si se trata de una configuracin especial del servidor Web. En el siguiente ejemplo, la pgina
se llama test.php y contiene el cdigo HTML y PHP entre las etiquetas <?php y ?>.

En el siguiente ejemplo, la funcin echo crea <p>Hola!</p> en HTML y el navegador recibe todo el
flujo HTML de la pgina:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"


"http://www.w3.org/TR/xhtmll/DTD/xhtmll-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Ejemplo de pgina PHP</title>
</head>
<body>
<p>Hola</p>
</body>
</html>

Y dar como resultado: Hola

Haga clic con el botn derecho del ratn y elija en su navegador la opcin Ver cdigo fuente de la
pgina. Solo visualizar el cdigo HTML, nunca el cdigo servidor en PHP. No se preocupe si no lo ha
entendido todo, porque vamos a explicar ms adelante cmo se escribe una pgina PHP.

Las etiquetas en PHP


Regresar al ndice
1. Sintaxis bsica
XHTML (Extensible Hypertext Markup Language) es un lenguaje de etiquetas. Es el sucesor de HTML y se basa
en la sintaxis de XML. Asegura la compatibilidad tanto en equipos clsicos como en smartphones.
Ya conoce las etiquetas <html>, <body>, <head>...
Escriba PHP entre dos etiquetas. Se definen de la siguiente manera:
<?php : indica el comienzo del cdigo PHP
?> : indica el final del cdigo PHP
Si usa Notepad++, estas etiquetas se mostrarn en color rojo.
Si retomamos el ejemplo del captulo Instalacin, el cdigo PHP se escribir de la siguiente manera:
<?php
echo <p>Hello!</p>;
?>
Tambin puede escribir este cdigo en una sola lnea:
<?php echo <p>Hello!</p>; ?>
Existen otras formas de escribir estas etiquetas. En lugar de <?php y ?>, puede escribir:
<script language="php"> </script>
O bien:
<% %>
Y tambin:
<? ?>
Atencin: en el archivo de configuracin php.ini, las dos ltimas sintaxis requieren un parmetro especial.
2. Insercin de etiquetas PHP en el cdigo XHTML
Puede insertar un cdigo PHP en cualquier ubicacin del cdigo XHTML.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">

<head>
<title>Ejemplo de pgina PHP</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
</head>
<body>
Hola, hace <?php echo buen tiempo; ?>
</body>
</html>
En Internet Explorer este cdigo va a generar la siguiente imagen en Chrome:

Haga clic con el botn derecho del ratn y escoja Ver cdigo fuente de la pgina; obtendr el siguiente cdigo:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<title>Ejemplo de pgina PHP</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-859-1" />
</head>
<body>
Hola, hace buen tiempo </body>
</html>
Este es el cdigo HTML que el navegador ha recibido e interpretado. Observe que no se puede ver el cdigo
servidor entre las etiquetas php.
Tambin puede generar de forma dinmica el ttulo de la pgina HTML, es decir, el contenido de la etiqueta
<title>.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>

<title>Ejemplo PHP n2 <?php echo PHP n2; ?></title>


<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1" />
</head>
<body>
Hola, hace <?php echo buen tiempo; ?>
</body>
</html>
Este cdigo va a generar en Chrome lo siguiente:

3. Envo de datos al servidor Web


Existen varias instrucciones para enviar datos al servidor, es decir, para insertar cdigo HTML en una pgina Web.
La primera instruccin es echo y se escribe de la siguiente manera:
<?php echo texto; ?>
Tambin puede escribir este cdigo:
<?php echo "texto"; ?>
O bien:
<?php echo(texto); ?>
Atencin: si utiliza la primera sintaxis, no se interpretarn las variables (vea el siguiente ejemplo).
La segunda instruccin es print y se escribe de la siguiente manera:
<?php print(texto); ?>
Por tanto, print equivale a echo.

Existen otras variantes de print:

printf(): muestra una cadena de caracteres formateada.

sprintf(): devuelve una cadena formateada.

vprintf(): muestra una cadena formateada.

sscanf(): analiza una cadena con ayuda de un formato.

fscanf(): analiza un archivo en funcin del formato.

flush(): vaca los bferes de salida.

Observe que una instruccin siempre termina con un punto y coma.


Tambin puede escribir varias instrucciones en la misma lnea, siempre y cuando vayan separadas por punto y
coma.
<?php echo texto; ?> equivale a <?php echo tex; echo to; ?> y a
<?php echo tex;
echo to;
?>
4. Insercin del cdigo XHTML con la instruccin echo
La funcin echo permite insertar cualquier cdigo HTML, por ejemplo:
<?php echo <table><tr><td>texto</td></tr></table>; ?>
Y como resultado inserta una tabla HTML.
Tambin puede insertar una imagen de la siguiente manera:
<?php echo <img src="hoja.jpg" name="hoja" />; ?>
Por tanto, puede escribir una pgina Web completa con la instruccin echo.
<?php
echo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" ,
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">;
echo <html xmlns="http://www.w3.org/1999/xhtml">;
echo <head>;
echo <title>PHP ENI</title>;
echo </head>;
echo <body>;
echo <p>;
echo "Hello $nombre !<br />";

echo La fecha es 7 de marzo de 2013 .; //


echo </p>;
echo </body>;
echo </html>;
?>
El uso de las variables permite convertir el sitio en dinmico, es decir, la informacin mostrada se genera en una
base de datos cuyo contenido cambia con regularidad. En este ejemplo la variable es $nombre y la cadena de
caracteres est entre comillas.
5. Comentarios
Los comentarios son muy tiles en PHP porque permiten ignorar el cdigo que el servidor Web tiene que ejecutar.
Solamente el usuario puede ver el texto de los comentarios, que sirve para explicar las lneas del cdigo PHP.
Existen dos tipos de comentarios:

Monolnea:
<?php
// comentario monolnea
// echo no veremos nada;
?>

Multilnea:
<?php
/* comentario multilnea
echo no veremos;
echo nada;
*/
?>

En ninguno de los dos casos se ejecuta la instruccin echo.


Espero haber ayudado en algo. Hasta la prxima oportunidad!

Las variables en PHP


Regresar al ndice
1. Asignacin

Una variable es una informacin que se almacena temporalmente en la memoria, es decir, es una zona de la
memoria que almacena informacin en una pgina PHP y que se destruye automticamente cuando la pgina ya no
se ejecuta.
Una variable PHP comienza siempre con $, seguida de una letra y de una secuencia de letras, cifras o del signo _.
Por ejemplo, $edad.
Atencin: PHP distingue entre maysculas y minsculas, por lo que $nombre es distinto de $Nombre.
Una variable siempre tiene un nombre y un valor.
Por ejemplo, $edad = 25, el valor 25 se asigna a la variable $edad gracias al signo =.
No es necesario definir y buscar el tipo de variable. Se hace automticamente.
De este modo, puede escribir:
<?php
$edad = 25; //variable de tipo numrico
//despus
$edad = toto; //variable de tipo texto
?>
Esto no origina ningn error. El tipo de variable puede cambiar. En el ejemplo anterior cambia del tipo integer al
tipo string (ver el siguiente prrafo).
2. Tipos de variables
Hay dos categoras de variables:

Escalar:
o Los nmeros enteros llamados integer son 1, 2, 3... y los nmeros negativos, -1, -2, -3...
o Los nmeros decimales llamados float son los nmeros positivos o negativos con comas (1.35665).
Atencin: el punto se utiliza como separador.
o La cadena de caracteres string: cualquiera con dobles comillas ("hola") o comillas simples (hola).
o Los booleanos: solo tienen dos tipos de valores: verdadero o falso, clasificados como true o false.

Compuesta:
o Las tablas: permiten almacenar varias variables. Podr consultarlo en las publicaciones de
Funciones y estructuras de control - Las tablas.
o Los objetos: son ms complejos y se describen en la publicacin El objeto.

3. Particularidades del tipo de variable string


Si desea mostrar la frase Qu pasa con un apstrofo come este?, no podr escribir:
<?php $variable1 = Qu pasa con un apstrofo como este?; ?>
El apstrofo en la instruccin echo va a generar un error.
Para solucionar este problema, hay dos soluciones:

Usar comillas dobles en la instruccin echo:


<?php $variable1 = "Qu pasa con un apstrofo como este?"; ?>

Escapar en los apstrofos con \:


<?php $variable1 = Qu pasa con un apstrofo \ como este?; ?>

Cuando se aade la barra invertida delante del apstrofo, se va a evitar que este se interprete como el final de la
instruccin echo.
De esta manera, en el segundo caso la cadena "Qu pasa con un apstrofo como este?" estar en la variable
$variable1.
Lo mismo ocurre con las comillas:
<?php $variable1 = Mis "sper" amigos; ?>
o
<?php $variable1 = "Mis \"sper\" amigos"; ?>
La barra invertida anula el comportamiento de cierre de instruccin del apstrofo o de las comillas dobles. Tambin
puede servir pra anular el comportamiento del $.
Si quiere mostrar $variable1 = pepe, escriba:
<?php
$variable1 = pepe;
echo "\$variable1 = $variable1";
?>
Para terminar, puede acceder a un carcter de una cadena con la siguiente sintaxis:
$var[x] o $var es el nombre de la variable que contiene la cadena de caracteres y x es la posicin del carcter que
debe recuperar. Tenga en cuenta que para PHP el primer carcter est en la posicin 0.
El siguiente ejemplo, primero muestra h y a continuacin a.

<?php
$variable1 = hola;
echo $variable1[0];
echo $variable1[3];
?>
4. La concatenacin
Es un conjunto de cadena de caracteres. PHP permite la concatenacin usando la coma o el punto.
<?php
echo hola .lee esta ayuda;
?>
Equivale a:
<?php
echo hola ,lee esta ayuda;
?>
Da como resultado:
Hola lee esta ayuda
Si quiere concatenar la cadena "hola" y "aqu hay un apstrofo ", no podr escribir:
<?php
echo hola .aqu hay un apstrofo ;
?>
El apstrofo cierra la cadena de caracteres que ha empezado en "aqu", por lo que PHP genera un error.
Para evitar este problema:
O bien escapa en el apstrofo:
<?php
echo Hola .aqu hay un apstrofo \ ;
?>
O bien abre y cierra con comillas dobles la cadena de caracteres:
<?php
echo "hola"."aqu hay un apstrofo ";
?>
Si introduce en una variable la cadena "aqu hay un apstrofo ":
<?php
$variable = "aqu hay un apstrofo ";
echo "hola".$variable;
?>

Para mostrar una variable en una cadena de caracteres con ayuda de echo, escriba lo siguiente:
<?php
$variable = "aqu hay un apstrofo ";
echo "hola $variable";
?>
PHP interpreta la variable y muestra: "Hola aqu hay un apstrofo ", pero no "hola $variable".
Si quiere mostrar "hola$variable", no utilice $:
<?php
$variable = "aqu hay un apstrofo ";
echo "hola \$variable";
?>
Para terminar, y para una mayor claridad del cdigo, utilizaremos la sintaxis:
<?php
$variable = "aqu hay un apstrofe ";
echo "hola ".$variable;
?>
Esto permite mostrar en Notepad++ la $variable en color azul, y por tanto resaltar las variables del texto.
5. Transtipado
Se utiliza para transformar un tipo de variable en otro.
Por ejemplo, si tiene un nmero decimal en una variable y desea transformarlo en un entero, solo debe convertirlo
en entero. Esta conversin se denomina cast.
<?php
$variable = 15.325;
echo "El valor entero es:".(int)$variable;
?>
Da como resultado:
El valor entero es:15
En este ejemplo la variable $variable se transforma en tipo int y se concatena con la cadena de caracteres "El valor
entero es:".
Por tanto, la sintaxis es:
(tipo)$variable
Y el tipo es igual a:

(int) o (integer) -> tipo entero

(bool) o (boolean) -> booleano

(double) o (float) o (real) -> tipo double

(string) -> tipo cadena de caracteres

(array) -> tipo array

(object) -> tipo objeto

Puede aadir espacios entre los parntesis, antes y despus del tipo.
<?php
$variable = 15.325;
echo "El valor entero es:".( integer )$variable;
?>
Da como resultado:
El valor entero es:15
Otro ejemplo consiste en transformar un nmero entero en cadena de caracteres:
<?php
$variable = 15.325;
echo "El valor del tipo de cadena de caracteres es:
".(string)$variable;
?>
Da como resultado:
El valor del tipo de cadena de caracteres es: 15.325
En el siguiente ejemplo, se transforma un nmero entero en booleano:
<?php
$variable = 15.35;
$varbool = (bool)$variable;
echo "El tipo de variable \$varbool es:".gettype($varbool);?>
Da como resultado:
El tipo de variable $varbool es: booleano

Espero haber ayudado en algo. Hasta la prxima oportunidad!


Las constantes en PHP

Regresar al ndice

Una constante permite definir un dato, dndole un valor permanente vlido para el resto del
programa.

Esta constante es muy til si quiere utilizar regularmente un valor sin tener que escribirlo cada vez.
Por ejemplo, si utiliza normalmente PI y no quiere escribir cada vez el mismo valor 3,1415926535
puede crear una constante llamada PI por valor de 3,1415926535 y as podr utilizar PI en el cdigo
del programa.

Podemos definir una constante con la palabra clave define:

<?php
define(NOMBRE_DE_LA_CONSTANTE,valor de la constante);
?>

Para definir y mostrar PI:

<?php
define(PI,3,1415926535);
echo PI

?>

Da como resultado:

3,1415926535

El nombre y la constante se escriben siempre en maysculas. El valor puede ser una cadena de
caracteres, un valor numrico o un booleano.

No se puede volver a definir la constante. Conserva su valor permanentemente durante todo el


programa, es decir, en la misma pgina PHP.

Para saber si una constante est definida, puede utilizar la funcin defined. Esta funcin devuelve
true si la constante est definida, y false si no lo est.

<?php
define(PI,3,1415926535);
$var_definie = defined(PI);
echo $var_definie;
?>

Da como resultado:

True

Las condiciones en PHP

Regresar al ndice
1. If
Las instrucciones del tipo condicin permiten ejecutar el cdigo si una condicin es verdadera.
Por ejemplo, si el nombre es Roberto, muestre Bienvenido:
<?php
$nombre = Roberto; //declaracin de la variable $nombre
if ($nombre == Roberto) //comprueba la variable $nombre
{
echo Bienvenido;
}
?>
El valor Roberto se asigna a la variable $nombre y se comprueba con ayuda de la instruccin if.
Por tanto, la sintaxis es:
if (condition) { instruccin }
Tenga en cuenta que:

es igual a se designa ==

es diferente de se designa !=

es inferior a se designa <

es superior a se designa >

es inferior o igual a se designa <=

es superior o igual a se designa >=

La instruccin si no se designa con else.


Por ejemplo, si el nombre es igual a Roberto, se muestra Bienvenido, o Hasta pronto en otro caso:
<?php
$nombre = Pepe; //declaracin de la variable $nombre
if ($nombre == Roberto) //comprueba la variable $nombre
{
echo Bienvenido;
}
else
{
echo Hasta pronto;
}

?>
Da como resultado:
Hasta pronto
El cdigo comprueba si la variable $nombre es Roberto, pero como no es el caso, el cdigo entra en else (si no), y
ejecuta echo "Hasta pronto";.
La ltima instruccin en las condiciones es else if, llamada si no si.
Esto permite probar otras condiciones que no han sido comprobadas por if.
Por ejemplo, si el nombre es Roberto, se muestra Bienvenido ; si no, si es Pepe se muestra Hola ; si no, Hasta
pronto:
<?php
$nombre = Pepe; //declaracin de la variable $nombre
if ($nombre == Roberto) //comprueba la variable $nombre
{
echo Bienvenido;
}
else if ($nombre == Pepe) //comprueba la variable $nombre
{
echo Hola;
}
else
{
echo Hasta pronto;
}
?>
Da como resultado:
Hola
El cdigo comprueba si $nombre es igual a Roberto y si tambin es igual a Pepe.
Como efectivamente es igual a Pepe, el cdigo ejecuta echo "Hola";.
Puede aadir tantas instrucciones else if como quiera.
Si se comprueba la condicin ($nombre == "Roberto"), las otras condiciones else if ni siquiera se comprueban, por
tanto si entra en if se asegura de no pasar nunca por else if ni else.
Por el contrario, si escribe:
<?php
$nombre = Roberto; //declaracin de la variable $nombre
if ($nombre == Roberto) //comprueba la variable $nombre
{
echo Bienvenido;
}

if ($nombre == Pepe) //comprueba la variable $nombre


{
echo Hola;
}
else
{
echo Hasta pronto;
}
?>
El cdigo comprueba si $nombre es igual a Roberto y si tambin es igual a Pepe, pero como $nombre se inicia con
el valor Roberto, este cdigo muestra Bienvenido y Hasta pronto.
Tambin puede anidar los if unos dentro de otros tantas veces como quiera.
Por ejemplo:
<?php
$edad = 30; //declaracin de la variable $edad
if ($edad > 20) //comprueba la variable $edad
{
if ($edad == 30) //comprueba la variable $edad
{
echo Bienvenido;
}
else {
echo Hasta pronto;
}
}
?>
Da como resultado:
Bienvenido
El programa comprueba si la variable $edad es superior a 20, y, como es el caso, el programa comprueba si $edad
es igual a 30 y ejecuta echo "Bienvenido";.
Para terminar, puede intercalar el cdigo HTML entre las condiciones en PHP.
Por ejemplo:
<?php
$nombre = Roberto; //declaracin de la variable $nombre
if ($nombre == Roberto) //comprueba la variable $nombre
{
?>
Hola <!--Cdigo HTML-->
<?php
}
else
{
?>

Hasta pronto <!--Cdigo HTML-->


<?php
}
?>
Es igual a:
<?php
$nombre = Roberto; //declaracin de la variable $nombre
if ($nombre == Roberto) //comprueba la variable $nombre
{
echo Hola;
}
else
{
echo Hasta pronto;
}
?>
2. Switch
La instruccin switch es igual a if, pero el programador la utiliza para comprender mejor el cdigo. Si se utiliza un
break para salir del switch, entonces es igual a if. De lo contrario, se ejecutarn todas las instrucciones del case en
el que ha entrado.
La sintaxis es:
switch (condition) {
case expresin: instruccin
case expresin: instruccin
...
}
<?php
$nombre = Roberto; //declaracin de la variable $nombre
switch ($nombre) //comprueba la variable $nombre
{
case Roberto:
echo Hola;
break;
case Juan:
echo Hasta pronto;
break;
}
?>
La instruccin break provoca la salida del switch y si $nombre es igual a "Roberto" el cdigo ejecutar echo
"Hola" y break, y saldr del switch sin comprobar "Juan".
Eso es igual a la instruccin else if en lugar de if:

<?php
$nombre = Roberto; //declaracin de la variable $nombre
if ($nombre == Roberto) //comprueba la variable $nombre
{
echo Hola;
}
else if ($nombre == Juan)
{
echo Hasta pronto;
}
?>
En el siguiente ejemplo, si no utiliza la instruccin break:
<?php
$nombre = Roberto; //declaracin de la variable $nombre
switch ($nombre) //comprueba la variable $nombre
{
case Roberto: echo Hola<br />;
case Juan: echo Hasta pronto;
}
?>
El valor Roberto se asigna a la variable $nombre y esta variable se comprueba con ayuda de la instruccin switch.
El ejemplo anterior muestra lo siguiente:
Hola
Hasta pronto
La instruccin case permite comparar cada valor con la variable $nombre y ejecuta las instrucciones despus de los
:.
Para terminar, puede aadir la instruccin default para ejecutar el cdigo en caso de no haber encontrado ninguna
similitud con las instrucciones case.
Por ejemplo:
<?php
$nombre = Pepe; //declaracin de la variable $nombre
switch ($nombre) //comprueba la variable $nombre
{
case Roberto:
echo "Hola";
break;
case Juan:
echo "Hasta pronto";
break;
default:
echo "Nadie tiene este nombre";
}
?>
Da como resultado:

Nadie tiene este nombre


Como $nombre es igual a "Pepe", el cdigo no entra en el "Roberto" ni en el case "Juan", pero s en default.
La instruccin default es igual a la instruccin else.
Vea el siguiente ejemplo con dgitos:
<?php
$edad = 25; //declaracin de la variable $edad
switch ($edad) //comprueba la variable $edad
{
case 20:
echo "Tiene 25 aos.";
break;
case 25:
echo "Tiene 25 aos.";
break;
default:
echo "No tiene 20 ni 25 aos.";
}
?>
Da como resultado:
Tiene 25 aos.
En definitiva, si tiene que comprobar muchas condiciones, utilice switch.

Los bucles en PHP

Regresar al ndice

1. For

Un bucle permite repetir x veces la ejecucin de un cdigo.

Por ejemplo, si quiere mostrar diez veces Hola, solo tiene que escribir el bucle for.

<?php
for ($i = 1; $i <= 10; $i++)
{
echo Hola <br />;
}
?>

La variable $i representa el contador del bucle. No est obligado a recurrir a la variable $i, pero por
norma general es el nombre que se emplea.

Por tanto, la sintaxis es:

for ($i=nmero inicial; $i <= nmero final; aumento)


{
instrucciones
}

$i++ es igual a $i=$i+1 y represtenta el aumento de $i. Puede escribir $i=$i+2 para aumentar o
$i=$i-1 para disminuir.

Por ejemplo, puede escribir los nmeros de 100 a 150 con el siguiente cdigo:

<?php
for ($i = 100; $i <= 150; $i++)
{
echo $i.<br />;
}
?>

La instruccin echo $i.<br />; se repite 50 veces y $i aumenta en 1 cada vez.

<br /> permite saltar una lnea entre cada nmero para no tener que mostrarlos todos.

La instruccin break permite detener el bucle.

Por ejemplo, si quiere mostrar cinco veces Hola, solo debe escribir un bucle for:

<?php
for ($i = 1; $i <= 10; $i++)
{
echo Hola <br />;
if ($i == 5) {
break;
}
}
?>

Da como resultado :

Hola

Hola
Hola
Hola
Hola

El bucle se detiene cuando $i es igual a 5 (y no a 10).

2. While

El bucle while significa mientras que, es decir, el bucle se ejecutar siempre y cuando una
condicin sea verdadera.

Por ejemplo, para mostrar diez veces Hola, solo debe escribir un bucle while:

<?php
$i = 1;
while ($i <= 10)
{
$i=$i+1;
echo Hola <br />;
}
?>

La variable $i represtenta el contador del bucle. Pero mientras $i sea inferior o igual a 10, se
repetir el bucle.

Por lo tanto, la sintaxis es:

$i=nmero inicial
while ($i <= nmero final)

{
aumento
instrucciones
}

No olvide poner el aumento de $i en las instrucciones de while; de lo contrario $i nunca valdr 10 y


tendr un bucle infinito.

Tenga en cuenta que el valor de salida de $i se pone antes del bucle y que este valor debe respetar
la condicin del bucle ($i <= nmero final) para entrar en el bucle.

Si escribe:

<?php
$i = 11;
while ($i <= 10)
{
$i=$i+1;
echo Hola <br />;
}
?>

Nunca pasar en el bucle porque $i vale 11 en un principio, no se satisface la condicin del bucle.

El bucle while es igual al bucle for; en algunas ocasiones le resultar muy til si desconoce el
nmero de veces que va a ejecutar un bucle, sobre todo si va a leer el bucle while en la base de
datos y la condicin de salida del bucle depende del valor ledo en la base de datos.

3. Do while

El bucle Do while significa hacer mientras, es decir, el bucle se ejecutar siempre y cuando una
condicin sea verdadera. Se diferencia del bucle while en que la expresin se ejecuta al menos una
vez.

Por ejemplo, para mostrar diez veces Hola, debe escribir el bucle Do while:

<?php
$i = 1;
do
{
$i=$i+1;
echo Hola <br />;
} while ($i <= 10)
?>

La variable $i representa el contador del bucle. Pero esta vez debe leer: ejecutar el bucle si $i es
inferior o igual a 10.

Por tanto, la sintaxis es:

$i=nmero inicial
do
{
aumento
instrucciones
} while ($i <= nmero final)

4. Foreach

Este bucle se describe en la publicacin siguiente, dedicada a las tablas.

S-ar putea să vă placă și