PHP - II Elaborador por: Edgar Manuel Amézquita y Sebastián González R. 1 Inclusión de archivos PHP en otros archivos ● Include ● Include_path ● Incluye el ámbito de las variables. ● Las inclusiones en funciones trabajan como locales. 2 Ejemplo-Include básico ● Cuando se incluye un archivo, el código que contiene hereda el ámbito de las variables de la línea. 3 Include-once ● Una sola inclusión. ● Evita la redefinición de funciones y asignación de variables. ● Retorna “True” si el archivo ya ha sido incluido. 4 Lo cual nos daría : “Hoy es:2015-09-09 “ 5 Mysqli Es una extensión de php que sirve para conectarse a bases de datos MySQL, es altamente recomendada para versiones 4.1.3 o superior. 6 Diferencias con Mysql ● Incluye las nuevas funcionalidades de MySQL. ● Es la versión mejorada de Mysql. ● Sigue en desarrollo. 7 8 Conexión base de datos Mysql y php ● mysqli_connect ● mysqli_close ● mysqli_query ● mysqli_multi_query ● mysqli_fetch_assoc 9 Conexión base de datos Mysql y php ● mysqli_use_result ● mysqli_more_results ● mysqli_free_result 10 Abrir y cerrar conexiones mysqli_connect 11 Abrir y cerrar conexiones mysqli_close 12 mysqli_multi_query 13 mysqli_get_host_info 14 mysqli_affected_rows 15 16 17 Buenas prácticas Cerrar la conexión para que no quede sin hacer nada, liberar los resultados para optimizar memoria. Validar datos. Usar statement para evitar la inyecciones sql. 18 Malas prácticas Estar abriendo y cerrando la conexión entre consultas o operaciones. 19 Insertar 20 Operaciones BD Para las operaciones se usa el mysqli_query mandando el query ya sea para eliminar, insertar,modificar o listar. Dependiendo de para lo que se use se puede usar el mysqli_fetch_assoc. 21 Clase para conectarse a una BD Mysqli está implementado como una clase que se puede usar en vez de crear una nueva clase, este también posee una implementación procedimental, con la que se podría implementar. 22 Clase para conectarse a una BD 23 Clase para conectarse a una BD 24 Conexión BD postgresql y PHP ● ● ● ● ● ● ● ● Es una BD código abierto sin costo. pg_connect pg_query pg_fetch_array pg_free_result 25 Ejemplo de Conexión 26 Abrir y cerrar conexiones ● pg_connect ● pg_close 27 Cookies ● Cookies : Almacenan datos en el navegador remoto que permiten la consulta de información de la actividad previa del usuario. ● Hacen parte de HTTP ● setcookie() 28 Ejemplo Cookies La salida sería: 29 SetCookie() ● Define una cookie para ser enviada junto lo otro HTTP. ● Las cookies deben ser enviadas antes de que el script genere ninguna salida. 30 UNSET - Setcookie ● Unset , elimina la cookie especificada bajo la string de referencia. ● Se puede redefinir la cookie de modo que haya expirado. 31 Setrawcookie() ● Igual que Setcookie() ● La única diferencia es que el valor de la cookie no será automáticamente codificado cuando se envía al navegador. 32 Sesiones Las sesiones guardan los datos del usuario en una variable global $_SESSION, se necesita iniciar la sesión para que esta guarde los datos. 33 34 Sesiones(Abrir) Con session_start comenzamos a grabar variable en la sesión, la otra es cambiar la propiedad de auto_start en la clase session y dejarlo en 1. 35 Sesiones(Consultar) Para consultar se puede hacer accediendo a la variable global $_SESSION, que contiene toda la información de la sesión, esta se puede codificar con session_encode y decodificar con session_decode. 36 Sesiones(destruir) Para destruir podemos usar session_abort y session_destroy, la diferencia es que en la primera se desechan los cambios y se cierra la sesión y la segunda destruye toda la información almacenada. 37 Cibergrafía ● ● ● ● ● Php.net, (2015). PHP: include - Manual. [online] Available at: http://php. net/manual/es/function.include.php [Accessed 22 Aug. 2015]. Php.net, (2015). PHP: include_once - Manual. [online] Available at: http: //php.net/manual/es/function.include-once.php [Accessed 23 Aug. 2015]. Php.net, (2015). PHP: Uso básico - Manual POSTGRESQL. [online] Available at: http://php.net/manual/es/pgsql.examples-basic.php [Accessed 23 Aug. 2015]. Php.net, (2015). PHP: Overview - Manual. [online] Available at: http://php. net/manual/en/mysqli.overview.php [Accessed 20 Aug. 2015]. 38 Cibergrafía ● ● Php.net, (2015). PHP: Funciones de sesión - Manual. [online] Available at: http://php.net/manual/es/ref.session.php [Accessed 22 Aug. 2015]. Php.net, (2015). PHP: mysqli - Manual. [online] Available at: http://php. net/manual/en/class.mysqli.php [Accessed 20 Aug. 2015]. 39