Curso PHP y MySQL Implantación de Sistemas Implantación de Sistemas UNEFAUNEFA Hungria Berbesi.

1 Curso PHP y MySQL Implantación de Sistemas Implantación...
Author: Encarnación Aranda Márquez
0 downloads 2 Views

1 Curso PHP y MySQL Implantación de Sistemas Implantación de Sistemas UNEFAUNEFA Hungria Berbesi

2  Wamp Server, antes conocido comoWAMP, es un completo paquete al estilo ’apachefriends’ que te permite instalar y configurar fácilmente en tu sistema lo último del servidor Web Apache, el lenguaje de programación PHP y el servidor de base de datos MySQL.  Las versiones que instala de esta aplicaciones son las siguientes: Apache 2.2.6, PHP5, MySQL database, PHPmyadmin y SQLitemanager. Pero Wamp Server no es simplemente un paquete de programas, esta aplicación instala una interfaz residente en la barra de tareas que permite iniciar, supervisar y detener los distintos servicios.

3  Instalación y configuración de wampserver  Pasos:  Descargar  Instalar  Probar

4  Una de las ventajas de usar Wamp Server es que la instalación modificará los archivos de configuración (*.conf) con la ruta donde finalmente se ubicará el programa. También crea un directorio denominado ’www’ que será la raíz para tus documentos. Un icono ebarra de tareas nos indicará al instante el estado de los diferentes serviciosn la.

5  Lenguajes de script  PHP es un lenguaje de script del lado del servidor. Otros lenguajes similares son ASP, JSP o ColdFusion  Los scripts PHP están incrustados en los documentos HTML y el servidor los interpreta y ejecuta antes de servir las páginas al cliente  El cliente no ve el código PHP sino los resultados que produce

6  PHP  Es un lenguaje de programación interpretado, diseñado originalmente para la creación de páginas web dinámicas.  MySQL  Es un sistema de gestión de bases de datos relacional, multihilo y multiusuario.  MySQL es utilizado en aplicaciones web, como

7  ¿Cómo funciona PHP? (1) Página HTML internet Servidor web Cliente (navegador) Hola, Ana

8  Apache  Es un servidor web HTTP de código abierto, para plataformas Unix, Microsoft Windows, Macintosh y otras que implementen el protocolo.  Apache es usado principalmente para enviar páginas web estáticas y dinámicas en la World Wide Web.World Wide Web.

9  ¿Cómo funciona PHP? (2) Página PHP Intérprete PHP Página HTML internet Servidor web Cliente (navegador) Hola, Ana

10  Breve historia de PHP  Creado por Rasmus Lerdorf para uso personal en 1994  PHP = PHP: Hypertext Preprocessor  Versión actual: PHP 5  Es un módulo que se añade al servidor web y fue concebido inicialmente para Apache  ¿Por qué PHP?  Por sus ventajas: es potente, fácil de aprender, de libre distribución, permite el acceso a bases de datos y otras funcionalidades orientadas a la red  Dispone de abundante soporte en la Web

11  Requisitos  Servidor web Apache (www.apache.org)www.apache.org  con el módulo PHP (www.php.net)www.php.net  y la base de datos MySQL (www.mysql.com) si se desea crear páginas dinámicaswww.mysql.com  Otras utilidades  Herramientas para la gestión de MySQL, como PHPMyAdmin (www.phpmyadmin.net)www.phpmyadmin.net  Editores de PHP, como DevPHP (www.sourceforge.net), Eclipse (www.eclipse.org) o Aptana Studio (www.aptana.com)www.sourceforge.netwww.eclipse.orgwww.aptana.com  Manuales de PHP y MySQL Apache es un servidor Web cuya misión es la de recibir y responder peticiones de páginas Webs

12 ¿Cómo desarrollar un proyecto en PHP? ◦ Los ficheros PHP son ficheros de texto y se pueden crear con cualquier editor de texto, como el WordPad de Windows ◦ Es mucho más conveniente utilizar entornos de desarrollo que permiten editar el código más cómodamente, y además proporcionan funciones como la detección y corrección de errores, visualización de las páginas en el navegador, ayuda sensible al contexto y gestión de todos los recursos asociados al proyecto ◦ Algunos entornos de desarrollo:  Dev-PHP  Eclipse  Aptana Studio  Dreamweaver

13 1. Sintaxis básica 2. Tipos de datos 3. Variables 4. Constantes 5. Expresiones y operadores 6. Estructuras de control 7. Arreglos

14 PHP es sensible a las mayúsculas ¿Cómo se incrusta en la página web? Las instrucciones se separan con un ; como en C. La marca final ?> implica un ; Comentarios: como en C, /* … */ (varias líneas ) y // (una línea) /* Comentario de varias líneas */ printf “hola”; // Comentario de una línea

15 Para imprimir: echo y printf echo: muestra una o más cadenas echo cadena1 [, cadena2…]; echo “Hola mundo”; echo “Hola “, “mundo”; printf: muestra una cadena printff cadena; printf “Hola mundo”; printf “Hola “. “mundo”;

16 Ejemplo: Mi primer programa en PHP

17  Uso de \n para generar código HTML legible  a) Sin \n printf (“Párrafo 1”); printf (“Párrafo 2”); Párrafo 1 Párrafo 2 Código PHP Código HTML Salida

18  Uso de \n para generar código HTML legible  b) Con \n printf (“Párrafo 1\n”); printf (“Párrafo 2\n”); Párrafo 1 Párrafo 2 Párrafo 1 Párrafo 2 Código PHP Código HTML Salida

19  PHP soporta 8 tipos de datos primitivos:  Tipos escalares: boolean, integer, double, string  Tipos compuestos: array, object  Tipos especiales: resource, NULL  El tipo de una variable no se suele especificar. Se decide en tiempo de ejecución en función del contexto y puede variar  Funciones de interés:  La función gettype() devuelve el tipo de una variable  Las funciones is_type comprueban si una variable es de un tipo dado: is_array(), is_bool(), is_float(), is_integer(), is_null(), is_numeric(), is_object(), is_resource(), is_scalar(), is_string()  La función var_dump() muestra el tipo y el valor de una variable. Es especialmente interesante con los arrays

20  Las variables siempre van precedidas de un $  El nombre es sensible a las mayúsculas  Comienzan por letra o subrayado, seguido de letras, números o subrayado  Variables predefinidas: $GLOBALS, $_SERVER, $_GET, $_POST, $_COOKIES, $_FILES, $_ENV, $_REQUEST, $_SESSION  Ámbito: globales al fichero (excepto funciones) o locales a una función  Ejemplo: $valor = 5; printf “El valor es: “. $valor. “\n”; printf “El valor es: $valor\n”; // ojo: comillas dobles Resultado: El valor es: 5

21  Operadores aritméticos: +, -, *, /, %, ++, --  Operador de asignación: = operadores combinados:.=, +=, etc $a = 3; $a += 5;  a vale 8 $b = “hola ”; $b.= “mundo”;  b vale “hola mundo”  Equivale a $b = $b. “mundo”;  Operadores de comparación: ==, !=,, = y otros  Operador de control de error: @. Antepuesto a una expresión, evita cualquier mensaje de error que pueda ser generado por la expresión  Operadores lógicos: and (&&), or (||), !, xor and/&& y or/|| tienen diferentes prioridades  Operadores de cadena: concatenación:. (punto) asignación con concatenación:.=

22  Estructuras selectivas:  if-else  switch  Estructuras repetitivas:  while  for  foreach

23  Estructura selectiva if-else  Mismo comportamiento que en C  Las sentencias compuestas se encierran entre llaves  elseif puede ir todo junto if (condición) sentencia if (condición1) sentencia 1 else if (condición2) sentencia 2... else if (condición n) sentencia n else sentencia n+1 if (condición) sentencia 1 else sentencia 2

24  Ejemplo de estructura selectiva if-else:

25 Ejemplo de estructura repetitiva while:

26 Estructura repetitiva for for (inicialización; condición; incremento) sentencia Mismo comportamiento que en C condición sentencia ciertafalsa incremento inicialización

27  Ejemplo de estructura repetitiva for:

28  Sintaxis: array ([clave =>] valor,...)  La clave es una cadena o un entero no negativo. El valor puede ser de cualquier tipo válido en PHP, incluyendo otro array  Ejemplos: $cars1="Volvo"; $cars2="BMW"; $cars3="Toyota";

29  $age['Peter']="35"; $age['Ben']="37"; $age['Joe']="43";  "35","Ben"=>"37","Joe"=> "43"); echo "Peter is ". $age['Peter']. " years old."; ?>

30 1. Acceso a formularios HTML desde PHP 2. El formulario de PHP

31  Desde PHP se puede acceder fácilmente a los datos introducidos desde un formulario HTML  Veámoslo con un ejemplo simple

32 Name: Age: Welcome. You are years old !

33

34  A partir de PHP 4.2.0, el valor por defecto de la directiva de PHP register_globals es off  Esto tiene una gran importancia sobre los formularios, ya que no es posible acceder a las variables enviadas de la manera anterior (como variables globales). En su lugar hay que utilizar la variable predefinida de PHP $_REQUEST, escribiendo $_REQUEST[‘edad’] en lugar de $edad  Se puede poner register_globals = on en el fichero de configuración php.ini, pero no es recomendable por motivos de seguridad. Una alternativa que permite hacer mínimos cambios en el código ya existente es la siguiente: $edad = $_REQUEST[‘edad’];

35 Name: Age: Welcome ! You are years old.

36  Acceso a los diferentes tipos de elementos de entrada de formulario  Elementos de tipo INPUT  TEXT  RADIO  CHECKBOX  BUTTON  FILE  HIDDEN  PASSWORD  SUBMIT  Elemento SELECT  Simple / múltiple  Elemento TEXTAREA

37  TEXT Introduzca la cadena a buscar:

38  RADIO Sexo: Mujer Hombre

39  CHECKBOX Garaje Piscina Jardín

40  BUTTON

41  FILE

42  HIDDEN

43  PASSWORD Contraseña:

44  SUBMIT

45  SELECT simple Color: Rojo Verde Azul

46  SELECT múltiple Idiomas: Inglés Francés Alemán Holandés

47  TEXTAREA Comentario: Este libro me parece...

48 1. Bases de datos en la Web 2. Herramientas de administración: phpMyAdmin 3. Lenguaje SQL 4. Funciones de PHP para el acceso a bases de datos MySQL 5. Ejercicios 6. Consulta avanzada de tablas

49 Las bases de datos permiten almacenar de una forma estructurada y eficiente toda la información de un sitio web Ventajas –Proporcionar información actualizada –Facilitar la realización de búsquedas –Disminuir los costes de mantenimiento –Implementar sistemas de control de acceso –Almacenar preferencias de los usuarios

50 Esquema básico de un sitio web soportado por bases de datos:

51  phpMyAdmin es una herramienta para la administración del servidor de bases de datos MySQL  Dispone de una interfaz gráfica y es de libre distribución  Permite realizar todo tipo de operaciones sobre bases de datos:  crear, borrar y modificar tablas  consultar, insertar, modificar y eliminar datos  definir usuarios y asignar permisos  realizar copias de seguridad  etc  Está escrita en php y se ejecuta desde el navegador  Si está instalada en la carpeta phpmyadmin, se ejecuta escribiendo en la barra de direcciones del navegador la url http://localhost/phpmyadmin/  Puede administrar bases de datos locales y remotas

52  Para acceder a phpMyAdmin buscamos el icono de Easyphp en la barra de tarea y damos click derecho configuración/PhpMyAdmin

53 1 2 nombre de la base de datos 3

54 Nombre de la base creada anteriormente Nombre de la tabla a crear en la base de datos # de campo o columnas de la tabla

55 Propiedades de las columnas

56 1. Click Ingresar los valores

57  SQL (Structured Query Language) es el lenguaje que se utiliza para comunicarse con la base de datos  Procedimiento de comunicación con la base de datos: Página PHP Base de datos orden SQL resultado

58 Los pasos para acceder desde PHP a una base de datos son los siguientes: ◦ Conectar con el servidor de bases de datos ◦ Seleccionar una base de datos ◦ Enviar la instrucción SQL a la base de datos ◦ Obtener y procesar los resultados ◦ Cerrar la conexión con el servidor de bases de datos

59 Las funciones concretas de MySQL que realizan estas operaciones son: ◦ Conectar con el servidor de bases de datos:  mysql_connect() ◦ Seleccionar una base de datos:  mysql_select_db() ◦ Enviar la instrucción SQL a la base de datos:  mysql_query() ◦ Obtener y procesar los resultados:  mysql_num_rows() y mysql_fetch_array() ◦ Cerrar la conexión con el servidor de bases de datos:  mysql_close()

60 Conectar con el servidor de bases de datos: mysql_connect() ◦ Devuelve un identificador de la conexión en caso de éxito y false en caso contrario Sintaxis: $conexion = mysql_connect (servidor, username, password); Ejemplo: esto debe de estar dentro de un script php $conexion = mysql_connect (“localhost”, “cursophp”, “”); if(!$conexion) echo “No se puede conectar con el servidor”;

61  Seleccionar una base de datos: mysql_select_db()  Devuelve true en caso de éxito y false en caso contrario  Sintaxis: mysql_select_db (database,conexion);  Ejemplo: if ( mysql_select_db (“lindavista”,$conexion)); echo “No se puede seleccionar la base de datos”;

62  Enviar la instrucción SQL a la base de datos: mysql_query()  Devuelve un identificador o true (dependiendo de la instrucción) si la instrucción se ejecuta correctamente y false en caso contrario  Ejemplo: $consulta=“select * from alumnos”; $respuesta = mysql_query ($consulta,$conexion);

63  Obtener y procesar los resultados: mysql_num_rows(), mysql_fetch_array()  En el caso de que la instrucción enviada produzca unos resultados, mysql_query() devuelve las filas de la tabla afectadas por la instrucción  mysql_num_rows() devuelve el número de filas afectadas  Para obtener las distintas filas del resultado se utiliza la función mysql_fetch_array(), que obtiene una fila del resultado en un array asociativo cada vez que se invoca  Sintaxis: $nfilas = mysql_num_rows ($respuesta); $fila = mysql_fetch_array ($respuesta);

64  Ejemplo: Título 1Texto 1 05/02/2004 noticias 1 Título 2Texto 2 05/02/20042 Título 3Texto 3 04/02/20043 Título 4Texto 4 01/02/20044 Título 5Texto 5 31/01/20045 Instrucción: select * from noticias where categoria=“promociones” ofertas promociones costas promociones

65  Ejemplo: Título 1Texto 1 05/02/2004 noticias 1 Título 2Texto 2 05/02/20042 Título 3Texto 3 04/02/20043 Título 4Texto 4 01/02/20044 Título 5Texto 5 31/01/20045 Instrucción: select * from noticias where categoria=“promociones” ofertas promociones costas promociones $consulta $nfilas=3

66  Obtención de las filas: $nfilas = mysql_num_rows ($respuesta); if ($nfilas > 0) { for ($i=0; $i

67  Obtener los resultados: mysql_num_rows(), mysql_fetch_array()  Para acceder a un campo determinado de una fila se usa la siguiente sintaxis: $fila[“nombre_campo”]// por ser un array asociativo $fila[$i]// $i=índice del campo desde 0  Ejemplo: for ($i=0; $i

68  Cerrar la conexión con el servidor de bases de datos: mysql_close()  Sintaxis: mysql_close ($conexion);  Ejemplo mysql_close ($conexion);

69  Ejercicio 1:  Ejercicio simple de acceso a una tabla de una base de datos. Ilustra cómo conectar con una base de datos, enviar una consulta, recuperar los resultados y mostrarlos en pantalla, actualizar eliminar e insertar un registro.  Pasos previos: 1. Crear la base de datos alumnos 2. Crear la tabla personales en la base de datos alumnos 3. Ingresar los siguientes valores: