12. Dades del servidor, de la sessió i cookies

Índex

 

Dades del servidor

Quan un ordinador client es posa en contacte amb un ordinador servidor per sol·licitar un document, es genera en el sevidor un vector associatiu, $_SERVER, que conté una sèrie de dades sobre el servidor, el client i la connexió. El nombre exacte de termes d'aquest vector depèn del model del servidor, però els més útils són comuns a tots. Els principals termes són els següents:

$_SERVER['SERVER_ADDR'] Adreça IP del servidor.
$_SERVER['REMOTE_ADDR'] Adreça IP de l'ordinador client.
$_SERVER['DOCUMENT_ROOT'] Directori on hi ha el document sol·licitat.
$_SERVER['REQUEST_URI'] Valor URI subministrat per a accedir al document.
$_SERVER['REQUEST_TIME'] Moment de la sol·licitud.


Vegeu-ne el resultat

 

Variables de sessió

Una variable de sessió és una variable dotada d'un nom i d'un valor que existeix exclusivament entre el moment en què es crea i el moment en què finalitza la sessió. Les variables de sessió es dipositen en un vector associatiu anomenta $_SESSION.

Per a desar i recuperar variables de sessió cal fer ús de la funció session_start().

Aquesta funció ha d'ésser inicial absoluta en el document PHP.

L'assignació d'una variable de sessió es fa així:

Les variables de sessió es recuperen mitjançant





Vegeu-ne el resultat

 

Cookies

Creem una cookie amb la funció setcookie():

L'aplicació de la funció setcookie() s'ha de dur a terme obligatòriament abans de qualsevol altra instrucció, fins i tot <html>.

Les cookies creades constitueixen un vector associatiu, dins el qual són identificades pel nom,

que en permet la recuperació.

El paràmetre "/" indica que la cookie serà disponible en tot el domini; si s'especifica "/foo", només serà disponible en el propi directori.

El valor de la caducitat sol indicar-se com a suma del moment actual, time(), i del termini de validesa, expressat en segons. Així, per a fixar la caducitat en un any, serà

Si no s'hi fixa caducitat, o si s'hi fixa el valor 0, la cookie caduca al final de la sessió.

Per suprimir una cookie cal sobreescrire-la amb una data de caducitat anterior al moment present; generalment es fa amb l'expressió

o anàloga.

Aquest document permet fer la tria i després l'aplica. Podria haver-hi, a més, tants documents com volguéssim que simplement apliquessin la tria feta inicialment.


Notem que aquest document fixa el valor de la cookie (o l'elimina) i retorna immediatament a l'anterior mitjançant un refresh.


Vegeu-ne el resultat


Feu una tria d'idioma. Sortiu del document, tanqueu l'ordinador, enceneu-lo de nou i torneu a entrar al document. Observeu com es respecta la tria feta: durant un any llevat que es faci una tria nova.

En lloc de $_COOKIE tambés es pot fer servir $_REQUEST que, com sabem, també pot substituir $_GET i $_POST.