Implantación de Sistemas

1 Implantación de SistemasCurso PHP y MySQL U N E F A H...
Author: Julián Soto Cortés
0 downloads 0 Views

1 Implantación de SistemasCurso PHP y MySQL U N E F A Hungria Berbesi

2 Instalación de wampserverWamp 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 de wampserverInstalación y configuración de wampserver Pasos: Descargar Instalar Probar

4 Instalación de wampserverUna 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 Introducción a PHP Lenguajes de scriptPHP 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 Introducción a PHP ¿Cómo funciona PHP? (1) Cliente (navegador)Servidor web Página HTML Página HTML internet

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.

9 Introducción a PHP ¿Cómo funciona PHP? (2) Cliente (navegador)Servidor web Página PHP Página HTML Página HTML internet Intérprete PHP $nombre = "Ana"; printf ("

Hola, $nombre

"); ?>

Hola, Ana

10 Introducción a PHP Breve historia de PHP ¿Por qué 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 Introducción a PHP Requisitos Otras utilidadesApache es un servidor Web cuya misión es la de recibir y responder peticiones de páginas Webs Requisitos Servidor web Apache (www.apache.org) con el módulo PHP (www.php.net) y la base de datos MySQL (www.mysql.com) si se desea crear páginas dinámicas Otras utilidades Herramientas para la gestión de MySQL, como PHPMyAdmin (www.phpmyadmin.net) Editores de PHP, como DevPHP (www.sourceforge.net), Eclipse (www.eclipse.org) o Aptana Studio (www.aptana.com) Manuales de PHP y MySQL

12 Entornos de desarrollo para PHP¿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 Lenguaje PHP básico Sintaxis básica Tipos de datos VariablesConstantes Expresiones y operadores Estructuras de control Arreglos Lenguaje PHP básico

14 Sintaxis básica PHP es sensible a las mayúsculas¿Cómo se incrusta en la página web? recomendado, siempre disponible ?> 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 Sintaxis básica

15 Sintaxis básica Para imprimir: echo y printfecho: 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”; Sintaxis básica

16 Sintaxis básica Ejemplo: Mi primer programa en PHP printf (“Hola mundo”); ?> Sintaxis básica

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

Párrafo 1

Párrafo 2

Sintaxis básica Salida Párrafo 1 Párrafo 2

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

Párrafo 1

Párrafo 2

Sintaxis básica Salida Párrafo 1 Párrafo 2

19 Tipos de datos 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 Tipos de datos

20 Variables 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 Variables

21 Expresiones y operadoresOperadores 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 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: .= Expresiones y operadores

22 Estructuras de controlEstructuras selectivas: if-else switch Estructuras repetitivas: while for foreach Estructuras de control

23 Estructuras de controlEstructura 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 Estructuras de control

24 Estructuras de controlEjemplo de estructura selectiva if-else: if ($sexo == ‘M’) $saludo = "Bienvenida, "; else $saludo = "Bienvenido, "; printf (“$saludo”); ?>

25 Estructuras de controlEjemplo de estructura repetitiva while: printf ("

    \n"); $i=1; while ($i <= 5) { printf ("
  • Elemento $i
  • \n");
    $i++; } printf ("
\n"); ?>

26 Estructuras de controlEstructura repetitiva for for (inicialización; condición; incremento) sentencia Mismo comportamiento que en C inicialización condición falsa cierta sentencia Estructuras de control incremento

27 Estructuras de controlEjemplo de estructura repetitiva for: printf ("

    \n"); for ($i=1; $i<=5; $i++) printf ("
  • Elemento $i
  • \n");
    printf ("
\n"); ?>

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"; Arreglos

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

30 Formularios HTML Acceso a formularios HTML desde PHPEl formulario de PHP Formularios HTML

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

32 Acceso a formularios desde PHP

Name: Age:
Welcome .
You are years old!

33 Acceso a formularios desde PHP

34 Acceso a formularios desde PHPA 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 Acceso a formularios desde PHP

Name: Age:
Welcome !
You are years old.

36 Acceso a formularios desde PHPAcceso 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 Acceso a formularios desde PHPTEXT Introduzca la cadena a buscar: $cadena = $_REQUEST[‘cadena’]; ?>

38 Acceso a formularios desde PHPRADIO Sexo: Mujer Hombre $sexo = $_REQUEST[‘sexo’]; ?>

39 Acceso a formularios desde PHPCHECKBOX Garaje Piscina Jardín $extras = $_REQUEST[‘extras’]; ?>

40 Acceso a formularios desde PHPBUTTON $actualizar = $_REQUEST[‘actualizar’]; if ($actualizar) printf ("Se han actualizado los datos"); ?>

41 Acceso a formularios desde PHPFILE

42 Acceso a formularios desde PHPHIDDEN printf(“\n”); ?> $username = $_REQUEST[‘username’];

43 Acceso a formularios desde PHPPASSWORD Contraseña: $clave = $_REQUEST[‘clave’]; ?>

44 Acceso a formularios desde PHPSUBMIT $enviar = $_REQUEST[‘enviar’]; if ($enviar) printff ("Se ha pulsado el botón de enviar"); ?>

45 Acceso a formularios desde PHPSELECT simple Color: $color = $_REQUEST[‘color’]; ?>

46 Acceso a formularios desde PHPSELECT múltiple Idiomas: $idiomas = $_REQUEST[‘idiomas’]; ?>

47 Acceso a formularios desde PHPTEXTAREA Comentario: $comentario = $_REQUEST[‘comentario’]; printf ($comentario); ?>

48 Acceso a bases de datos MySQL en PHPBases de datos en la Web Herramientas de administración: phpMyAdmin Lenguaje SQL Funciones de PHP para el acceso a bases de datos MySQL Ejercicios Consulta avanzada de tablas Acceso a bases de datos MySQL en PHP

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 Bases de datos en la Web

50 Esquema básico de un sitio web soportado por bases de datos:Bases de datos en la Web

51 Herramientas de administración: phpMyAdminphpMyAdmin 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 Puede administrar bases de datos locales y remotas

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

53 phpMyAdmin crear una base de datos1 3 2 nombre de la base de datos

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

55 phpMyAdmin atributos de las columnas de una tabla en la base de datosPropiedades de las columnas

56 phpMyAdmin insertar registros a una tabla de la base de datos1. Click Ingresar los valores

57 Lenguaje SQL 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 orden SQL Base de datos resultado

58 Funciones de PHP para el acceso a bases de datos MySQLLos 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 Acceso a bases de datos MySQLLas 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 Acceso a bases de datos MySQLConectar 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 Acceso a bases de datos MySQLSeleccionar 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 Acceso a bases de datos MySQLEnviar 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 Acceso a bases de datos MySQLObtener 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 Acceso a bases de datos MySQLEjemplo: noticias 1 Título 1 Texto 1 ofertas 05/02/2004 2 Título 2 Texto 2 promociones 05/02/2004 3 Título 3 Texto 3 promociones 04/02/2004 4 Título 4 Texto 4 costas 01/02/2004 5 Título 5 Texto 5 promociones 31/01/2004 Instrucción: select * from noticias where categoria=“promociones”

65 Acceso a bases de datos MySQLEjemplo: noticias 1 Título 1 Texto 1 ofertas 05/02/2004 2 Título 2 Texto 2 promociones 05/02/2004 3 Título 3 Texto 3 promociones 04/02/2004 $consulta 4 Título 4 Texto 4 costas 01/02/2004 $nfilas=3 5 Título 5 Texto 5 promociones 31/01/2004 Instrucción: select * from noticias where categoria=“promociones”

66 Acceso a bases de datos MySQLObtención de las filas: $nfilas = mysql_num_rows ($respuesta); if ($nfilas > 0) { for ($i=0; $i<$nfilas; $i++) { $fila = mysql_fetch_array ($respuesta); procesar fila i-ésima de los resultados } }

67 Acceso a bases de datos MySQLObtener 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<$nfilas; $i++) { $fila = mysql_fetch_array ($respuesta); printf “Título: “ . $fila[“titulo”]; printf “Fecha: “ . $fila[“fecha”]; }

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

69 Ejercicios 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: Crear la base de datos alumnos Crear la tabla personales en la base de datos alumnos Ingresar los siguientes valores: