Title: PHP y MySQL
1PHP y MySQL
- Yeray Caballero López
- Juan Pablo Quesada Nieves
2Contenido
- Bloque I
- Bases del desarrollo web
- Fundamentos de PHP
- Qué es PHP
- Literales Variables Constantes
- Operadores
- Estructuras de control
- Funciones
- Arrays
3Contenido
- Bloque II
- Formularios
- Acceso a bases de datos MySQL
- Sesiones y Cookies
- Ficheros
- Programación Orientada a Objetos en PHP
4Contenido
- Bloque I
- Bases del desarrollo web
- Fundamentos de PHP
- Qué es PHP
- Literales Variables Constantes
- Operadores
- Estructuras de control
- Funciones
- Arrays
5Bases 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
6Bases del desarrollo web
- Cliente, navegador como Internet Explorer,
Firefox, Opera, Safari, ... - 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 - Servidor, software responsable de aceptar las
solicitudes HTTP del cliente y de enviarle las
respuestas (HTML, XML) - HTTP, protocolo de transferencia de hipertexto.
- 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) -
7Bases del desarrollo web
- Cookies y sesiones
- 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
8Bases del desarrollo web
- Diálogo entre cliente y servidor
9Bases del desarrollo web
- Modelos de comunicación cliente - servidor
Modelo Síncrono
Modelo Asíncrono (Ajax)
10Contenido
- Bloque I
- Bases del desarrollo web
- Fundamentos de PHP
- Qué es PHP
- Literales Variables Constantes
- Operadores
- Estructuras de control
- Funciones
- Arrays
11Fundamentos de PHPQué es PHP
- Lenguaje script, interpretado y de tipado débil
- Fue escrito por el danés Rasmus Lerdorf en 1994
- Es un lenguaje del lado del servidor
- Originalmente diseñado para producir webs
12Contenido
- Bloque I
- Bases del desarrollo web
- Fundamentos de PHP
- Qué es PHP
- Literales Variables Constantes
- Operadores
- Estructuras de control
- Funciones
- Arrays
13Fundamentos de PHPLiterales Variables -
Constantes
- Literales
- Dos formas de definir los literales comillas
simples y comillas dobles - Las comillas dobles evalúan variables y
expresiones dentro del literal las comillas
simples no - Constantes
14Fundamentos de PHPLiterales Variables -
Constantes
- Variables
- En PHP no es necesario declarar las variables
- Las variables se crean al asignarles un valor
- Todas las variables en PHP empiezan por ''
(productsList, title, connection) - Es case-sensitive (quantity es distinto a
Quantity)
15Fundamentos de PHPLiterales Variables -
Constantes
- Variables. Tipos de datos
- integer, double, string, boolean, array, object
- PHP es un lenguaje de tipado débil
- El tipo de una variable vendrá determinado por el
valor que se le asigne - state 0 // integer
- state Successful // string
- Conversión de tipos explícita
- total_amount (double) quantity
- Ejemplos de variables de distintos tipos
- variable_integer 3
- variable_double 4.5
- variable_boolean true // (true, false)
- array0 value
- array1 23
- person new Person(Raul, López)
- PHP evalúa cualquier valor distinto de cero como
true y cero como falso
16Fundamentos de PHPLiterales Variables -
Constantes
- Variables. Funciones relacionadas con los tipos
17Fundamentos de PHPLiterales Variables -
Constantes
- Variables. Otras funciones
- Las siguientes son funciones útiles, sobre todo,
para comprobar si se enviaron las variables de
formulario
18Fundamentos de PHPLiterales Variables -
Constantes
- Variables. Ámbito
- Global entre scripts
- Global a un script
- Locales
- PHP 5 incluye variables estáticas
- 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
IMPORTANTE limitar el ámbito de las variables
todo lo posible
19Fundamentos de PHPLiterales Variables -
Constantes
- Variables predefinidas en PHP
20Contenido
- Bloque I
- Bases del desarrollo web
- Fundamentos de PHP
- Qué es PHP
- Literales Variables Constantes
- Operadores
- Estructuras de control
- Funciones
- Arrays
21Fundamentos de PHPOperadores
- Operadores aritméticos
- Operadores de cadenas Concatenación
22Fundamentos de PHPOperadores
- Operadores de comparación
- Operadores lógicos
23Fundamentos de PHPOperadores
- Operadores de asignación
- Operador de referencia ()
- Este operador permite obtener la referencia o
dirección de memoria de una variable
24Fundamentos de PHPOperadores
- Operadores de supresión de errores
- Este operador suprimirá el error de manera que no
se muestre por pantalla - El mensaje de error se almacenará en la variable
global php_errormsg
25Contenido
- Bloque I
- Bases del desarrollo web
- Fundamentos de PHP
- Qué es PHP
- Literales Variables Constantes
- Operadores
- Estructuras de control
- Funciones
- Arrays
26Fundamentos de PHPEstructuras de control
- if else , if elseif else
-
- if (condición) sentencias
- if (condición) sentencias else sentencias
- if (condición) sentencias elseif
(condición) sentencias -
- Las llaves son necesarias cuando hay más de una
sentencia
27Fundamentos de PHPEstructuras de control
- switch
- switch (variable)
- case Valor1 ... break
- case Valor2 ... break
- default ... break
-
28Fundamentos de PHPEstructuras de control
- while
- while (condición) sentencia
- while (condición) sentencia1 sentencia2
sentencian - Operadores break y continue
29Fundamentos de PHPEstructuras de control
- do while
-
- do sentencias while (condición)
30Fundamentos de PHPEstructuras de control
- for
- for (var valor_inicial condición var)
sentencia - for (var valor_inicial condición var)
sentencias
31Fundamentos de PHPEstructuras de control
- foreach
- foreach(variable_array as value) sentencia
- foreach(variable_array as value) sentencias
- foreach(variable_array as key gt value)
sentencia - foreach(variable_array as key gt value)
sentencias - El bucle itera sobre la lista devolviendo un
elemento de la lista en cada iteración
32Contenido
- Bloque I
- Bases del desarrollo web
- Fundamentos de PHP
- Qué es PHP
- Literales Variables Constantes
- Operadores
- Estructuras de control
- Funciones
- Arrays
33Funciones
- Funciones
- function nombre_funcion(param1,paramn)
- sentencias
- return valor
-
34Funciones
- Paso de parámetros
- Todos los parámetros son por valor si no se
especifica lo contrario - Para pasar una variable por referencia se
antepone - Se permiten parámetros por defecto (el parámetro
por defecto tiene que estar a la derecha de
cualquier parámetro sin valor) - PHP permite un número ilimitado de parámetros
(ninguna sintaxis especial) -
- func_num_args() devuelve el nº de args pasados
a la función - func_get_arg(int num_arg) devuelve un arg de la
lista - func_get_args() devuelve un array copia de la
lista de args
35Funciones
- Paso de parámetros por valor
Paso de parámetros por referencia
36Funciones
Parámetros por defecto
37Funciones
- return
- La palabra reservada return permite devolver
valores de las funciones - 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 - function returns_reference() return
somerefnewref returns_reference()
38Funciones
- include, require
- Permiten cargar funciones y variables declaradas
en otros scripts (reutilización) - Similares a include de C
- Se pueden incluir en cualquier parte del script
- Ambas tiene la misma funcionalidad, con pequeñas
diferencias - include, si no puede cargar el fichero, no
provocará ningún error - lt? include ("archivo") ?gt
- require, si no puede cargar el fichero, provocará
un error fatal - lt? require("archivo") ?gt
39Contenido
- Bloque I
- Bases del desarrollo web
- Fundamentos de PHP
- Qué es PHP
- Literales Variables Constantes
- Operadores
- Estructuras de control
- Funciones
- Arrays
40Arrays
- Conocidos como matrices o arrays en PHP
- Muy utilizados (estructuras de datos, opciones de
configuración, idiomas) - En PHP existen dos tipos de arrays
- arrays escalares, cuyo índice es un entero
- arrays asociacitos, cuyo índice es una string
Array escalar
Array asociativo
41Arrays
- Creación e inicialización de arrays
Operador
Array vacío!
Débilmente tipado !
42Arrays
- Creación e inicialización de arrays
Constructor array
Array vacío!
Débilmente tipado !
43Arrays
- Arrays multidimensionales
44Arrays
- Recorrido
- for (var valor_inicial condición var)
sentencia - for (var valor_inicial condición var)
sentencias - count(variable_array) devuelve el número de
elementos del array
45Arrays
- Recorrido
- foreach(variable_array as value) sentencia
- foreach(variable_array as value) sentencias
- foreach(variable_array as key gt value)
sentencia - foreach(variable_array as key gt value)
sentencias
46Arrays
- Funciones relacionadas con los arrays
47Contenido
- Bloque II
- Formularios
- Acceso a bases de datos MySQL
- Sesiones y Cookies
- Ficheros
- Programación Orientada a Objetos en PHP
48Formularios
- Formularios HTML
- ltform action methodgt
-
- lt/formgt
- action define el tipo de acción a llevar a cabo
con el formulario. Existen dos posibilidades - el formulario es enviado a una dirección de
correo electrónico - el formulario es enviado a un programa o script
que procesa su contenido - 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
49Formularios
- Elementos de formulario
- ltinput namenombre typetextgt
- ltinput namenombre typepasswordgt
- lttextarea namenombre rowsn_filas
colsn_columnasgtlt/textareagt - ltselect namenombregt
- ltoptiongtopción1lt/optiongt
-
- ltoptiongtopciónnlt/optiongt
- lt/selectgt
- ltinput namenombre typeradio
valuevalorgtTexto - ltinput namenombre typecheckboxgtTexto
50Formularios
- Envío y borrado en formularios HTML
- ltinput type"submit" value"Enviar"gt
- ltinput typereset" valueBorrar"gt
- Ejemplo de formulario
- ltform actionlogin.php methodpost
namelogingt - Usuario ltinput nameuser typetextgt
- Contraseña ltinput namepass
typepasswordgt - ltinput typesubmit valueLogingt
- lt/formgt
51Formularios
52Formularios
- Recepción de las variables de formulario
- _GETvariable
- _POSTvariable
- 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
53Contenido
- Bloque II
- Formularios
- Acceso a bases de datos MySQL
- Sesiones y Cookies
- Ficheros
- Programación Orientada a Objetos en PHP
54Acceso a bases de datos MySQL
- MySQL y phpMyAdmin
- MySQL es un sistema gestor de bases de datos
relacionales multiusuario - phpMyAdmin es una herramienta para la
administración de MySQL
55Acceso a bases de datos MySQL
- Operaciones con MySQL
- Conexión con MySQL
- conexion mysql_connect(host,usuario,pass
word) - Selección de base de datos en MySQL
- mysql_select_db(nombre_de_base_de_datos,
conexion) - Trabajo con tablas
- consulta mysql_query(sentencia_sql,
conexion) -
- registro mysql_fetch_array(consulta)
//mysql_fetch_array() devuelve un
//array asociativo - Cierre de la conexión con MySQL
- mysql_close(conexion)
56Acceso a bases de datos MySQL
- Sentencias básicas SQL
- SELECT (consultas a la base de datos)
- SELECT campo,campo
- FROM tabla,tabla
- WHERE condicion
- INSERT (inserción de registros)
- INSERT INTO tabla (campo,campo)
- VALUES (valor,valor)
- UPDATE (actualización de registros)
- UPDATE tabla
- SET camponuevo_valor_campo
- camponuevo_valor_campo
- WHERE condicion
- DELETE (borrado de registros)
- DELETE FROM tabla
- WHERE condicion
57Contenido
- Bloque II
- Formularios
- Acceso a bases de datos MySQL
- Sesiones y Cookies
- Ficheros
- Programación Orientada a Objetos en PHP