Modulo V Programacion Del Lado Del Servidor

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 22

Modulo V Programacin del lado del servidor

5.1 Introduccin al lenguaje


Procesamiento del lado del servidor.
La Programacin del lado del servidor es una tecnologa que consiste en el procesamiento de una
peticin de un usuario mediante la interpretacin de un script en el servidor web para generar
pginas HTML dinmicamente como respuesta.
Todo lo que suceda dentro del servidor es llamado procesamiento del lado del servidor, o serverside processing. Cuando tu aplicacin necesita interactuar con el servidor (por ejemplo, para cargar
o guardar datos), sta realiza una peticin del lado del cliente (client-side request) desde el
navegador, a travs de la red usando invocaciones remotas a mtodos (remote procedure call, RPC).
Mientras se est procesando una llamada RPC, tu servidor est ejecutando cdigo del lado del
servidor.
La utilizacin de las diferentes aplicaciones o servicios de Internet se lleva a cabo respondiendo al
llamado modelo cliente-servidor.
Cuando se utiliza un servicio en Internet, como consultar una base de datos, transferir un archivo o
participar en un foro de discusin, se establece un proceso en el que entran en juego dos partes.
Por un lado, el usuario, quien ejecuta una aplicacin en procesador local: el denominado programa
cliente. Este programa cliente se encarga de ponerse en contacto con el procesador remoto para
solicitar el servicio deseado. El procesador remoto por su parte responder a lo solicitado mediante
un programa que est ejecutando. Este ltimo se denomina programa servidor. Los trminos cliente
y servidor se utilizan tanto para referirse a los programas que cumplen estas funciones, como a las
computadoras donde son ejecutados esos programas.
El programa o los programas cliente que el usuario utiliza para acceder a los servicios de Internet
realizan dos funciones distintas. Por una parte, se encargan de gestionar la comunicacin con la
computadora servidor, de solicitar un servicio concreto y de recibir los datos enviados por ste; y
por otra, es la herramienta que presenta al usuario los datos en pantalla y que le ofrece los
comandos necesarios para utilizar las prestaciones que ofrece el servidor.

Modulo V Programacin del lado del servidor


Cuando nosotros seleccionamos un enlace hipertexto, en realidad lo que pasa es que establecemos
una peticin de un archivo HTML residente en el servidor (una computadora que se encuentra
continuamente conectado a la red) el cual es enviado e interpretado por nuestro navegador (el
cliente).
As pues, podemos hablar de lenguajes de lado servidor que son aquellos lenguajes que son
reconocidos, ejecutados e interpretados por el propio servidor y que se envan al cliente en un
formato comprensible para l, por ejemplo: ASP, PHP, JSP.
Por otro lado, los lenguajes de lado cliente (entre los cuales no slo se encuentra el HTML sino
tambin el Java y el JavaScript los cuales son simplemente incluidos en el cdigo HTML) son aquellos
que pueden ser directamente "digeridos" por el navegador y no necesitan un pre-tratamiento.

Cada uno de estos tipos tiene por supuesto sus ventajas y sus inconvenientes. As, por ejemplo, un
lenguaje de lado cliente es totalmente independiente del servidor, lo cual permite que la pgina
pueda ser albergada en cualquier sitio sin necesidad de pagar ms ya que, por regla general, los
servidores que aceptan pginas con scripts de lado servidor son en su mayora de pago o sus
prestaciones son muy limitadas.
Inversamente, un lenguaje de lado servidor es independiente del cliente por lo que es mucho menos
rgido respecto al cambio de un navegador a otro o respecto a las versiones del mismo.
Conceptos bsicos de la herramienta de desarrollo
Una herramienta es un objeto elaborado a fin de facilitar la realizacin de una tarea mecnica que
requiere de una aplicacin correcta de energa. El trmino herramienta, en sentido estricto, se
emplea para referirse a utensilios resistentes, tiles para realizar trabajos mecnicos que requieren
la aplicacin de una cierta fuerza fsica.
Cada herramienta tiene un fin especfico y debera ser usado solo con un fin determinado, Sin
embargo esto no se cumple en la mayora de las tareas del quehacer humano y mucho menos en
las aplicaciones web. Cuando pensemos en las mejores herramientas para el desarrollo web es
necesario pensar en donde estar alojado nuestro sitio (hosting).
El hosting o alojamiento web es un sistema esencial para el funcionamiento de los sitios en Internet
y es el lugar donde fsicamente reside nuestra informacin. Si tenemos recursos ilimitados para

Modulo V Programacin del lado del servidor


tener nuestro propio sitio entonces tendramos que hacer una gran investigacin para seleccionar
las herramientas ms sofisticadas. Sin embargo para la mayora de las aplicaciones debemos pagar
porque nuestra informacin sea colocada en cierto servidor.
El lugar donde fsicamente se almacenara nuestra informacin determina los lenguajes soportados
(cliente, servidor), el gestor de la base de datos y las prestaciones que podremos ofrecer a nuestros
futuros usuarios.
Sin el afn de romperse las camisas discutiendo este punto, las herramientas que usaremos para
desarrollar el sitio, dependen de las preferencias, del acceso a las herramientas ("licencias") y la
disponibilidad. En resumen cada quien habla como le va en la feria. Si somos expertos en un X
lenguaje y el sistema Operativo de nuestro host no lo soporta, podremos tener las herramientas
ms sofisticadas pero no servirn de nada.
Las fases de un desarrollo web, as como los lenguajes de programacin usados, son muy extensas
y variadas, y por ello necesitamos herramientas especficas para cada una de ellas. Conoceremos a
continuacin las principales herramientas existentes para poder desarrollar fcilmente un proyecto
web.
En el desarrollo web tenemos unas herramientas para el diseo, otras para la maquetacin, otras
para la programacin, y para la depuracin. Todas las herramientas que usemos son muy
importantes, desde el sistema operativo hasta el comando ms insignificante, y por ello debemos
elegir la ms adecuada a nuestras necesidades y capacidades.
Sistema Operativo
Para desarrollar una web, lo primero que necesitamos es un Sistema Operativo, como es lgico, y
su eleccin no es tan trivial. Hay que tener en cuenta las aplicaciones de las que dispone el Sistema
Operativo y sus costos.

Si pensamos desarrollar en .NET este solo es soportado por Windows y los costos de hospedaje son
ms caros que los que soportan Linux.

Modulo V Programacin del lado del servidor


Fases de desarrollo de una web
Para elegir las herramientas a utilizar, antes debemos identificar las fases del proceso que forman
el ciclo de vida de un desarrollo web.
1. Diseo: consiste en crear esbozos de la web final mediante una herramienta grfica, como
Photoshop.
2. Maquetacin HTML/CSS: consiste en convertir los esbozos creados en la fase anterior en
plantillas HTML, su respectiva hoja de estilos, y las imgenes usadas. Es posible saltarse la
fase anterior para comenzar directamente con esta fase, dependiendo de si dominamos
herramientas como Photoshop o no.
3. Programacin cliente: consiste bsicamente en Javascript. Existen muchas libreras de
distribucin libre como JQUERY que nos aportan verdaderas joyas para el desarrollo.
4. Programacin servidor: en esta fase, que se desarrolla junto con la anterior, crearemos la
aplicacin web en un lenguaje de servidor, como puede ser PHP, ASP.NET, Python, Perl,
Java, etc.
5. Depuracin: esta fase enlaza la anterior con la siguiente, y es donde haremos las pruebas
unitarias, aserciones, trazas, etc.
6. Pruebas en local: en nuestro servidor local haremos todas las pruebas posibles. Por ejemplo
usando wampServer.
7. Subir archivos al hosting: Dependiendo del hosting, podremos usar FTP, SSH, aconsejo usar
cuteFTP es una herramienta confiable y verstil.
8. Pruebas en hosting: realizaremos las ltimas pruebas en el servidor del hosting para
comprobar que el cambio de servidor no ha afectado a nada. Para evitar problemas, nuestro
servidor local debe tener exactamente la misma configuracin que el servidor del hosting.
Recuerde probar que sus cdigos sean compatibles al menos con Firefox, Safari e Internet
Explorer.
En general podemos usar comercialmente la suite de Adobe que incluye a Dreamwever y sus
herramientas de edicin un servidor FTP, adems de validar nuestros cdigos javascript y css. Con
el inconveniente de ser una herramienta muy cara.
En contra parte, va versin Joomla! edition de kademar Linux es la adaptacin de la versin de
Escritorio DVD (Leo) 4.9.1 con la inclusin de los programas necesarios para trabajar con el gestor
de contenidos Joomla!.
En esta edicin se incluye instalado el gestor de contenidos Joomla, junto con los programas
necesarios para su funcionamiento totalmente instalados y configurados. Es posible aprender a usar
Joomla! sin necesidad de buscar un servidor de hosting para crear pginas web. Est funcionando
en local y no se tiene que pelear con la instalacin de todo lo necesario: base de datos MySql,
phpmyadmin, apache.... etc. Todo est ya instalado y configurado, plenamente funcional para usarlo
inmediatamente.

Modulo V Programacin del lado del servidor


5.2 Elementos de programacin
Variables
Los programas en PHP inician con '<?php' y terminan con el tag '?>'. En el cdigo la instruccin echo
imprime en pantalla la cadena encerrada entre pares de " ". Note que entre las lneas encontramos
el tag html '<br />' lo cual regresa un retorno de lnea.
Adems observe que cada lnea termina con un ';'.
Ejemplo:
<?php
echo 'Hola mundo.'<br >';
echo 'Como estas. '.'<br >';
?>
Las variables en PHP no necesitan, a diferencia de otros lenguajes de programacin ser declaradas
especficamente dado que cuando a una variable se le asigna un valor esta se inicializa en forma
automtica determinando la cantidad de memoria necesaria para dicha variable.
Los nombres de las variables van precedidas del signo '$'. Los nombres de las variables son sensibles
al uso de las maysculas y minsculas. De tal forma que la sintaxis correcta es:
$nombreVariable = valor;
Por ejemplo, las siguientes asignaciones seran perfectamente validas
$miNovia = 'Gabriela Vergara <br />';
$nacio = 'Caracas, Venezuela<br />';
$cumple = '29 de Mayo <br />';
$signo = 'Gminis <br />'
El nombre de una variable tambin se conoce como identificador y debe cumplir las siguientes
normas:
1. Slo puede estar formada por letras y nmeros y los smbolos ($ dlar y _ guin bajo).
2. El primer carcter del nombre del identificador o variable debe ser estrictamente el signo
de dlar.
Ahora observe el siguiente cdigo, despus de ejecutarlo, use la opcin ver cdigo fuente de su
navegador y encontraras solo cdigo html.
<?php
$foto = '<img src='../img/artistas/gabrielaVergara.jpg' />';
$miNovia = 'Gabriela Vergara';
$nacio = 'Caracas, Venezuela';
$cumple = '29 de Mayo';
$signo = 'Gminis';
echo $foto;
echo 'Mi novia: '.$miNovia.'<br />';

Modulo V Programacin del lado del servidor


echo 'Nacio: '.$nacio.'<br />';
echo 'Cumpleaos: '.$cumple.'<br />';
echo 'Signo: '.$signo.'<br />';
?>
Tipos de datos
PHP soporta los siguientes tipos y son definidos en tiempo de ejecucin
1.
2.
3.
4.
5.
6.
7.
8.
9.

integer. Son datos de tipo numrico entero


double. Datos numricos en coma flotante ( manejo de decimales)
string. Cadenas alfanumricas.
boolean. Valores de tipo Verdadero o Falso como resultado de evaluar una condicin,
estado de una variable, etc.
array. Matrices
object. Estructuras complejas de datos.
class. Moldes mediante los cuales se crean los objetos
unknown type. Tipo desconocido
NULL. Es el tipo de una variable a la que an no se le asigna valor alguno.

Para forzar una variable a un tipo concreto use la funcin settype().


Dado que las variables no se declaran, el tipo se adquiere en tiempo de ejecucin al tipo que usted
quiera. Dependiendo de la informacin que contenga, una variable puede ser considerada de uno u
otro tipo:

Modulo V Programacin del lado del servidor


Las cadenas (string) de caracteres se especifican entre uno de dos tipos de delimitadores (' o ').
Encerrada entre doble comillas ' es posible emplear los siguientes caracteres especiales.

Nuevamente, si intenta escapar cualquier otro carcter, la barra invertida ser impresa tambin!
Antes de PHP 5.1.1, la barra invertida en \{$var} no vena imprimindose.
A diferencia de otros lenguajes, PHP posee una gran flexibilidad a la hora de operar con variables.
En efecto, cuando definimos una variable asignndole un valor, la computadora le atribuye un tipo.
Si por ejemplo definimos una variable entre comillas, la variable ser considerada de tipo cadena:

$variable='5'; //esto es una cadena


Sin embargo si pedimos en nuestro script realizar una operacin matemtica con esta variable, no
obtendremos un mensaje de error sino que la variable cadena se tomara como numrica:
<?php
//esto es una cadena
$cadena = '25';
//esto es un entero
$entero = 15;
echo '$cadena + $entero = ';
echo $cadena + $entero
?>
Este script dar como resultado '40'. La variable cadena ha sido asimilada en entero (aunque su tipo
sigue siendo cadena) para poder realizar la operacin matemtica. Del mismo modo, podemos
operar entre variables tipo entero y real.
PHP se encarga durante la ejecucin de interpretar el tipo de variable necesario para el buen
funcionamiento del programa. Esto podra parecer una ventaja pero en la prctica es un dolor de
cabeza.
Sin embargo, en contraste, hay que tener cuidado en no cambiar maysculas por minsculas ya que,
en este sentido, PHP es sensible. Conviene por lo tanto trabajar ya sea siempre en maysculas o
siempre en minsculas para evitar este conflicto regularmente difcil de identificar.

Modulo V Programacin del lado del servidor


Variables predefinidas
PHP dispone de una gran cantidad de variables que ya estn definidas, y que tenemos a disposicin
para usarlas dentro de nuestros script. Para ver todas las variables que tenemos disponibles en
nuestro servidor y versin de PHP, es necesario hacer un llamado a la funcin predefinida phpinfo().
Ejemplo:
<?php
echo phpinfo();
?>
Para obtener las variables predefinidas usaremos. $_SERVER. El cual es un array que contiene
informacin, tales como cabeceras, rutas y localizaciones del cdigo. Las entradas en este array son
creadas por el servidor web. No existe garanta que cada servidor web proporcione todas estas
entradas, ya que existen servidores que pueden omitir algunas o proporcionar otras que no se
encuentran recogidas aqu. Un gran nmero de estas variables se encuentran recogidas en
especificacin CGI 1.1, as que al menos debe esperar encontrar estas entradas. A continuacin se
presentan algunas de las variables predefinidas.

Con los ndices de la variable $_SERVER se pueden hacer cosas interesantes, como por ejemplo pedir
la HTTP_ACCEPT_LANGUAGE y dependiendo de su contenido, enviar a los usuarios a sitios en su
idioma. Para visualizar el contenido de cualquiera de estas variables predefinidas de PHP, use el
siguiente cdigo:
<?php
echo 'Idioma: '.$_SERVER['HTTP_ACCEPT_LANGUAGE'];
echo 'Cabecera: '.$_SERVER['HTTP_CONNECTION'];
echo 'IP cliente: '.$_SERVER['REMOTE_ADDR'];
echo 'Nombre del archivo:'.$_SERVER['SCRIPT_FILENAME'];
echo 'Versin Apache: '.$_SERVER['SERVER_SOFTWARE';
echo 'Puerto: '.$_SERVER['REMOTE_PORT'];
?>

Modulo V Programacin del lado del servidor


Constantes
Una constante es un dato cuyo valor no puede variar durante la ejecucin del programa.
El nombre de las constantes es sensible a maysculas.
Por convencin, los identificadores (nombres) de las constantes suelen declararse en maysculas.
El alcance de una constante es global, es decir, es posible acceder a ellas sin preocuparse por el
mbito de alcance.
Importante: Un nombre de constante vlido empieza con una letra o el carcter de subrayado,
seguido por una serie letras, nmeros, o subrayados. Los nombres de constantes en PHP no admiten
espacios en blanco, signos de puntuacin (acentos, !, ?, etc), ni caracteres especiales(%, , etc).
Sintaxis:
1. Se puede definir una constante usando la funcin define(). Una vez definida, no puede ser
modificada, ni eliminada.
2. Solo se puede definir como constantes valores escalares (boolean, integer, float y string).
Los tipos escalares son aquellos cuyos valores no pueden 'dividirse' en partes menores, Por
ejemplo como los arrays.
3. Para obtener el valor de una constante es necesario especificar su nombre. A diferencia de
las variables, no se tiene que especificar el prefijo $. Tambin se puede utilizar la funcin
constant() para obtener el valor de una constante.
Diferencias entre constantes y variables:
1.
2.
3.
4.

No son precedidas por un smbolo de dlar ($).


Son declaradas usando la funcin define(), nunca por asignacin simple.
Se definen y acceden sin tener en cuenta las reglas de alcance del mbito.
No pueden ser redefinidas o eliminadas despus de establecerse.

Las constantes solo puede albergar valores escalares (boolean, integer, float y string ).
<?php
define('YARDA', 0.9144 );
define('RECORD', 5048 );
$cadena = 'El record de Dan Marino en Yardas ';
$cadena .= 'por pase en una temporada es de ';
$cadena .= RECORD. 'Yardas';
$record = RECORD * YARDA;
$cadena .= 'Es decir $record metros';
echo $cadena;
?>

Modulo V Programacin del lado del servidor


Funciones de manejo de variables
PHP proporciona funciones para manipular las variables que se usaran intensivamente en secciones
posteriores. Como por ejemplo:

Operadores
Los operadores constituyen elementos esenciales de cualquier lenguaje de programacin. Con ellos
podemos asignar, unir, cambiar o comparar valores de datos, cambiar el flujo del programa, etc.
Los operadores son smbolos que representan operaciones sobre un valor. Vamos a ver a
continuacin los operadores admitidos por PHP agrupados segn su utilidad.
1. Operador de asignacin El smbolo = permite asignar valores a variables.
2. Operador de concatenacin Usando el smbolo . concatenamos cadenas.
3. Operadores aritmticos Los operadores aritmticos de PHP son similares a los de C, Java y
Javascript. Los smbolos +, -, /, *, realizan operaciones de aritmtica bsica, el smbolo %
obtiene el resto de una divisin (mdulo).

Modulo V Programacin del lado del servidor


Ejemplo: Uso de los operadores aritmticos:
<?php
$enviar = $_POST['enviar'];
if( isset($enviar) and $_SERVER['REQUEST_METHOD'] == 'POST' ) {
$a = $_POST['a'];
$b = $_POST['b'];
if( $a*$b !== 0 ) {
$titulo = '<h2>Operadores Aritmticos</h2>';
$tabla = '<table><thead>';
$tabla.= '<tr><td>Ejemplo</td><td>Resultado</td></tr>';
$tabla.= '</thead>';
$finlinea = '</div></td></tr>';
$tabla.= "<tr><td>a</td><td>$a</td></tr>";
$tabla.= "<tr><td>b</td><td>$b</td></tr>";
$tabla.= '<tr><td>a + b</td><td>'.($a + $b).'</td></tr>';
$tabla.= '<tr><td>a - b</td><td>'.($a - $b).'</td></tr>';
$tabla.= '<tr><td>a * b</td><td>'.($a * $b).'</td></tr>';
$tabla.= '<tr><td>a / b</td><td>'.($a / $b).'</td></tr>';
$tabla.= '<tr><td>a % b</td><td>'.($a % $b).'</td></tr>';
$tabla.= '</table>';
echo $tabla';
} else { echo '<p class="centrado">Divisin por cero</p>';}
} else { echo '<p class="centrado">';
echo 'Falta informacin asi no puedes ejecutar</p>';}
echo "<p class='centrado'><a href='0304Operadores04.html'>Regresar</a>";
?>
Operadores abreviados o combinados
Una forma habitual de modificar el contenido de las variables es mediante los operadores
combinados. La siguiente tabla resume los operadores de asignacin combinados.

Modulo V Programacin del lado del servidor

Ejemplo: Tabla multiplicar usando +=


<?php
$enviar = $_POST['enviar'];
$tabla = $_POST['tabla'];
if( isset($enviar) && $_SERVER["REQUEST_METHOD"] == "POST" ) {
$titulo = "<h2 align='center'><b>";
$titulo .= "Operadores Abreviados o Combinados";
echo $titulo."</b></h2>";
$subtitulo = "<h2 align='center'><b>Tabla de multiplicar usando +=";
$subtitulo .= " </b></h2></td></p>";
echo $subtitulo;
$resultado = 0;
echo "<table>";
for ($i = 1; $i <= 10; $i++) {
echo "<tr><td>".$i."</td><td>*</td><td>".$tabla."</td>";
$resultado += $tabla;
echo "<td>=</td><td>".$resultado."</td></tr>";
}
echo "</table>";
unset($_POST['enviar']);
unset($_POST['tabla']);
} else { echo "<p class='centrado'>Falta informacin asi no puedes ejecutar</p>";}
echo "<p class='centrado'><a href='0304Operadores05.html'>";
echo "<img src='../../images/icon-home.gif' /><br />Regresar</a></p>";
?>
Operadores de incremento decremento
PHP ofrece soporte de operadores de pre- y post- (incremento o decremento), estilo del lenguaje C
y Java. Los smbolos ++ y -- aplicados a una variable, permiten incrementar o decrementar su valor.
Su efecto es distinto segn se empleen precediendo o siguiendo el nombre de la variable.

Modulo V Programacin del lado del servidor


Operadores de Comparacin
Los operadores de comparacin, como su nombre indica, permiten comparar dos valores.

Otro operador condicional es el operador '?:' (o ternario), que funciona como en C, Java y otros
muchos lenguajes:
(expr1) ? (expr2) : (expr3);
La expresin toma el valor expr2 si expr1 se evala a cierto, y expr3 si expr1 se evala a falso.
Operadores Lgicos
Los operadores lgicos o booleanos se utilizan conjuntamente con expresiones que devuelven
valores lgicos. Con ellos es posible combinar condiciones y evaluarlas en una sola expresin. La
sintaxis de estos operadores es la siguiente:

Modulo V Programacin del lado del servidor


Sentencias de control
Las sentencias de control permiten ejecutar bloque de cdigos dependiendo de condiciones. La
evaluacin de dichas condiciones retorna uno de dos valores verdadero o falso. Para PHP el 0 es
equivalente a falso y cualquier otro nmero es verdadero.
if...else
La sentencia if...else permite ejecutar un bloque de instrucciones si la condicin es verdadera y otro
bloque de instrucciones si sta es falsa. Es importante tener en cuenta que la condicin que
evaluemos ha de estar encerrada entre parntesis (esto es aplicable a todas las sentencias de
control).
Ejemplo: Determinar si n es par o impar
<?php
$enviar = $_POST['enviar'];
$n = $_POST['n'];
if( isset($enviar) && $_SERVER['REQUEST_METHOD'] == 'POST' ){
if( isset($n) ){
if( ( $n % 2 ) == 0 ) {
$cadena = "$n es par";
} else $cadena = "$n es impar";
echo '<p class="centrado">'.$cadena.'</p>';
}
?>
<p class='centrado'>
<a href='0305SentenciasControl01.html'>
<img src='../../images/icon-home.gif' /><br />Regresar</a></p>
<?
} else {
?>
<form method='post' action='0305SentenciasControl01.php'>
<fieldset>
<legend>Par o impar</legend>
<p><label for='n'>n</label>
<input id='n' name='n' type='number' /></p>
<p><input id='enviar' name='enviar' type='submit' value='Enviar' /></p>
</fieldset>
</form>
<?
}
?>

Modulo V Programacin del lado del servidor


switch...case...default
Una alternativa a if...elseif...else, es la sentencia switch, la cual evala y compara cada expresin de
la sentencia case con la expresin que evaluamos, si llegamos al final de la lista de case y no
encontramos condicin verdadera, ejecuta el cdigo de bloque que haya en la sentencia default.
Si encontramos una condicin verdadera debemos ejecutar un break para que la sentencia switch
no siga buscando en la lista de case.
Ejemplo: El siguiente cdigo imprime el da de la semana actual.
La funcin date('D') obtiene el da de la semana abreviado en ingls (Lnea 2).
Observe que la sentencia break evita que la ejecucin del cdigo contine evaluando
<?php
switch (date('D')) {
case 'Mons': echo 'Hoy es Lunes'; break;
case 'Tue': echo 'Hoy es Martes'; break;
case 'Wed': echo 'Hoy es Miercoles'; break;
case 'Thu': echo 'Hoy es Jueves'; break;
case 'Fri': echo 'Hoy es Viernes'; break;
case 'Sat': echo 'Hoy es Sbado'; break;
case 'Sun': echo 'Hoy es Domingo'; break;
default: echo 'Esa cadena no corresponde a ningn da de la semana';
}
?>
Estructuras de control repetitivas/interactivas
for
El bucle for resulta muy til cuando debemos ejecutar un bloque de cdigo a condicin de que una
variable se encuentre entre un valor mnimo y otro mximo. El bucle for se puede romper mediante
la sentencia break.
Ejemplo: Calcular una tabla multiplicar. La seleccin de la tabla se hace mediante la generacin de
un nmero aleatorio.
<?php
$tabla = mt_rand( 1, 10);
$html = '<table>';
for($i = 1; $i <= 10; $i++) {
$html .= '<tr>';
$r = $tabla*$i;
$html .= "<td>$tabla</td><td>*</td><td>$i</td>";
$html .= "<td>=</td><td>$r</td>";
$html .= '</tr>';
}
echo $html.'</table>';
?>

Modulo V Programacin del lado del servidor


While
La sentencia while ejecuta un bloque de cdigo mientras se cumpla una determinada condicin.
Podemos romper un bucle while utilizando la sentencia break.
Ejemplo: Calcular un numero aleatorio
<?php
$enviar = $_POST['enviar'];
if( isset($enviar) && $_SERVER['REQUEST_METHOD'] == 'POST') {
$n = $_POST['n'];
if($n >= 0 && $n <= 1) {
$factorial = 1;
} elseif( $n >= 2 and $n <= 69) {
$factorial = 1;
$i = 2;
while ( $i <= $n ) {
$factorial *= $i++;
}
} else $factorial = 'indefinido';
$html = "<p class='centrado'>El factorial de $n es ";
$html.= number_format($factorial, 0, '.',',')."</p><br />";
$html.= '<p class="centrado">';
$html.= "<a href='0305While.php'>";
$html.= "<img alt='' src='../../images/icon-home.gif'></a>";
$html.= '</p>';
echo $html;
} else {
?>
<form action='0305While.php' method='post' >
<fieldset>
<legend>Factorial con while en PHP</legend>
<p>
<label for='n'>n</label>
<input id='n' maxlength='2' name='n' type='text' value='0' />
</p>
<p class='centrado'>
<input name='enviar' type='submit' value='Enviar' />
</p>
</fieldset>
</form>
<?
}
?>

Modulo V Programacin del lado del servidor


do..while
Esta sentencia es similar a while, salvo que con esta sentencia primero ejecutamos el bloque de
cdigo y despus se evala la condicin, por lo que el bloque de cdigo se ejecuta siempre al menos
una vez.
Ejemplo: Calcularemos el factorial de n con la sentencia do while
<?php
if( isset($_POST['enviar']) && $_SERVER['REQUEST_METHOD'] == 'POST') {
$n = $_POST['n'];
if($n >= 0 and $n <= 1) {
$factorial = 1;
} elseif( $n < 0 or $n >69) {
$factorial = 'indefenido';
} else {
$i = 2;
$factorial = 1;
do {
$factorial *= $i++;
} while ($i <= $n);
}
$html = "<p align='center'>El factorial de $n es ";
$html .= number_format($factorial, 0, '.',',').'</p><br />';
echo $html;
?>
<p class='centrado'>
<a href='0305doWhile.php'>
<img alt='Calcular otro factorial' src='../../images/icon-home.gif'
title='Calcular otro factorial' />
</a>
</p>
<?
} else {
?>
<form id='forma' name='forma' method='post' action='0305doWhile.php'>
<fieldset>
<legend>Factorial con do while en PHP</legend>
<p>
<label for='n'>n</label>
<input id='n' maxlength='2' name='n' type='text' value='2' />
</p>
<p class='centrado'>
<input id='enviar' name='enviar' type='submit' value='Enviar' />
</p>
</fieldset>
</form>
<?
}
?>

Modulo V Programacin del lado del servidor


Arreglos
Un arreglo (array) es una estructura de datos que contienen una coleccin de datos del mismo tipo.
Los array se utilizan como contenedores para almacenar datos relacionados (en vez de declarar
variables por separado para cada uno de los elementos del array).

Los elementos del array se acceden a travs de la posicin que ocupan dentro del conjunto
de elementos del arreglo. El primer elemento es la posicin cero.
El tamao del array se establece cuando creamos el arreglo, pero este puede crecer
posteriormente en forma ilimitada (- Hasta agotar la RAM -).
Los elementos del arreglo pueden tener diferentes tipos de datos.

Denominamos vector a los array unidimensionales y matrices a los array bidimensionales. Los array
se clasifican segn su naturaleza en indexadas o asociativas.
Array indexados
Son aquellos en las que el ndice es un valor numrico.
$estaciones = array ('primavera', 'verano', 'otoo', 'invierno');
$sentidos = array ('gusto', 'oido', 'olfato', 'tacto', 'vista');
$numeros = array(1,2,30, 50, 60, 70);
Para acceder un elemento del arreglo usaremos la notacin genrica:
$estaciones[$i];
$sentidos[$i];
$numeros[$i];
Como ndice podemos usar un nmero, una variable o constante que represente el elemento
referenciando. Iniciando desde la posicin cero.
Ejemplo: Se declara un arreglo denominado $estacion. El cual se recorre mediante un ciclo for.
<?php
$estacion = array ('Primavera', 'Verano', 'Otoo', 'Invierno');
echo 'Las estaciones del ao son <br>';
for($i = 0; $i <=4; $i++)
echo $estacion[$i].'<br />';
?>
Arrays asociativos
Un array est formado por conjuntos de parejas ndice => valor, o como suele expresarse en ingls,
key, value. Los cuales se expresan comnmente con ndices o keys numricos (tambin conocidos
como arrays escalares). Adems es posible usar strings como ndices, es decir, cadenas de texto.
Este tipo de array es el array asociativo:

Modulo V Programacin del lado del servidor


Ejemplo: Imprimiremos la fecha actual mediante el uso de arreglos.
<?php
function imprimeFecha(){
$mesArray = array(
1 => 'Enero', 2 => 'Febrero', 3 => 'Marzo', 4 => 'Abril', 5 => 'Mayo', 6 => 'Junio',
7 => 'Julio', 8 => 'Agosto', 9 => 'Septiembre', 10 => 'Octubre', 11 => 'Noviembre',
12 => 'Diciembre'
);
$semanaArray = array(
'Mon' => 'Lunes', 'Tue' => 'Martes', 'Wed' => 'Miercoles', 'Thu' => 'Jueves',
'Fri' => 'Viernes', 'Sat' => 'Sbado', 'Sun' => 'Domingo',
);
$mes = $mesArray[date('n')];
$nombreDia = $semanaArray[date('D')];
$dia = date('d');
$year = date ('Y');
return $nombreDia.' '.$dia.' de '.$mes.' de '.$year;
}
echo imprimeFecha();
?>
5.3 Aplicacin
Conectividad entre el servidor Web y el servidor de base de datos.
PHP puede conectarse con bases de datos de dos formas: mediante el uso directo de funciones
propias del intrprete que dependen del gestor de base de datos usadas o a travs del estndar
ODBC (Open Data Base Connectivity).
En PHP el trabajo con la base de datos se basa en tres etapas fundamentales:
1. Establecer contacto con la base de datos
2. Realizar las operaciones necesarias
3. Cerrar los recursos empleados
Conectar con una base de datos MySQL PHP
Para conectarse con una base de datos es necesario crear una conexin con el servidor. Esto se logra
en PHP mediante el uso de la funcin mysql_connect() . Sintaxis

Modulo V Programacin del lado del servidor


Ejemplo de conexin de una base de datos MySQL desde PHP
<?php
$ruta = "localhost";
$login = "mi_login";
$password = "mi_password";
$db
= "miBaseDatos";
$conexion = mysql_connect( $ruta, $login, $password)
or die(mysql_error());
mysql_select_db( $db, $conexion ) or die(mysql_error());
echo "conectado bravo!!!!!!";
mysql_close($conexion);
?>
Sesiones
Una sesin es la secuencia de pginas que un usuario visita en un sitio web. Desde que entra en
nuestro sitio, hasta que lo abandona.
Las sesiones bsicamente son variables globales que nos permiten almacenar datos que necesiten
volver a ser usados en otros accesos a la pgina. Cuando una persona entra a una pgina que utiliza
sesiones automticamente se crea un archivo de session en los archivos temporales del servidor y
en este archivo es donde se guardan los datos que nosotros necesitamos almacenar.
Este archivo posee el mismo nombre que su "id". El archivo se mantendr mientras tenga activo su
navegador y se destruye al cerrar el navegador.
Para que una pgina use sesiones debemos inicializarla con la funcin session_start(), la cual crea
una nueva sesin o retoma una creada en otra pgina(del sitio).
Las sesiones propagan su SID(SESSION ID) de dos posibles maneras, segn php.ini, por cookies o por
url, es decir agregando a todos los posibles link el SID de la sesin.
Otra razn por la que la sesiones suelen ser muy utilizadas es para la autentificacin, determinando
el acceso a la pgina segn alguna variable especfica de la sesin.

Modulo V Programacin del lado del servidor


Funciones de gestin de sesiones

Ejemplo: Iniciando con sesiones:


<?php
@session_start();
$_SESSION['usuario'] = 'ProgramacionWEB';
header('location:0312InicioSesiona.php');
?>

Modulo V Programacin del lado del servidor


Bibliografa
Introduccin al lenguaje (http://goo.gl/FiDcyo)
Elementos de programacin (http://goo.gl/H908U8)
Aplicacin (http://goo.gl/FTdVrZ)

También podría gustarte