TEORÍA Y ADMINISTRACIÓN DE BASES DE
DATOS
INVESTIGACION EN INTERNET
REALIZADO POR: ING. MIGUEL ALVAREZ
PHP INDICE GENERAL |
|
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.
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-").
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.
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.
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.
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.
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.
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.
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.