TEORÍA Y ADMINISTRACIÓN DE BASES DE DATOS

INVESTIGACION EN INTERNET

REALIZADO POR: ING. MIGUEL ALVAREZ

 

 

PHP

 

 

INDICE GENERAL

 

Control de flujo

Funciones

Gestión de cookies

Manejo de sesiones

Infografía

 

 

 

 

 

CONTROL DE FLUJO (ESTRUCTURAS DE CONTROL: CONDICIONALES Y BUCLES)


Son las estructuras de control que permiten que el programador ejecute unas acciones en el programa cuando se dan o no determinadas condiciones.

IF (Condicional)

 

If permite ejecutar un bloque de código si se da (o no se da) una determinada condición. Su sintaxis es:

if (condición)
statement


Por ejemplo, queremos que un script nos indique si dos variables son iguales:

$a = 2;
$b = 2;
if ($a == $b) {
eco "\$a es igual a \$b y valen $a.\n";
}


If se puede utilizar también de forma diferente como se muestra en el ejemplo:

<? $a = 2; $b = 2; if ($a == $b) : ?>
$a es igual a $b.
<? endif; ?>


 
"if" se puede utilizar incluso entre llaves, utilizando "endif" cuando se quiera terminar el bloque "if"; por ejemplo:

if ($a == $b)
eco "\$a es igual a \$b y valen $a.\n";
endif;

 

ELSE

 

Else sirve para programar qué ocurre cuanda una condición IF no se da. Ejemplo:

$a = 2;
$b = 3;
if ($a == $b) {
eco "\$a es igual a \$b y valen $a.\n";
} else {
eco "\$a es distinta de \$b.\n\$a vale \"$a\" mientras \$b vale \"$b\".\n";
}

 

ELSEIF

 

Elseif permite especificar casos no definidos por "if". Un ejemplo podría ser: "Si $a es igual a $b muestra $a, si $a es distinto de $b muestra un mensaje de error; muestra si $a no existe, muestra si $b no existe". Sólo con if y else no se podría conseguir, sin embargo con elseif se pueden manejar todas estas posibilidades:

if ($a == $b) {
echo "\$a es igual a \$b.\n";
} elseif ($a != $b) {
echo "\$a es distinto de \$b.\n";
} elseif (!$a) {
echo "\$a no existe.\n";
} elseif (!$b) {
echo "\$b no existe.\n";
}


SWITCH

 

"Switch" permite sustituir una serie de "if" en la misma expresión y, por por lo tanto, actuar independientemente del valor de ésta:

switch ($i) {
case 0:
echo "\$i vale 0";
break;
case 1:
echo "\$i vale 1";
break;

}


En el ejemplo vemos la instrucción "break" que permite salir de un bloque en el caso de que se realice una condición establecida.

 


WHILE (Bucle)

 

La condición "while" permite ejecutar repetidamente un bloque de instrucciones mientras sea verdadera una condición, su sintaxis es:

while (expresión) declaración

Al igual que el "if", el "while" se puede utilizar con o sin corchetes, añadiendo en el segundo caso la declaración "endwhile". Los dos ejemplos que siguen son exactamente iguales:

/* Primer ejemplo: */
/* $a se incrementa y se visualiza */
/* hasta que su valor no supere "5" */
$a = 1;
while ($a <= 5) {
print $i++;
}

/* Segundo ejemplo */

$a = 1;
while ($a <= 5)
print $i++;
endwhile;


En estos ejemplos se ejecuta el codigo  print $i++ mientras que (while) $a sea menor o igual a "5".

 

FOR

 

El "for" sirve para ejecutar un código determinado numero de vezes a partir de ciertos parametros que, mientras devuelvan "TRUE" permiten la ejecución de la declaración que está a continuación. Vamos a ver el ejemplo:

for ($a = 0 ; $a <=10 ; $a++) {
print $a;
}


Esto visualizará los números entre "0" y"10". En las tres expresiones entre paréntesis hemos definido que:

·  $a tiene valor inicial "0";

·  $a es menor o igual a "10";

·  $a se incrementa de una unidad.

Por lo tanto, por cada valor de $a a partir de "0" hasta "10" $a se visualiza.

 

FUNCIONES


La función podría ser definida como un conjunto de instrucciones que permiten procesar las variables para obtener un resultado realizando una tarea más o menos elemental.

PHP basa su eficacia principalmente en este tipo de elemento. Una gran librería que crece constantemente, a medida que nuevas versiones van surgiendo, es complementada con las funciones de propia cosecha dando como resultado un sinfín de recursos que son aplicados por una simple llamada.


Las funciones integradas en PHP son muy fáciles de utilizar. Tan sólo hemos de realizar la llamada de la forma apropiada y especificar los parámetros y/o variables necesarios para que la función realice su tarea.

Ejemplo de algunas funciones predefinidas:

 

mail: funcion para enviar email. La función tiene una sintaxis: mail(To, Subject, Message, Otros_headers).


max: restituye el valor más alto de una serie de variables:
$max = max($num, $num2, $num3).


mkdir: crea un directorio del que se tiene que especificar el recorrido y los permisos: mkdir("/tmp/prueba", 0777).


opendir: abre un directorio del que es posible leer los elementos con readdir() y, sucesivamente, cerrarla con closedir().

 

phpversion: visualiza la versión de PHP que se está utilizando.

 

popen: abre un puntero para un procedimiento que se tiene que cerrar con pclose().

 

print: muestra una cadena de caracteres como eco().

 

rand: genera un valor numérico aleatorioa. Si quisiéramos un valor entre 10 y 20, se podría escribir: $random = rand(10, 20);

 

range: crea un array que incluye una serie de valores enteros especificados. Por ejemplo, para crear un array con valores de 1 a 10 será necesario escribir: $array = range(1, 10).

 

rename: Renombra un archivo: rename("oldname", "newname");

rmdir: Elimina un directorio.

 

round: redondea un número.

Y así sucesivamente hay una amplia gama de opciones predefinidas referentes a funciones y procedimientos.

 

De una forma general, podríamos crear nuestras propias funciones para conectarnos a una base de datos o crear los encabezados o etiquetas meta de un documento HTML. Para una aplicación de comercio electrónico podríamos crear por ejemplo funciones de cambio de una moneda a otra o de calculo de los impuestos a añadir al precio de articulo. En definitiva, es interesante crear funciones para la mayoría de acciones más o menos sistemáticas que realizamos en nuestros programas.

Ejemplo de creación de una función que, llamada al comienzo de nuestro script, nos crea el encabezado de nuestro documento HTML y coloca el titulo que queremos a la página:

 

<?
function hacer_encabezado($titulo)
{
$encabezado="<html>\n<head>\n\t<title>$titulo</title>\n</head>\n";
echo $encabezado;
}
?>

Esta función podría ser llamada al principio de todas nuestras páginas de la siguiente forma:

$titulo="Mi web";
hacer_encabezado($titulo);

De esta forma automatizamos el proceso de creación de nuestro documento. Podríamos por ejemplo incluir en la función otras variables que nos ayudasen a construir la etiquetas meta y de esta forma, con un esfuerzo mínimo, crearíamos los encabezados personalizados para cada una de nuestras páginas. De este mismo modo nos es posible crear cierres de documento o formatos diversos para nuestros textos como si se tratase de hojas de estilo que tendrían la ventaja de ser reconocidas por todos los navegadores.

Por supuesto, la función ha de ser definida dentro del script ya que no se encuentra integrada en PHP sino que la hemos creado nosotros. Puede ser incluida desde un archivo en el que iremos almacenando las definiciones de las funciones que vayamos creando.

Estos archivos en los que se guardan las funciones se llaman librerías. La forma de incluirlos en nuestro script es a partir de la instrucción require o include:

require("libreria.php") o include("libreria.php")

Ejemplo, creamos un archivo libreria.php :

<?
//función de encabezado y colocación del titulo
Function hacer_encabezado($titulo)
{
$encabezado="<html>\n<head>\n\t<title>$titulo</title>\n</head>\n";
echo $encabezado;
}
?>

Por otra parte tendríamos nuestro script principal pagina.php:

<?
include("libreria.php");
$titulo="Mi Web";
hacer_encabezado($titulo);
?>
<body>
El cuerpo de la página
</body>
</html>


Vamos a ver un ejemplo de creación de funciones en PHP. Se trata de hacer una función que recibe un texto y lo escribe en la página con cada carácter separado por "-". Es decir, si recibe "hola" debe escribir "h-o-l-a" en la página web.

La manera de realizar esta función será recorrer el string, caracter a caracter, para imprimir cada uno de los caracteres, seguido de el signo "-". Recorreremos el string con un bucle for, desde el carater 0 hasta el número de caracteres total de la cadena.

El número de caracteres de una cadena se obtiene con la función predefinida en PHP strlen(), que recibe el string entre paréntesis y devuelve el número de los caracteres que tenga.


<html>
<head>
    <title>funcion 1</title>
</head>

<body>

<?
function escribe_separa($cadena){
    for ($i=0;$i<strlen($cadena);$i++){
       echo $cadena[$i];
       if ($i<strlen($cadena)-1)
          echo "-";
    }
}

escribe_separa ("hola");
echo "<p>";
escribe_separa ("Texto más largo, a ver lo que hace");
?>
</body>
</html>


La función que hemos creado se llama escribe_separa y recibe como parámetro la cadena que hay que escribir con el separador "-". El bucle for nos sirve para recorrer la cadena, desde el primer al último caracter. Luego, dentro del bucle, se imprime cada caracter separado del signo "-". El if que hay dentro del bucle for comprueba que el actual no sea el último caracter, porque en ese caso no habría que escribir el signo "-" (queremos conseguir "h-o-l-a" y si no estuviera el if obtendríamos "h-o-l-a-").


GESTIÓN DE COOKIES

 

PHP permite gestionar los cookies, que son pequeños archivos de texto que incluyen informaciones útiles y no peligrosas para la gestión de las sesiones en el web.

Siendo PHP un lenguaje que nació para la interacción con el WWW, las funciones que se refieren a los Cookies son internas al PHP mismo. Otra cosa totalmente diferente ocurre con los demás lenguajes.

La función que nos interesa es setcookie(). Básicamente su sintaxis es:

setcookie(Nombre, Valor, Caducidad, Recorrido, Dominio, Secure);

Opciones que se pueden pasar a la función:

·  Nombre es el nombre del cookie que se puede elegir de forma arbitraria;

·  Valor es el valor,arbitrario, que se asigna al cookie;

·  Caducidad es la fecha de caducidad del cookie;

·  Recorrido es el directorio a partir del dominio (ver abajo) para el que es válido;

·  Dominio es el dominio para el que es válido;

·  Secure es un valor que decide si el cookie se tiene que enviar a través de una conexión HTTPS.

Si queremos enviar de nuestra página un cookie llamado "Test", con valor "Prueba del cookie Test", con duración de un minuto del envío, para el directorio "/nombreusuario" del dominio "http://www.dominio.com" sin utilizar una conexión HTTPS, los parámetros que hay que pasar a setcookie son:

setcookie("Test", "Prueba del cookie Test", time()+60, "/nombreusuario", ".dominio.com", 0);


Las cosas interesantes que hay que analizar son dos: el tiempo de duración y la conexión HTTPS. Por lo que se refiere a la segunda, fijamos con "0" que la conexión tiene que ser normal. Si quisiéramos utilizar el protocolo seguro HTTPS, tendríamos que introducir el valor "1". El tiempo de duración no se puede fijar como "Tres minutos", porque no da tiempo. En cambio tenemos que fijar el momento de caducidad a partir del momento en el que el cookie se envía al usuario, por eso utilizamos las función interna time() a la que añadimos el número de segundos a partir de los que tiene que caducar el cookie. Por ejemplo, si el cookie se envía a las 13:20:00 y queremos que caduque al cabo de 30 minutos (60x30=1800 secondi), podemos escribir una expresión de expire:

time()+1800

De esta forma, time() corresponde a 13:20:00 y time()+1800 será 13:50:00

Entre los seis valores que hay que pasar como argumento al cookie, solamente el primero es obligatorio, los demás se pueden dejar en blanco si no nos interesan. Además, para enviar un cookie, es necesario que éste se envíe al browser antes de cualquier output, por eso es necesario introducir la función delante de todos los tag <HTML> o <HEAD>.

Para terminar, vamos a ver cómo leer un determinado cookie de un script. Recordemos que un cookie se envía como un array de datos y que podemos acudir a las funciones relacionadas a los array. Por lo tanto, podemos escribir:


if (isset ($cookie) ) {
while (list ($nombre, $valor) = each ( $cookie ) ) {
echo "$nombre = $value\n";
}
}


Para todas las informaciones introducidas en el cookie se visualizará una pareja "nombre = valor". Obviamente, el valor es el que se estableció en el cookie, los "nombres" son: cookie, expires, path, domain y secure (éste último es singular porque si se fija en 1 da "secure" en el cookie, sino no da nada).
Para nuestro cookie de ejemplo, leeremos algo como:

cookie=Test; epires=Thursday, expires=Monday, 31-Jul-00 11:50:00 GMT; path=/nombreusuario; domain=.dominio.com

Si hubiéramos fijado 1 en vez de 0 para el protocolo HTTPS, hubiera aparecido también "secure" al final de la cadena. La fecha se gestiona de default según la hora GMT. La caducidad, de hecho, se ha fijado para las 11:50:00 GMT, que son las 13:50:00 locales.

 

MANEJO DE SESIONES

 

El manejo de sesiones de PHP nos permite vincular información a un usuario durante su visita.

Es por ello una herramienta ineludible a la hora de implementar sistemas de usuarios y todo tipo de sistema que requiera llevar información de estado o tener en cuenta información del visitante.

Las sesiones son una buena elección a la hora de restringir el acceso a un sitio, también pueden ser utilizadas para crear el clásico carrito de compras. Son una facilidad que permite vincular información a un visitante a lo largo de sus diversos accesos a nuestro sitio web. Un visitante puede acceder a varias páginas de nuestro sitio, las sesiones nos ayudan a identificarlo y a vincularle información.

 

Algunos usos típicos de las sesiones son:

 

- Mejorar la experiencia del usuario almacenando información de preferencias como colores o elementos de navegación preferidos

- Almacenar información de estado (ej: si el usuario está logeado o no)

- En el caso de una aplicación de comercio electrónico llevar registro de los productos que ha agregado a su carrito de compras, o de productos que ha comprado anteriormente para establecer sus preferencias.

 

Estos son solo unos ejemplos pero las posibilidades son infinitas. En general, cuando querramos almacenar información en relación a un visitante de forma persistente a lo largo de su visita las sesiones nos facilitarán la vida.

 

Podríamos imaginarnos a la sesión como un número estampado en la frente del visitante que nos ayuda a identificarlo en cada página que visite de nuestro sitio. Además para cada cada número asignado a un visitante habrá un locker donde guardar sus cosas. Así es que quien está a la entrada (nuestro código de manejo de sesiones) al llegar un visitante escoge un número para él y se lo estampa en la frente para que lo utiliice durante su visita.

 

Para poner a funcionar una sesión se necesitan cumplir dos requisitos fundamentales

 

- Asignar al visitante un identificador único (escoger un número).

- Propagar este identificador único a través de los diferentes accesos del visitante para que podamos reconocerlo (estampárselo en la frente).

 

Nuestro identificador único es una cadena única aleatoria con la que marcamos al visitante. Llamaremos a este identificador único session_id. No tendremos que preocuparnos por generar el session_id pues el sistema de sesión se encarga automáticamente de generarlo

 

Ahora, dado que el session_id es generado del lado del servidor, hay que encontrar alguna forma de que esa información persista a través de los diferentes accesos del mismo visitante. No es posible vincular el session_id con la dirección IP del usuario ya que hay varios casos en que la misma IP puede ser utilizada por varios usuarios, por ejemplo cuando varios usuarios están tras un proxy o tras un router que está haciendo IP masquerade. Por lo tanto para que el session_id esté disponible junto a cada solicitud de página del usuario es necesario propagar el session_id para que esté presente junto al visitante en cada acceso y así podamos identificarlo.

 

Creando una sesión:

 

Cada sesión comienza con la función session_start(), de la forma bool session_start(void).

 

session_start() siempre devuelve true. En caso de que el visitante no tenga una sesión la crea y en el caso de que ya la tenga la continúa. Si ya tenía una sesión tiene que haber una forma de que podamos vincularla al usuario. Para ello el session_id tiene que haber sido pasado a la página actual, y esto se hace por cookie, por GET o por POST. Ten en cuenta que si la propagación es por cookie session_start() se encargará de crear un cookie, entonces es necesario llamarla antes de enviar cualquier cabecera HTTP, esto es antes de comenzar a imprimir nuestra página pues sino habrá un error al tratar de crear el cookie.

 

Una vez iniciada la sesión podremos almacenar información de la sesión en el array $_SESSION ( o $HTTP_SESSION_VARS en versiones anteriores a PHP 4.0.6). Este es una array asociativo, además es superglobal lo que quiere decir que su alcance se extiende a todo el ámbito de la aplicación y no tendrás que declararlo como global al utilizarlo dentro de funciones

 

Ejemplo: Supongamos que tenemos en línea una página con la foto del Avila con el siguiente código:

 

<?php

// iniciar la sesión

session_start();

// registrar actividad en la sesión

$_SESSION['actividad'] = "Estoy viendo el cerro El Avila!";

?>

<h1>Estas en la página de Miguel</h1>

<img title="Cerro Avila" src="avila.jpg">

<a href="pagina2.php">Mira otras fotos de este parque nacional</a>

 

session_start() comienza la sesión si no la hay, o continúa con la sesión del visitante si esta ya existía; la siguiente sentencia se encarga de guardar en la posición "actividad" del array asociativo de la sesión la cadena: " Estoy viendo el cerro El Avila!". Esta información estará disponible aún cuando el visitante acceda otras páginas de nuestro sitio, y esta es la magia de las sesiones.

 

Podemos hacer sobre el array $_SESSION cualquier operación que podemos hacer sobre una un array. Esto nos dá una interfaz muy intuitiva y familiar para operar con la información de la sesión del usuario

 

. Operación

Ejemplo

Crear un elemento

$_SESSION['elemento'] = valor

Eliminar un elemento

unset($_SESSION['elemento'])

elemento ha sido creado

isset($_SESSION['elemento'])

Vaciar la sesión

$_SESSION = array();

 

Hay dos formas de propagar el session_id:

 

- Propagación por URL

- Propagación por cookie

 

Propagación por URL

 

La propagación del session_id por URL implica escribir el session_id en el query string de cada enlace interno de nuestro sitio.

Un enlace con un session_id podriá verse de la siguiente forma:

 

<a href="pagina2.php?PHPSESSID=F513fad624vDx3">Visita la siguiente página</a>

 

Donde la variable PHPSESSID del query string se está encargando de pasar el session_id para la sesión del visitante a la página pagina2.php. El nombre de la variable que porta el session_id es igual al nombre de la sesión, y puede definirse con la directiva session.name de nuestro php.ini o en tiempo de corrida por la función session_name().

 

Para hacer más fácil la escritura del session_id en cada URL está disponible la constante SID que contiene la cadena "nombre_de_sesion=session_id", que en nuestro caso sería "PHPSESSID= F513fad624vDx3".

 

¿Cómo quedaría nuestro ejemplo del  Avila si propagáramos el session_id por URL? Aquí está nuestra segunda versión de la página:

Ejemplo 3 (avila_reloaded.php)

<?php

 

// iniciar la sesión

session_start();

 

$_SESSION['actividad'] = "Estoy viendo el cerro El Avila!";

 

?>

 

<h1>Estás en la página de Miguel </h1>

<img title=" Cerro Avila " src=" avila.jpg ">

<a href="pagina2.php?<?php echo SID; ?>">Visita la siguiente página</a>

 

Nota que en el enlace a pagina2.php hemos incrustado un echo de la constante SID, por lo que nuestro enlace se vería así:

 

<a href="pagina2.php?PHPSESSID=F513fad624vDx3">Visita la siguiente página</a>

 

Propagación automática del session_id en cada URL

 

Por suerte y para hacerlo más fácil PHP puede encargarse de transformar por nosotros todos los enlaces internos de nuestro sitio para que incluyan el session_id. Esto depende de dos cosas, de que php esté compilado para hacerlo (con soporte para trans_sid) y de que la directiva session.use_trans_sid en nuestro php.ini esté activada (valor igual a "1"). PHP 4.2.0 viene compilado por defecto con esta funcionalidad, si utilizamos de PHP 4.1.2 para atrás tendremos que recompilar PHP pasando el parámetro --enable-trans-sid al script configure antes de la compilación (en UNIX).

 

Por motivos de seguridad la directiva session.use_trans_sid viene con el valor "0" por defecto, de modo que para habilitarla deberemos editar nuestro php.ini o utilizar la función ini_set().

 

ini_set("session.use_trans_sid", "1");

 

Si la directiva está habilitada y PHP ha sido compilado con soporte para trans_id entonces un enlace escrito de la siguiente forma en nuestra página:

 

<a href="pagina2.php">Visita la siguiente página</a>

 

será transformado automáticamente por PHP en el siguiente enlace:

 

<a href="pagina2.php?PHPSESSID= F513fad624vDx3">Visita la siguiente página</a>

 

propagando por nosotros el session_id en cada URL.

 

Propagación por cookie

 

¿Cómo funciona la propagación por cookie? De estar habilitada la propagación por cookie session_start() buscará en un cookie el session_id del visitante, si no lo encuentra creará una nueva sesión, creará un cookie para la sesión y almacenará en el el session_id del visitante. En un próximo llamado de session_start(), la función leerá el cookie que contiene el session_id y podrá continuar la sesión correspondiente.

 

Como vemos session_start() se encarga de crear y leer el cookie, así que el proceso es automático y no tendríamos que preocuparnos por él.

 

En nuestro Ejemplo 1 y Ejemplo 2, del Avila y la pagina2.php, asumimos que el session_id se propaga desde la primer página a la segunda por cookie. De no haber estado habilitada la propagación por cookies en pagina2.php no se hubiera continuado la sesión del visitante pues tampoco estábamos haciendo propagación del session_id por URL. La sesión hubiera quedado desvinculada del visitante y el echo $_SESSION['actividad']; no hubiera mostrado nada.

 

Como en el caso de la propagación por URL, el nombre del cookie que contiene el session_id es el mismo que el nombre de la sesión. Por defecto es PHPSESSID pero podemos modificarlo con la directiva session.name de nuestro php.ini o con la función session_name().

 

La propagación por cookie estará habilitada según el valor de la directiva session.use_cookie en nuestro php.ini. El valor por defecto es "1" o sea que está activa. Si queremos desactivar la propagación del session_id por cookie debemos cambiar session.use_cookie a "0" en nuestro php.ini, o si no tenemos acceso al php.ini o queremos cambiarla en tiempo de corrida a nivel de aplicación, podemos hacerlo mediante la función ini_set() de la siguiente forma:

 

ini_set("session.use_cookie", "0");

 

Cerrando una sesión

 

Hasta ahora hemos visto como abrir o continuar una sesión con session_start(), cómo registrar valores en la sesión haciendo asignaciones sobre el array $_SESSION, y cómo propagar el session_id por cookies o por URL; ahora veremos como cerrar una sesión.

 

Para cerrar una sesión y terminarla completamente tenemos la función session_destroy(). Esta función se encarga de hacer desaparecer la sesión de nuestro servidor, (elimina el archivo de /tmp o de nuestro session.save_path). Si se solicita una página y se le envía el session_id de una sesión destruída session_start() reportará un error pues la sesión no existe. session_destroy() no elimina las posibles variables globales creadas con la sesión (correspondientes a cada posición de $_SESSION si teníamos activado register_globals) ni vacía el array $_SESSION. Por supuesto que esto ocurrirá al cerrar el script, pero si queremos asegurarnos de que la sesión muera al instante que hacemos el session_destroy() tendremos que encargarnos de vaciar la sesión nosotros mismos. Ejemplo:

 

Ejemplo 4 (destruyendo una sesión)

<?php

 

// crear o continuar la sesión

session_start();

 

// vaciarla

$_SESSION = array();

 

// destruirla

session_destroy();

 

?>

 

Sesiones vs. cookies

 

Por ser herramientas diferentes y muchas veces complementarias resulta complicado intentar hacer una comparación entra ambas.

 

No es bueno depender de cookies en el caso de funcionalidades medulares de nuestra aplicación web por el simple hecho de que muchos usuarios pueden no aceptar los cookies, o no aceptar todos los cookies que les enviamos. Si utilizas sesiones puedes no depender del uso de cookies propagando las sesiones por URL.

 

Muchas veces la información que se quiere almacenar sobre el visitante no debería ser accedida por él, por ejemplo información administrativa o información de estado de un usuario (¿está logueado?). No hay forma de lograr esto con cookies pues los cookies están al alcance del visitante, se almacenan en el cliente y pueden ser modificados por él. En el caso de las sesiones no es así pues la información de cada sesión se almacena en el servidor fuera del alcance del visitante.

 

 

INFOGRAFIA

 

http://www.w3schools.com/php/default.asp

En esta página se encuentra un excelente tutorial de PHP para conocer todo lo basico de PHP así como tambien contiene links a otros lugares con documentación de importancia tal como instalación de PHP4, base de datos MySql, Apache Server, etc.

Página Local

 

http://www.php-mysql-tutorial.com/

Sitio en internet con ejemplos puntuales de cada aspecto del lenguaje para aprender rapidamente a trabajar con PHP y poner en practica tales ejemplos.

Página Local

 

http://webmonkey.wired.com/webmonkey/programming/php/tutorials/tutorial4.html

Web que ofrece un buen tutorial de PHP dividido de la siguiente forma, una introcucción, lección 1 con aspectos de instalación y scripts básicos, lección 2 que trata de PHP y formularios HTML y lección 3 sugerencias avanzadas.
Página Local

 

http://www.zend.com/php/beginners/index.php

Este lugar en particular nos brinda un divertido e informal tutorial especialmente diseñado por Vikram Vaswani para principiantes en lo referente a cosas elementales de PHP4 o basicas de PHP5.

Página Local

 

http://www.htmlpoint.com/php/guida/index.html

En esta dirección podemos encontrar una guía redactada por Edoardo Valsesia que nos lleva de la mano para comprender los elementos teóricos del lenguaje de scripting PHP, con especial atención a la teoría.

Página Local

 

http://www.desarrolloweb.com/articulos/312.php

En este sitio podemos leer un poco sobre la utilidad de las funciones, creación y almacenamiento en archivos, con teoría y un ejemplos de funciones.

Página Local

 

http://www.abcdatos.com/webmasters/tutorial/o705.html

En esta publicación se toca basicamente lo referente al manejo de sesiones en PHP, utilidad, funciones y directivas de configuración implicadas en el manejo de sesiones.

Página Local