Curso php y_my_sql

2,809 views

Published on

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,809
On SlideShare
0
From Embeds
0
Number of Embeds
34
Actions
Shares
0
Downloads
382
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Curso php y_my_sql

  1. 1. PHP y MySQL Yeray Caballero López Juan Pablo Quesada Nieves
  2. 2. Contenido <ul><li>Bloque I </li></ul><ul><ul><li>Bases del desarrollo web </li></ul></ul><ul><ul><li>Fundamentos de PHP </li></ul></ul><ul><ul><ul><li>Qué es PHP </li></ul></ul></ul><ul><ul><ul><li>Literales – Variables – Constantes </li></ul></ul></ul><ul><ul><ul><li>Operadores </li></ul></ul></ul><ul><ul><ul><li>Estructuras de control </li></ul></ul></ul><ul><ul><ul><li>Funciones </li></ul></ul></ul><ul><ul><ul><li>Arrays </li></ul></ul></ul>
  3. 3. Contenido <ul><li>Bloque II </li></ul><ul><ul><li>Formularios </li></ul></ul><ul><ul><li>Acceso a bases de datos MySQL </li></ul></ul><ul><ul><li>Sesiones y Cookies </li></ul></ul><ul><ul><li>Ficheros </li></ul></ul><ul><ul><li>Programación Orientada a Objetos en PHP </li></ul></ul>
  4. 4. Contenido <ul><li>Bloque I </li></ul><ul><ul><li>Bases del desarrollo web </li></ul></ul><ul><ul><li>Fundamentos de PHP </li></ul></ul><ul><ul><ul><li>Qué es PHP </li></ul></ul></ul><ul><ul><ul><li>Literales – Variables – Constantes </li></ul></ul></ul><ul><ul><ul><li>Operadores </li></ul></ul></ul><ul><ul><ul><li>Estructuras de control </li></ul></ul></ul><ul><ul><ul><li>Funciones </li></ul></ul></ul><ul><ul><ul><li>Arrays </li></ul></ul></ul>
  5. 5. Bases del desarrollo web Arquitectura Cliente - Servidor Cliente: Explorer, FireFox, Safari Servidor: Apache, IIS Tecnología Cliente: CSS, Flash, HTML, JavaScript Servidor: C#, Java, PHP, Phyton
  6. 6. <ul><li>Cliente , navegador como Internet Explorer , Firefox , Opera , Safari , ... </li></ul><ul><li>Los navegadores interactúan con el servidor a través de protocolos. Estos protocolos definen las reglas de intercambio de información entre el cliente y el servidor </li></ul><ul><li>Servidor , software responsable de aceptar las solicitudes HTTP del cliente y de enviarle las respuestas (HTML, XML) </li></ul><ul><li>HTTP , protocolo de transferencia de hipertexto. </li></ul><ul><li>HTTP es un protocolo sin estado , es decir, que no guarda ninguna información sobre conexiones anteriores. ¿Cómo sabe el servidor si la solicitud la hago yo o la hace otra persona? … (Cookies, Sesiones) </li></ul>Bases del desarrollo web
  7. 7. Bases del desarrollo web <ul><li>Cookies y sesiones </li></ul><ul><li>El protocolo HTTP es incapaz por sí solo de mantener el estado entre dos transacciones. El objetivo de las cookies y las sesiones en el servidor es precisamente identificar las solicitudes de un usuario y distinguirlas del resto </li></ul>
  8. 8. Bases del desarrollo web <ul><li>Diálogo entre cliente y servidor </li></ul>
  9. 9. Bases del desarrollo web <ul><li>Modelos de comunicación cliente - servidor </li></ul>Modelo Síncrono Modelo Asíncrono (Ajax)
  10. 10. Contenido <ul><li>Bloque I </li></ul><ul><ul><li>Bases del desarrollo web </li></ul></ul><ul><ul><li>Fundamentos de PHP </li></ul></ul><ul><ul><ul><li>Qué es PHP </li></ul></ul></ul><ul><ul><ul><li>Literales – Variables – Constantes </li></ul></ul></ul><ul><ul><ul><li>Operadores </li></ul></ul></ul><ul><ul><ul><li>Estructuras de control </li></ul></ul></ul><ul><ul><ul><li>Funciones </li></ul></ul></ul><ul><ul><ul><li>Arrays </li></ul></ul></ul>
  11. 11. Fundamentos de PHP Qué es PHP <ul><ul><li>Lenguaje script, interpretado y de tipado débil </li></ul></ul><ul><ul><li>Fue escrito por el danés Rasmus Lerdorf en 1994 </li></ul></ul><ul><ul><li>Es un lenguaje del lado del servidor </li></ul></ul><ul><ul><li>Originalmente diseñado para producir webs </li></ul></ul>
  12. 12. Contenido <ul><li>Bloque I </li></ul><ul><ul><li>Bases del desarrollo web </li></ul></ul><ul><ul><li>Fundamentos de PHP </li></ul></ul><ul><ul><ul><li>Qué es PHP </li></ul></ul></ul><ul><ul><ul><li>Literales – Variables – Constantes </li></ul></ul></ul><ul><ul><ul><li>Operadores </li></ul></ul></ul><ul><ul><ul><li>Estructuras de control </li></ul></ul></ul><ul><ul><ul><li>Funciones </li></ul></ul></ul><ul><ul><ul><li>Arrays </li></ul></ul></ul>
  13. 13. Fundamentos de PHP Literales – Variables - Constantes <ul><li>Literales </li></ul><ul><ul><li>Dos formas de definir los literales : comillas simples y comillas dobles </li></ul></ul><ul><ul><li>Las comillas dobles evalúan variables y expresiones dentro del literal; las comillas simples no </li></ul></ul><ul><li>Constantes </li></ul>
  14. 14. Fundamentos de PHP Literales – Variables - Constantes <ul><li>Variables </li></ul><ul><ul><li>En PHP no es necesario declarar las variables </li></ul></ul><ul><ul><li>Las variables se crean al asignarles un valor </li></ul></ul><ul><ul><li>Todas las variables en PHP empiezan por ' $ ' ($productsList, $title, $connection) </li></ul></ul><ul><ul><li>Es case-sensitive ($quantity es distinto a $Quantity) </li></ul></ul>
  15. 15. Fundamentos de PHP Literales – Variables - Constantes <ul><li>Variables. Tipos de datos </li></ul><ul><ul><li>integer , double , string , boolean , array , object </li></ul></ul><ul><ul><li>PHP es un lenguaje de tipado débil </li></ul></ul><ul><ul><li>El tipo de una variable vendrá determinado por el valor que se le asigne </li></ul></ul><ul><li>$state = 0; // integer </li></ul><ul><li>$state = “Successful”; // string </li></ul><ul><ul><li>Conversión de tipos explícita </li></ul></ul><ul><ul><ul><li>$total_amount = (double) $quantity </li></ul></ul></ul><ul><ul><li>Ejemplos de variables de distintos tipos : </li></ul></ul><ul><ul><ul><li>$variable_integer = 3; </li></ul></ul></ul><ul><ul><li>$variable_double = 4.5; </li></ul></ul><ul><ul><li>$variable_boolean = true; // (true, false) </li></ul></ul><ul><ul><li>$array[0] = ‘value’; </li></ul></ul><ul><ul><li>$array[1] = 23; </li></ul></ul><ul><ul><li>$person = new Person(‘Raul’, ‘López’); </li></ul></ul><ul><ul><li>PHP evalúa cualquier valor distinto de cero como true y cero como falso </li></ul></ul>
  16. 16. Fundamentos de PHP Literales – Variables - Constantes <ul><li>Variables. Funciones relacionadas con los tipos </li></ul>
  17. 17. Fundamentos de PHP Literales – Variables - Constantes <ul><li>Variables. Otras funciones </li></ul><ul><ul><li>Las siguientes son funciones útiles, sobre todo, para comprobar si se enviaron las variables de formulario </li></ul></ul>
  18. 18. Fundamentos de PHP Literales – Variables - Constantes <ul><li>Variables. Ámbito </li></ul><ul><ul><li>Global entre scripts </li></ul></ul><ul><ul><li>Global a un script </li></ul></ul><ul><ul><li>Locales </li></ul></ul><ul><ul><li>PHP 5 incluye variables estáticas </li></ul></ul><ul><ul><li>Una variable estática existe en el ámbito de un bloque, pero no pierde su valor cuando la ejecución del programa sale de ese ámbito </li></ul></ul>IMPORTANTE limitar el ámbito de las variables todo lo posible
  19. 19. Fundamentos de PHP Literales – Variables - Constantes Variables predefinidas en PHP
  20. 20. Contenido <ul><li>Bloque I </li></ul><ul><ul><li>Bases del desarrollo web </li></ul></ul><ul><ul><li>Fundamentos de PHP </li></ul></ul><ul><ul><ul><li>Qué es PHP </li></ul></ul></ul><ul><ul><ul><li>Literales – Variables – Constantes </li></ul></ul></ul><ul><ul><ul><li>Operadores </li></ul></ul></ul><ul><ul><ul><li>Estructuras de control </li></ul></ul></ul><ul><ul><ul><li>Funciones </li></ul></ul></ul><ul><ul><ul><li>Arrays </li></ul></ul></ul>
  21. 21. Fundamentos de PHP Operadores <ul><li>Operadores aritméticos </li></ul><ul><li>Operadores de cadenas – Concatenación </li></ul>
  22. 22. Fundamentos de PHP Operadores <ul><li>Operadores de comparación </li></ul><ul><li>Operadores lógicos </li></ul>
  23. 23. Fundamentos de PHP Operadores <ul><li>Operadores de asignación </li></ul><ul><li>Operador de referencia (&) </li></ul><ul><ul><li>Este operador permite obtener la referencia o dirección de memoria de una variable </li></ul></ul>$name1 $name2 Bob
  24. 24. Fundamentos de PHP Operadores <ul><li>Operadores de supresión de errores </li></ul><ul><ul><li>Este operador suprimirá el error de manera que no se muestre por pantalla </li></ul></ul><ul><ul><li>El mensaje de error se almacenará en la variable global $php_errormsg </li></ul></ul>
  25. 25. Contenido <ul><li>Bloque I </li></ul><ul><ul><li>Bases del desarrollo web </li></ul></ul><ul><ul><li>Fundamentos de PHP </li></ul></ul><ul><ul><ul><li>Qué es PHP </li></ul></ul></ul><ul><ul><ul><li>Literales – Variables – Constantes </li></ul></ul></ul><ul><ul><ul><li>Operadores </li></ul></ul></ul><ul><ul><ul><li>Estructuras de control </li></ul></ul></ul><ul><ul><ul><li>Funciones </li></ul></ul></ul><ul><ul><ul><li>Arrays </li></ul></ul></ul>
  26. 26. Fundamentos de PHP Estructuras de control <ul><li>if … else …, if … elseif … else </li></ul><ul><li>if (condición) { sentencias } </li></ul><ul><li>if (condición) { sentencias } else { sentencias } </li></ul><ul><li>if (condición) { sentencias } elseif (condición) { sentencias } … </li></ul><ul><ul><li>Las llaves son necesarias cuando hay más de una sentencia </li></ul></ul>
  27. 27. Fundamentos de PHP Estructuras de control <ul><li>switch </li></ul><ul><li>switch ($variable) { </li></ul><ul><li> case Valor1: ...; break; </li></ul><ul><li> case Valor2: ...; break; </li></ul><ul><li> [default: ...; break;] </li></ul><ul><li>} </li></ul>
  28. 28. Fundamentos de PHP Estructuras de control <ul><li>while </li></ul><ul><li>while (condición) sentencia; </li></ul><ul><li>while (condición) { sentencia1; sentencia2; … sentencian; } </li></ul><ul><ul><li>Operadores break y continue ; </li></ul></ul>
  29. 29. Fundamentos de PHP Estructuras de control <ul><li>do while </li></ul><ul><li>do { sentencias } while (condición); </li></ul>
  30. 30. Fundamentos de PHP Estructuras de control <ul><li>for </li></ul><ul><li>for (var = valor_inicial; condición; var++) sentencia; </li></ul><ul><li>for (var = valor_inicial; condición; var++) { sentencias } </li></ul>
  31. 31. Fundamentos de PHP Estructuras de control <ul><li>foreach </li></ul><ul><li>foreach(variable_array as $value) sentencia; </li></ul><ul><li>foreach(variable_array as $value) { sentencias } </li></ul><ul><li>foreach(variable_array as $key => $value) sentencia ; </li></ul><ul><li>foreach(variable_array as $key => $value) { sentencia s } </li></ul><ul><ul><li>El bucle itera sobre la lista devolviendo un elemento de la lista en cada iteración </li></ul></ul>
  32. 32. Contenido <ul><li>Bloque I </li></ul><ul><ul><li>Bases del desarrollo web </li></ul></ul><ul><ul><li>Fundamentos de PHP </li></ul></ul><ul><ul><ul><li>Qué es PHP </li></ul></ul></ul><ul><ul><ul><li>Literales – Variables – Constantes </li></ul></ul></ul><ul><ul><ul><li>Operadores </li></ul></ul></ul><ul><ul><ul><li>Estructuras de control </li></ul></ul></ul><ul><ul><ul><li>Funciones </li></ul></ul></ul><ul><ul><ul><li>Arrays </li></ul></ul></ul>
  33. 33. Funciones <ul><li>Funciones </li></ul><ul><li>function nombre_funcion(param1,…paramn) { </li></ul><ul><li>sentencias </li></ul><ul><li> [return valor;] </li></ul><ul><li>} </li></ul>
  34. 34. Funciones <ul><li>Paso de parámetros </li></ul><ul><ul><li>Todos los parámetros son por valor si no se especifica lo contrario </li></ul></ul><ul><ul><li>Para pasar una variable por referencia se antepone & </li></ul></ul><ul><ul><li>Se permiten parámetros por defecto (el parámetro por defecto tiene que estar a la derecha de cualquier parámetro sin valor) </li></ul></ul><ul><ul><li>PHP permite un número ilimitado de parámetros (ninguna sintaxis especial) </li></ul></ul><ul><ul><li>func_num_args(): devuelve el nº de args pasados a la función </li></ul></ul><ul><ul><li>func_get_arg(int num_arg): devuelve un arg de la lista </li></ul></ul><ul><ul><li>func_get_args(): devuelve un array copia de la lista de args </li></ul></ul>
  35. 35. Funciones <ul><li>Paso de parámetros por valor </li></ul>Paso de parámetros por referencia
  36. 36. Funciones <ul><li>Parámetros ilimitados </li></ul>Parámetros por defecto
  37. 37. Funciones <ul><li>return </li></ul><ul><li>La palabra reservada return permite devolver valores de las funciones </li></ul><ul><li>Si lo que se quiere es devolver una referencia se tiene que usar & tanto en la declaración de la función como en la asignación del valor de retorno a una variable </li></ul><ul><li>function & returns_reference() {     return $someref; } $newref = & returns_reference(); </li></ul>
  38. 38. Funciones <ul><li>include, require </li></ul><ul><li>Permiten cargar funciones y variables declaradas en otros scripts (reutilización) </li></ul><ul><li>Similares a #include de C </li></ul><ul><li>Se pueden incluir en cualquier parte del script </li></ul><ul><li>Ambas tiene la misma funcionalidad, con pequeñas diferencias: </li></ul><ul><ul><li>include , si no puede cargar el fichero, no provocará ningún error </li></ul></ul><ul><ul><li><? include (&quot;archivo&quot;) ?> </li></ul></ul><ul><ul><li>require , si no puede cargar el fichero, provocará un error fatal </li></ul></ul><ul><ul><li><? require(&quot;archivo&quot;) ?> </li></ul></ul>
  39. 39. Contenido <ul><li>Bloque I </li></ul><ul><ul><li>Bases del desarrollo web </li></ul></ul><ul><ul><li>Fundamentos de PHP </li></ul></ul><ul><ul><ul><li>Qué es PHP </li></ul></ul></ul><ul><ul><ul><li>Literales – Variables – Constantes </li></ul></ul></ul><ul><ul><ul><li>Operadores </li></ul></ul></ul><ul><ul><ul><li>Estructuras de control </li></ul></ul></ul><ul><ul><ul><li>Funciones </li></ul></ul></ul><ul><ul><ul><li>Arrays </li></ul></ul></ul>
  40. 40. Arrays <ul><li>Conocidos como matrices o arrays en PHP </li></ul><ul><li>Muy utilizados (estructuras de datos, opciones de configuración, idiomas) </li></ul><ul><li>En PHP existen dos tipos de arrays: </li></ul><ul><ul><li>arrays escalares , cuyo índice es un entero </li></ul></ul><ul><ul><li>arrays asociacitos , cuyo índice es una string </li></ul></ul>Array escalar Array asociativo 0 2 1 Ana Juan Pepe índice valor amigos[0] amigos[1] amigos[2] Junio Agosto Julio 28 29 30 índice valor temp[‘Junio’] temp[‘Julio’] temp[‘Agosto’]
  41. 41. Arrays <ul><li>Creación e inicialización de arrays </li></ul>¡ Débilmente tipado ! Operador [] Array vacío!
  42. 42. Arrays <ul><li>Creación e inicialización de arrays </li></ul>Constructor array Array vacío! ¡ Débilmente tipado !
  43. 43. Arrays <ul><li>Arrays multidimensionales </li></ul>
  44. 44. Arrays <ul><li>Recorrido </li></ul><ul><li>for (var = valor_inicial; condición; var++) sentencia; </li></ul><ul><li>for (var = valor_inicial; condición; var++) { sentencias } </li></ul><ul><ul><li>count(variable_array): devuelve el número de elementos del array </li></ul></ul>
  45. 45. Arrays <ul><li>Recorrido </li></ul><ul><li>foreach(variable_array as $value) sentencia; </li></ul><ul><li>foreach(variable_array as $value) { sentencias } </li></ul><ul><li>foreach(variable_array as $key => $value) sentencia ; </li></ul><ul><li>foreach(variable_array as $key => $value) { sentencia s } </li></ul>
  46. 46. Arrays <ul><li>Funciones relacionadas con los arrays </li></ul>
  47. 47. Contenido <ul><li>Bloque II </li></ul><ul><ul><li>Formularios </li></ul></ul><ul><ul><li>Acceso a bases de datos MySQL </li></ul></ul><ul><ul><li>Sesiones y Cookies </li></ul></ul><ul><ul><li>Ficheros </li></ul></ul><ul><ul><li>Programación Orientada a Objetos en PHP </li></ul></ul>
  48. 48. Formularios <ul><li>Formularios HTML </li></ul><ul><li><form action=“” method=“”> </li></ul><ul><li> … </li></ul><ul><li></form> </li></ul><ul><ul><li>action define el tipo de acción a llevar a cabo con el formulario. Existen dos posibilidades: </li></ul></ul><ul><ul><ul><li>el formulario es enviado a una dirección de correo electrónico </li></ul></ul></ul><ul><ul><ul><li>el formulario es enviado a un programa o script que procesa su contenido </li></ul></ul></ul><ul><ul><li>method se encarga de especificar la forma en la que el formulario es enviado. Los dos valores posibles que puede tomar esta atributo son post y get </li></ul></ul>
  49. 49. Formularios <ul><li>Elementos de formulario </li></ul><ul><li><input name=“nombre” type=“text”> </li></ul><ul><li><input name=“nombre” type=“password”> </li></ul><ul><li><textarea name=“nombre” rows=n_filas cols=n_columnas></textarea> </li></ul><ul><li><select name=“nombre”> </li></ul><ul><li> <option>opción1</option> </li></ul><ul><li> … </li></ul><ul><li> <option>opciónn</option> </li></ul><ul><li></select> </li></ul><ul><li><input name=“nombre” type=“radio” value=“valor”>Texto </li></ul><ul><li><input name=“nombre” type=“checkbox”>Texto </li></ul>
  50. 50. Formularios <ul><li>Envío y borrado en formularios HTML </li></ul><ul><li><input type=&quot;submit&quot; value=&quot;Enviar&quot;> </li></ul><ul><li><input type=“reset&quot; value=“Borrar&quot;> </li></ul><ul><ul><li>Ejemplo de formulario: </li></ul></ul><ul><li><form action=“login.php” method=“post” name=“login”> </li></ul><ul><li> Usuario: <input name=“user” type=“text”> </li></ul><ul><li> Contraseña: <input name=“pass” type=“password”> </li></ul><ul><li> <input type=“submit” value=“Login”> </li></ul><ul><li></form> </li></ul>
  51. 51. Formularios
  52. 52. Formularios <ul><li>Recepción de las variables de formulario </li></ul><ul><li>$_GET[‘variable’] </li></ul><ul><li>$_POST[‘variable’] </li></ul><ul><ul><li>Estos arrays asociativos contienen las variables transferidas de una página a otra a través de un formulario. Dependiendo del método utilizado (get o post) en el formulario, las variables estarán en uno u otro </li></ul></ul>
  53. 53. Contenido <ul><li>Bloque II </li></ul><ul><ul><li>Formularios </li></ul></ul><ul><ul><li>Acceso a bases de datos MySQL </li></ul></ul><ul><ul><li>Sesiones y Cookies </li></ul></ul><ul><ul><li>Ficheros </li></ul></ul><ul><ul><li>Programación Orientada a Objetos en PHP </li></ul></ul>
  54. 54. Acceso a bases de datos MySQL <ul><li>MySQL y phpMyAdmin </li></ul><ul><ul><li>MySQL es un sistema gestor de bases de datos relacionales multiusuario </li></ul></ul><ul><ul><li>phpMyAdmin es una herramienta para la administración de MySQL </li></ul></ul>
  55. 55. Acceso a bases de datos MySQL <ul><li>Operaciones con MySQL </li></ul><ul><ul><li>Conexión con MySQL: </li></ul></ul><ul><li>$conexion = mysql_connect(“host”,”usuario”,”password”); </li></ul><ul><ul><li>Selección de base de datos en MySQL: </li></ul></ul><ul><li>mysql_select_db(“nombre_de_base_de_datos”, $conexion); </li></ul><ul><ul><li>Trabajo con tablas: </li></ul></ul><ul><li>$consulta = mysql_query(“sentencia_sql”, $conexion); </li></ul><ul><li>$registro = mysql_fetch_array($consulta); //mysql_fetch_array() devuelve un //array asociativo </li></ul><ul><ul><li>Cierre de la conexión con MySQL: </li></ul></ul><ul><li>mysql_close($conexion); </li></ul>
  56. 56. Acceso a bases de datos MySQL <ul><li>Sentencias básicas SQL </li></ul><ul><ul><li>SELECT (consultas a la base de datos): </li></ul></ul><ul><li>SELECT * | campo[,campo] </li></ul><ul><li>FROM tabla[,tabla] </li></ul><ul><li>[WHERE condicion]; </li></ul><ul><ul><li>INSERT (inserción de registros): </li></ul></ul><ul><li>INSERT INTO tabla [(campo[,campo])] </li></ul><ul><li>VALUES (valor[,valor]); </li></ul><ul><ul><li>UPDATE (actualización de registros): </li></ul></ul><ul><li>UPDATE tabla </li></ul><ul><li>SET campo=nuevo_valor_campo </li></ul><ul><li> [campo=nuevo_valor_campo] </li></ul><ul><li>[WHERE condicion]; </li></ul><ul><ul><li>DELETE (borrado de registros): </li></ul></ul><ul><li>DELETE FROM tabla </li></ul><ul><li>[WHERE condicion]; </li></ul>
  57. 57. Contenido <ul><li>Bloque II </li></ul><ul><ul><li>Formularios </li></ul></ul><ul><ul><li>Acceso a bases de datos MySQL </li></ul></ul><ul><ul><li>Sesiones y Cookies </li></ul></ul><ul><ul><li>Ficheros </li></ul></ul><ul><ul><li>Programación Orientada a Objetos en PHP </li></ul></ul>

×