introduccion al Lenguaje php

3,150 views

Published on

Introducción al lenguaje de programación del lado del servidor PHP.
Fundamentos php, bases de datos, sesiones, cookies, ...

Published in: Education

introduccion al Lenguaje php

  1. 1. Aplicaciones WebLENGUAJES WEB DEL SERVIDOR
  2. 2. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ÍNDICE  Introducción  Fundamentos de PHP  Acceso a base de datos  Formularios  Sesiones  Cookies 2
  3. 3. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ÍNDICE  Introducción  Fundamentos de PHP  Acceso a base de datos  Formularios  Sesiones  Cookies 3
  4. 4. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago INTRODUCCIÓN  ¿Qué es?  Características  PHP5  ¿Cómo funciona?  El servidor 4
  5. 5. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ¿QUÉ ES?  PHP Hypertext Preprocessor  Lenguaje interpretado o de scripting  Proposito general  Aplicaciones web  Aplicaciones con interfaz gráfica  Open Source 5
  6. 6. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago CARACTERÍSTICAS  Alto rendimiento  Integración con bases de datos  Bibliotecas incorporadas  Facilidad de aprendizaje y uso  Portabilidad  Gran documentación on-line (php.net) 6
  7. 7. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ¿CÓMO FUNCIONA?  Nosotros vemos páginas web en un navegador:  Mozilla, Konqueror, Opera, Nautilus...  Un navegador solo interpreta HTML, hojas de estilo (CSS) y Javascript  Un navegador NO sabe interpretar PHP  Entonces, ¿quién lo hace por él? 7
  8. 8. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ¿CÓMO FUNCIONA? (2)  El navegador puede:  Mostrar una página alojada en el ordenador en el que él está instalado  Éste es el ordenador “cliente”  La página se muestra tal y como está guardada, no hay proceso posible: tiene que ser HTML  Pedir una página a un servidor  El servidor puede procesar la página antes de enviarla al navegador 8
  9. 9. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ¿CÓMO FUNCIONA? (3)  Ejemplo: petición de una página PHP a un servidor web Servidor web interpreta código PHP para generar la página HTML. Es probable que en el código se hagan llamadas a bases de datos para obtener datos con lo que completar dicho HTML. 9
  10. 10. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago CONFIGURACIÓN DEL SERVIDOR  Vamos a utilizar el servidor Xampp o EasyPhp  En el ordenador local  En el pendrive  Instalación  Iniciar  servidor apache  mysql 10
  11. 11. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago CONFIGURACIÓN SERVIDOR  Para comprobar que el servidor está activo:  http://localhost  Aparecerá la siguiente página  Accedemos a través del servidor, no directamente 11
  12. 12. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ÍNDICE  Introducción  Fundamentos de PHP  Acceso a base de datos  Formularios  Sesiones  Cookies 12
  13. 13. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago FUNDAMENTOS DE PHP  Primeros pasos  Sintaxis  Tipos y variables  Operadores  Estructuras de control  Funciones 13
  14. 14. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago FUNDAMENTOS DE PHP  Primeros pasos  Sintaxis  Tipos y variables  Operadores  Estructuras de control  Funciones 14
  15. 15. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago PRIMEROS PASOS  Como se dijo en la introducción:  PHP se incrusta dentro del código HTML  PHP se procesa en el servidor  Sirve para crear páginas HTML que después se enviarán al cliente, y para realizar otras operaciones  Podemos generar una página según el contenido de un formulario...  ... o según el contenido de una base de datos...  ... o según la hora del servidor...  ... 15
  16. 16. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago PRIMEROS PASOS (2)  ¿Cómo incrustar PHP dentro del HTML?  Con la etiqueta <?php [instrucciones] ?>  El servidor procesa el código que hay entre “<?php” y “?>” (o símplemente “<? .... ?>”)  <?php echo ("Hola mundo!"); ?> 16
  17. 17. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago PRIMEROS PASOS (3)  ¿Cómo procesa el código?  Tenemos la página: <html> <body> <?php echo “Hola mundo!”; ?> </body> </html>  El servidor comienza a procesar la página  Si encuentra HTML, lo envía directamente al cliente  Si encuentra una etiqueta de PHP, procesa el código, y si el código escribe algo, esa "escritura" se incluye en el HTML que se envía al cliente 17
  18. 18. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago PRIMEROS PASOS (4)  El servidor devolvería el siguiente fragmento: <html> <body> Hola mundo! </body> </html> 18
  19. 19. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago FUNDAMENTOS DE PHP  Primeros pasos  Sintaxis  Tipos y variables  Operadores  Estructuras de control  Funciones 19
  20. 20. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago SINTAXIS  Las instrucciones se escriben separadas por ;  Las estructuras de control son  if, while, switch, for, etc.  Las llamadas a función se realizan con paréntesis  phpinfo();  strlen(abcdef); // 6  Los comentarios en el código se realizan con:  // Una sola línea  # Una sola línea  /* Varias líneas */ 20
  21. 21. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago FUNDAMENTOS DE PHP  Primeros pasos  Sintaxis  Tipos y variables  Operadores  Estructuras de control  Funciones 21
  22. 22. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago TIPOS  Existen distintos tipos: Boolean, integer, float, string, array, object,...  Pero nos “desentendemos” de ellos, se decide en tiempo de ejecución dependiendo del contexto <?php $un_bool = TRUE; // un valor booleano $un_str = "foo"; // una cadena $un_int = 12; // un entero echo gettype($un_bool); // imprime: boolean // Si este valor es un entero, incrementarlo en cuatro if (is_int($un_int)) $un_int += 4; ?> 22
  23. 23. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago VARIABLES  Tienen dos particularidades:  Pueden cambiar de tipo fácilmente  Ej.: si en una variable hemos guardado un entero, podemos utilizarlo como un String, y viceversa (siempre que el String represente un entero)  El nombre de la variable lleva $ delante  $usuario = jose;  Es posible concatenar variables (strings) con el <?php operador . $mensaje1 = Hola; $mensaje2 = mundo!; echo $mensaje1. .$mensaje2; ?> 23
  24. 24. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago VARIABLES (2)  Dentro de un string delimitado con comillas dobles se evalúan las variables $nombre = juan; echo ("El valor de la variable nombre es $nombre.");  Con la función “unset()” podemos quitar el valor de una variable $var = "pepe"; unset($var); // Ahora no tiene valor (NULL)  La función “isset()” nos indica si una variable está inicializada if (isset($var)) { echo Tiene valor„;} 24
  25. 25. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago FUNDAMENTOS DE PHP  Primeros pasos  Sintaxis  Tipos y variables  Operadores  Estructuras de control  Funciones 25
  26. 26. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago OPERADORES Operador Simbolo Ejemplo Resultado  Aritméticos Negación - -3 -3 Adición + 3+3 6 Substracción - 45-5 40 Multiplicación * 5*3 15 División / 60/3 20 Módulo % 7%2 1 Incremento ++ $x=3; $x++; 4 Operador Simbolo Equivalencia Asignación $x = $y $x = $y  Asignación Asignación y suma $x += $y $x = $x + $y Asignación y resta $x -= $y $x = $x – $y Asignación y multiplicación $x *= $y $x = $x * $y Asignación y división $x /= $y $x = $x / $y Asignación y resto $x %= $y $x = $x % $y Asignación y concatenación $s .= $x $s = $s . $x 26
  27. 27. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago OPERADORES (2)  Comparación Operador Símbolo Ejemplo Resultado Igual == 3 == 3 cierto Idéntico === 3 === ”3” falso Diferente != 7 !=7 falso <> 9 <> 8 cierto No idénticos !== “4” !== 4 cierto Menor < 1<3 cierto Mayor > 3>4 falso Menor o igual <= 2 <= 1 falso Operador Simbolo Ejemplo Resultado  Lógicos Y (and) && TRUE && FALSE falso O (or) || TRUE || FALSE cierto NO (not) ! ! TRUE falso 27
  28. 28. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago FUNDAMENTOS DE PHP  Primeros pasos  Sintaxis  Tipos y variables  Operadores  Estructuras de control  Funciones 28
  29. 29. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ESTRUCTURAS DE CONTROL  Condicionales  If …. Else  …elseif …  switch  Bucles  For  …  While  … 29
  30. 30. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago CONDICIONALES  Condicional simple if (<condición>) {...}  Condicional y alternativa if (<condición>) {...} else {...} 30
  31. 31. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago CONDICIONALES  Condicional simple if (<condición>) {...}  Condicional y alternativa if (<condición>) {...} else {...} 31
  32. 32. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago EJEMPLO IF <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php $a = 8; $b = 3; if ($a < $b) { echo "a es menor que b"; } else { echo "a no es menor que b"; } ?> </body> </html> 32
  33. 33. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago CONDICIONALES (2)  Condicional múltiple switch (<expresión>) { case <valor 1>: ... break; case <valor 2>: ... break; ... case <valor n>: ... break; default: ... break; } 33
  34. 34. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago EJEMPLO SWITCH <?php $posicion = "arriba"; switch($posicion) { case "arriba": // Bloque 1 echo "La variable contiene"; echo " el valor arriba"; break; case "abajo": // Bloque 2 echo "La variable contiene"; echo " el valor abajo"; break; default: // Bloque 3 echo "La variable contiene otro valor"; echo " distinto de arriba y abajo"; } ?> 34
  35. 35. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago BUCLES  for  Ejecuta un código mientas se cumpla una condición .  Ejemplo: for ($a = 1; $a <= 10; $a++) { echo (<p>El número es .$a.</p>); } 35
  36. 36. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago BUCLES  while  Mientras se cumpla una condición, se ejecuta al código que hay en el (puede no ejecutarse nunca)  Ejemplo: <?php $i=0; while ($i<10) { echo "El valor de i es ", $i,"<br>"; $i++; } ?> 36
  37. 37. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago FUNDAMENTOS DE PHP  Primeros pasos  Sintaxis  Tipos y variables  Operadores  Estructuras de control  Funciones 37
  38. 38. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago FUNDAMENTOS DE PHP  Primeros pasos  Sintaxis  Tipos y variables  Operadores  Estructuras de control  Funciones 38
  39. 39. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago FUNCIONES  Podemos definir nuestras propias funciones function <nombre_función> ($parm1, $parm2, ...) { ... return <resultado>; }  Ejemplo function negrita($texto) { return <b>.$texto.</b>; } echo Quiero .negrita(remarcar). lo que es .negrita(importante); 39
  40. 40. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago EJEMPLO <html> <head> <title>Ejemplo de PHP</title> </head> <body> <?php function media_aritmetica($a, $b) { $media=($a+$b)/2; return $media; } echo media_aritmetica(4,6),"<br>"; echo media_aritmetica(3242,524543),"<br>"; ?> </body> </html>
  41. 41. FUNCIONES DE LIBRERIADado el uso del lenguaje PHP el tratamiento de cadenas es muyimportante, existen bastantes funciones para el manejo de cadenas,las más usadas: strlen(cadena). Devuelve el número de carácteres de una cadena. split(separador,cadena). Divide una cadena en varias usando uncarácter separador.substr(cadena, inicio, longitud). Devuelve una subcadena de otra,empezando por inicio y de longitud longitud. strpos(cadena1, cadena2). Busca la cadena2 dentro de cadena1indicándonos la posición en la que se encuentra. str_replace(cadena1, cadena2, texto). Reemplaza la cadena1 por lacadena2 en el texto. 41
  42. 42. FUNCIONES DE LIBRERIA Como incluir script php desde otros ficheros. http://www.webestilo.com/php/php05b.phtml 42
  43. 43. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago FUNDAMENTOS DE PHP  Primeros pasos  Sintaxis  Tipos y variables  Operadores  Estructuras de control  Funciones 43
  44. 44. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ÍNDICE  Introducción  Fundamentos de PHP  Acceso a base de datos  Formularios  Sesiones  Cookies 44
  45. 45. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ÍNDICE  Introducción  Fundamentos de PHP  Acceso a base de datos  Formularios  Sesiones  Cookies 45
  46. 46. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ACCESO A BASE DE DATOS  Introducción  Configuración del servidor de base de datos  Creación de un usuario en la base de datos  Creación de una tabla  Importar un archivo a base de datos 46
  47. 47. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago INTRODUCCIÓN  Php permite al programador tanto relacionarse con algunas de las bases de datos más importantes del mundo de la programación:  PostgreSQL  MySql  Oracle  Adabas  filePro  ODBC  Existen distintas formas de acceso a base de datos, 47
  48. 48. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago MYSQL PHPMYADMIN Accedemos a PHPMyAdmin http://localhost/phpmyadmin 48
  49. 49. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago CREACIÓN DE USUARIO  Creamos un usuario sobre el que trabajar  Privilegios  Agregar a un nuevo usuario  Todos los privilegios de datos y estructura 49
  50. 50. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago CREAR LA BASE DE DATOS  Creamos una base de datos  Asociamos la base de datos al usuario  Creamos tablas 50
  51. 51. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago CREACIÓN DE UNA TABLA  Nos identificamos con el usuario  Seleccionamos la base de datos que se ha creado y sobre la que tenemos todos los privilegios  Creamos una tabla “ejemplo” con dos campos 51
  52. 52. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ESTRUCTURA DE UNA TABLA Completamos y grabamos 52
  53. 53. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago CONEXIÓN BD  Las operaciones abrir/cerrar una conexión a una base de datoscon se realizan con el fin de hacer operaciones como leer/escribir y transmitir los datos en formato html.  Para abrir/cerrar una conexión en MySql tenemos las instrucciones: mysql_connect(host,login,password) mysql_close() 53
  54. 54. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago CONSULTAS mysql_db_query(database,query,ID_database)  búsqueda dentro de la tabla podría hacerse con el siguiente código: <? $db=mysql_connect("localhost","","") or die("Error en la conexión a MySql"); $result=mysql_db_query("base de datos_anuncios","SELECT * FROM Anuncios",$db); mysql_close(); ?> 54
  55. 55. RESULTADO DE LA CONSULTAEstas instrucciones permiten memorizar en la variable$result todos los anuncios que están en la tablaAnuncios.Para escribirlos se necesita primero hacer la operación: $row=mysql_fetch_row($result);y después, la primera línea del resultado estarádisponible en la variable array $row. Para escribir elresultado será necesaria una línea del tipo:print($row[1]."/".$row[2]."/".$row[3]."/".$row[4]."/"); 55
  56. 56. SOBRE EL RESULTADO DE LA CONSULTAPara saber el número de líneas del resultado de unapregunta basta con usar la instrucción: $num_rows=mysql_num_rows($result);Otra operación muy útil es la que devuelve el número decampos en el grupo de resultados de la pregunta que seacaba de hacer: $num=mysql_num_fields($result); 56
  57. 57. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago EJEMPLO BD ANUNCIOS  Insertar  Mostrar  Buscar o Consultar  Borrar 57
  58. 58. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago INSERTAR <? # datos de la base de datos $host="localhost"; $user=""; $pass=""; $db=mysql_connect($host,$user,$pass) or die ("Error durante la conexión a la base de datos"); $sql="INSERT INTO Anuncios (Nombre,Email,Texto) VALUES (".$nombre.",".$email.",".$texto.")"; mysql_db_query("db_anuncios",$sql,$db); mysql_close(); ?> 58
  59. 59. MOSTRAR RESULTADO DE LA CONSULTA<?# datos de la base de datos$host="localhost";$user="";$pass="";$db=mysql_connect($host,$user,$pass)$sql="SELECT * FROM Anuncios";$result=mysql_db_query("db_anuncios",$sql,$db);while ($row=mysql_fetch_array($result) { print(“<b>Nombre</b>: <ahref=""".$row["Email"]."">".$row["Nombre"]."</a><br>"); print(“<b>Texto del anuncio</b>:<br>"); print(htmlentities($row["Texto"])."< br>"); print("<hr size="1">");}mysql_close();?> 59
  60. 60. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago BUSCAR <? # datos base de datos $host="localhost"; $user=""; $pass=""; $db=mysql_connect($host,$user,$pass) or die ("Error durante la conexión al database"); $sql="SELECT * FROM Anuncios where "; $where=""; # poner la condición } $result=mysql_db_query("db_anuncios",$sql.$where,$db); …. # operaciones para mostrar el resultado ?> 60
  61. 61. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ÍNDICE  Introducción  Fundamentos de PHP  Información de usuario  Acceso a base de datos  Formularios  Sesiones  Cookies 61
  62. 62. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago FORMULARIOS 62
  63. 63. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ÍNDICE  Introducción  Fundamentos de PHP  Información de usuario  Acceso a base de datos  Formularios  Sesiones  Cookies 63
  64. 64. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago SESIONES 64
  65. 65. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ÍNDICE  Introducción  Fundamentos de PHP  Información de usuario  Acceso a base de datos  Formularios  Sesiones  Cookies 65
  66. 66. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago COOKIES 66
  67. 67. IES Augustóbriga – 2º SMR – Aplicaciones Web rmonago ÍNDICE  Introducción  Fundamentos de PHP  Información de usuario  Acceso a base de datos  Formularios  Sesiones  Cookies 67

×