PDF de programación - Funciones de PHP

Imágen de pdf Funciones de PHP

Funciones de PHPgráfica de visualizaciones

Publicado el 14 de Enero del 2017
809 visualizaciones desde el 14 de Enero del 2017
396,8 KB
8 paginas
Creado hace 20a (04/11/2003)
Funciones de PHP

Daniel Morató

Area de Ingeniería Telemática

Departamento de Automática y Computación

Universidad Pública de Navarra

[email protected]

Laboratorio de Interfaces de Redes

http://www.tlm.unavarra.es/asignaturas/lir

Contenido

• Estado de la conexion con el navegador
• PHP y MySQL
• Cookies
• Sesiones
• Otras opciones

13 Nov

Funciones de PHP

1/15

1

Estado de la conexión con el navegador




• Cuando el usuario solicita una página que es en verdad un PHP éste empieza a
ejecutarse, manteniendo la conexión establecida para poder mandar el
resultado del script
Puede que el usuario aborte la conexión (botón STOP en el navegador)
Para reconocer esta circunstancia un script PHP puede encontrarse en
diferentes estados:
– NORMAL: Mientras el script se ejecuta con normaliad como se ha descrito
– ABORTED: Si el usuario corta la conexión el script pasa a este estado
– TIMEOUT: Se puede configurar un máximo tiempo que puede ejecutarse el script, si se alcanza

este tiempo pasa a este estado



• Normalmente cuando el usuario corta la conexión y el script pasa al estrado

ABORTED termina abruptamente la ejecución del script
Se puede cambiar este modo de funcionamiento para que los scripts se
ejecuten siempre hasta finalizar (por ejemplo llamando a la función
ignore_user_abort())

• El tiempo máximo típico que está configurado que pueda ejecutarse un script
sin ser abortado por TIMEOUT es de 30 segs pero puede cambiarse por
ejemplo con la función set_time_limit()

13 Nov

Funciones de PHP

2/15

PHP y MySQL

• Veamos algunas funciones para conectarse y realizar

queries a un servidor de MySQL:
– mysql_connect()
– mysql_list_dbs(), mysql_select_db()
– mysql_select_db()
– mysql_query()
– mysql_fetch_array()
– mysql_num_rows(), mysql_insert_id()
– mysql_error(), mysql_errno()

13 Nov

Funciones de PHP

3/15

2

mysql_connect()

• Establecer una conexión con un servidor MySQL

resource mysql_connect ( [string server [, string username [, string password [,

bool new_link [, int client_flags]]]]])

• Devuelve un recurso que identifica a esa conexión si se

lleva a cabo con éxito, si no devuelve FALSE

• Ejemplo:

$link = mysql_connect("localhost", "mysql_user", "mysql_password");

• Se puede cerrar esa conexión con mysql_close() pero no

hace falta, se cerrará al terminar el script de PHP

13 Nov

Funciones de PHP

4/15

mysql_list_dbs()

• Lista las bases de datos disponibles en el servidor

resource mysql_list_dbs ( [resource link_identifier])

• El argumento es el recurso que identifica a la conexión con la base de

datos

• El resultado se puede recorrer como cualquier resultado de una query

mysql_select_db()
• Selecciona una base de datos para todos los query siguientes

bool mysql_select_db ( string database_name [, resource link_identifier])

• Si se le pasa el segundo argumento (la conexión a la BD), ahora pasa a

estar activa la base de datos seleccionada

• Sin segundo argumento activa esa base de datos en la conexión más

reciente al servidor

13 Nov

Funciones de PHP

5/15

3

mysql_query()

resource mysql_query ( string query [, resource link_identifier])

• Envía una query al servidor
• Envía una query (primer argumento) al servidor al
que hace referencia el segundo argumento, a la
base de datos que tenga activa

• Si no hay segundo argumento se emplea la última

conexión con base de datos que se haya creado

• Para SELECT, SHOW, EXPLAIN y DESCRIBE

devuelve un identificador de recurso o FALSE

• Para otras sentencias SQL devuelve TRUE o

FALSE

13 Nov

Funciones de PHP

6/15

mysql_fetch_array()

• Extrae una fila del resultado de una query

array mysql_fetch_array ( resource result [, int result_type])

• El primer argumento es el resultado de la query
• El segundo argumento nos permite especificar cómo

queremos que nos devuelva la fila:
– MYSQL_ASSOC para que sea un array asociativo cuyas claves son

los nombres de las columnas

– MYSQL_NUM para que sea un array indexado por el número de

columna

– MYSQL_BOTH para que tenga ambas claves (nombres e índice)

• Cada vez que se llama a la función devuelve la siguiente

fila del resultado

• Devuelve FALSE cuando no quedan más filas.

13 Nov

Funciones de PHP

7/15

4

mysql_num_rows()

• Devuelve el número de filas que tiene el resultado de una

query de tipo SELECT
int mysql_num_rows ( resource result)

• El argumento es el resultado de la query.

mysql_insert_id()

• Si la última operación de tipo INSERT fue en una tabla
con una columna con el atributo AUTO_INCREMENT
devuelve el ID nuevo que se le asignó
int mysql_insert_id ( [resource link_identifier])

• El argumento es la conexión con la base de datos y si no se

especifica se empleará el último que se haya creado.

13 Nov

Funciones de PHP

8/15

mysql_error()

• Devuelve el texto asociado al error que produjo la

última función de MySQL
string mysql_error ( [resource link_identifier])

• Si no se produjo un error devuelve la cadena

vacía.

mysql_errno()

• Devuelve el código numérico del error que

produjo la última función de MySQL
int mysql_errno ( [resource link_identifier])

13 Nov

Funciones de PHP

9/15

5

Persistent Client State HTTP Cookies

• Una de las limitaciones de la Web a la hora del desarrollo de

aplicaciones/interfaces es que su funcionamiento es sin estado

• Cada petición de un URI es independiente de los anteriores y hay poca

o ninguna información de lo que ha hecho el usuario anteriormente

• Eso quiere decir que formularios que ocupen varias páginas HTML

son difíciles de implementar

• Un técnica clásica ha sido, al generar un CGI una página como
resultado de un formulario esconder en esa página, en el siguiente
formulario, la información que se quiere conservar

Formulario

crea

El CGI que procesa ese
formulario
el
siguiente y esconde en él
(atributo hidden) valores
del anterior

se

envía
de
se

el
Cuando
este
contenido
está
formulario
enviando
también
información del anterior
que se escondió en él

13 Nov

Funciones de PHP

10/15

Persistent Client State HTTP Cookies















Las Cookies son un mecanismo más cómodo para almacenar información de estado
en el cliente
Al enviar una página Web el servidor puede indicar al cliente que almacene cierta
información
Ese cliente, cuando solicite otras páginas de ese servidor enviará en la solicitud esa
información que se le pidió almacenar (la cookie)
Se introduce una cookie en el cliente mediante Set-Cookie en la cabecera HTTP:
Set-Cookie: NAME =VALUE ; expires= DATE ;path= PATH ; domain= DOMAIN_NAME ; secure
El contenido de la cookie sigue el formato NAME=VALUE (ni punto-y-coma ni coma ni espacios). El el único
atributo obligatorio
Se le puede indicar una fecha máxima de validez a la cookie
Si se ha indicado el atributo domain el cliente, cuando haga una petición, enviará la cookie solo si en el URL
al que se le solicita el nombre de dominio de la máquina está dentro de ese dominio
Con el atributo path se puede restringir el subconjunto de URLs del dominio a los que se les enviará la
cookie al solicitar una página
Si se indica el atributo secure esta cookie solo se enviará si la conexión es segura (sobre SSL)

Cuando el cliente solicita un URL envía las cookies que pertenezcan a ese dominio y
dentro del camino (path) especificado
Las cookies se envían al servidor como parte de la cabecera HTTP










Cookie: NAME1=OPAQUE_STRING1 ;NAME2=OPAQUE_STRING2 ...

Por ejemplo la librería CGIC tiene funciones para enviar y recibir las cookies desde
un CGI en C

13 Nov

Funciones de PHP

11/15

6

Sesiones en PHP




Sucede lo mismo con los scripts PHP que con CGIs: no se guarda estado
PHP nos permite guardar el contenido de unas variables asociándolas a una
sesión

• En realidad lo que hará será guardar esas variables localmente y mandar al
usuario un identificador de sesión asociado a ese conjunto de variables en
forma de una cookie

• Cuando el cliente solicita otro script PHP envía su cookie con el identificador

de sesión
Se accede al fichero correspondiente recuperando esas variables de forma que
parece que conservar el contenido asignado por el anterior script



script

guarda

Un
la
información obtenida del
usuario en la pagina anterior
en variables de sesión. Al
mandar la pagina siguiente
manda una cookie con el ID
de la sesión

Al llamar a un nuevo script
se le pasa el ID de la sesión
lo que este puede
con
recuperar
variables
guardadas

las

13 Nov

Funciones de PHP

12/15

Variables y algunas funciones











$_SESSION
– Variable superglobal
– Array con las variables que se guardan en la sesión (la clave es el nombre de la

variable)

bool session_start(void)
– Crea una nueva sesión o recupera las variables de una
– Es sesiones implementadas con cookies hay que llamar a esta función antes de que
se envíe nada al navegador (para que se pueda poner la cookie en la cabecera
HTTP)

bool session_destroy(void)
– Destruye los datos asociados a esta sesión (fichero donde guarda el servidor las

variables de la sesión)

– No invalida (unset) las variables ni la sesión
string session_encode(void)
– Devuelve una cadena con en contenido de la sesión codificado
session_decode(string data)
– Decodifica la cadena que se le pasa creando las variables que indica

13 Nov

Funciones de PHP

13/15

7

Otras opciones interesantes

• Enviar cabecera HTTP para que el usuario tenga
que autentificarse (como con un require user
del Apache)

• Que el usuario suba ficheros (se hace mediante el

POST de HTTP)

gethostbyaddr()

• Funciones de red como gethostbyname() o

• Gestion de

ficheros: fopen(), fclose(),

fread(), fwrite(), unlink() ...

• Funciones matemáticas
  • Links de descarga
http://lwp-l.com/pdf868

Comentarios de: Funciones de PHP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad