PHP y MySQLYeray Caballero López
Juan Pablo Quesada Nieves
Yeray Caballero López - Juan Pablo Quesada Nieves 2
ContenidoBloque I
Bases del desarrollo web Fundamentos de PHP
Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 3
ContenidoBloque II
Formularios Acceso a bases de datos MySQL Sesiones y Cookies Ficheros Programación Orientada a Objetos en PHP
Yeray Caballero López - Juan Pablo Quesada Nieves 4
ContenidoBloque I
Bases del desarrollo web Fundamentos de PHP
Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 5
Bases del desarrollo webArquitecturaCliente - ServidorCliente: Explorer, FireFox, SafariServidor: Apache, IIS
TecnologíaCliente: CSS, Flash, HTML, JavaScriptServidor: C#, Java, PHP, Phyton
Yeray Caballero López - Juan Pablo Quesada Nieves 6
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)
Bases del desarrollo web
Yeray Caballero López - Juan Pablo Quesada Nieves 7
Bases del desarrollo web
Cookies y sesionesEl 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
Yeray Caballero López - Juan Pablo Quesada Nieves 8
Bases del desarrollo webDiálogo entre cliente y servidor
Yeray Caballero López - Juan Pablo Quesada Nieves 9
ContenidoBloque I
Bases del desarrollo web Fundamentos de PHP
Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 10
Fundamentos de PHP
Qué 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
Yeray Caballero López - Juan Pablo Quesada Nieves 11
ContenidoBloque I
Bases del desarrollo web Fundamentos de PHP
Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 12
Fundamentos de PHP
Literales – Variables - ConstantesLiterales
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
Yeray Caballero López - Juan Pablo Quesada Nieves 13
Fundamentos de PHP
Literales – Variables - ConstantesVariables
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)
Yeray Caballero López - Juan Pablo Quesada Nieves 14
Fundamentos de PHP
Literales – Variables - ConstantesVariables. 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) $array[0] = ‘value’;$array[1] = 23;$person = new Person(‘Raul’, ‘López’);
PHP evalúa cualquier valor distinto de cero como true y cero como falso
Yeray Caballero López - Juan Pablo Quesada Nieves 15
Fundamentos de PHP
Literales – Variables - ConstantesVariables. Funciones relacionadas con los tipos
Yeray Caballero López - Juan Pablo Quesada Nieves 16
Fundamentos de PHP
Literales – Variables - ConstantesVariables. Otras funciones
Las siguientes son funciones útiles, sobre todo, para comprobar si se enviaron las variables de formulario
Yeray Caballero López - Juan Pablo Quesada Nieves 17
Fundamentos de PHP
Literales – Variables - ConstantesVariables. Á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
Yeray Caballero López - Juan Pablo Quesada Nieves 18
Fundamentos de PHP
Literales – Variables - ConstantesVariables predefinidas en PHP
Yeray Caballero López - Juan Pablo Quesada Nieves 19
ContenidoBloque I
Bases del desarrollo web Fundamentos de PHP
Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 20
Fundamentos de PHP
OperadoresOperadores aritméticos
Operadores de cadenas – Concatenación
Yeray Caballero López - Juan Pablo Quesada Nieves 21
Fundamentos de PHP
OperadoresOperadores de comparación
Operadores lógicos
Yeray Caballero López - Juan Pablo Quesada Nieves 22
Fundamentos de PHP
OperadoresOperadores de asignación
Operador de referencia (&) Este operador permite obtener la referencia o dirección de memoria de
una variable
$name1
$name2Bob
Yeray Caballero López - Juan Pablo Quesada Nieves 23
Fundamentos de PHP
OperadoresOperadores 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
Yeray Caballero López - Juan Pablo Quesada Nieves 24
ContenidoBloque I
Bases del desarrollo web Fundamentos de PHP
Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 25
Fundamentos de PHP
Estructuras de controlif … 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
Yeray Caballero López - Juan Pablo Quesada Nieves 26
Fundamentos de PHP
Estructuras de controlswitch
switch ($variable) { case Valor1: ...; break;
case Valor2: ...; break; [default: ...; break;]}
Yeray Caballero López - Juan Pablo Quesada Nieves 27
Fundamentos de PHP
Estructuras de controlwhile
while (condición) sentencia; while (condición) { sentencia1; sentencia2; … sentencian; }
Operadores break y continue;
Yeray Caballero López - Juan Pablo Quesada Nieves 28
Fundamentos de PHP
Estructuras de controldo while
do { sentencias } while (condición);
Yeray Caballero López - Juan Pablo Quesada Nieves 29
Fundamentos de PHP
Estructuras de controlfor
for (var = valor_inicial; condición; var++) sentencia;for (var = valor_inicial; condición; var++) { sentencias }
Yeray Caballero López - Juan Pablo Quesada Nieves 30
Fundamentos de PHP
Estructuras de controlforeach
foreach(variable_array as $value) sentencia;foreach(variable_array as $value) { sentencias }foreach(variable_array as $key => $value) sentencia;foreach(variable_array as $key => $value) { sentencias }
El bucle itera sobre la lista devolviendo un elemento de la lista en cada iteración
Yeray Caballero López - Juan Pablo Quesada Nieves 31
ContenidoBloque I
Bases del desarrollo web Fundamentos de PHP
Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 32
FuncionesFunciones
function nombre_funcion(param1,…paramn) { sentencias [return valor;]
}
Yeray Caballero López - Juan Pablo Quesada Nieves 33
FuncionesPaso 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ónfunc_get_arg(int num_arg): devuelve un arg de la listafunc_get_args(): devuelve un array copia de la lista de args
Yeray Caballero López - Juan Pablo Quesada Nieves 34
FuncionesPaso de parámetros por valor
Paso de parámetros por referencia
Yeray Caballero López - Juan Pablo Quesada Nieves 35
FuncionesParámetros ilimitados
Parámetros por defecto
Yeray Caballero López - Juan Pablo Quesada Nieves 36
Funcionesreturn
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 $someref;}
$newref = & returns_reference();
Yeray Caballero López - Juan Pablo Quesada Nieves 37
Funcionesinclude, 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<? include ("archivo") ?>
– require, si no puede cargar el fichero, provocará un error fatal<? require("archivo") ?>
Yeray Caballero López - Juan Pablo Quesada Nieves 38
ContenidoBloque I
Bases del desarrollo web Fundamentos de PHP
Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 39
Arrays
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
0 21
Ana Juan Pepe
índice
valor
amigos[0] amigos[1] amigos[2]
Junio AgostoJulio
28 29 30
índice
valor
temp[‘Junio’] temp[‘Julio’] temp[‘Agosto’]
Array escalar Array asociativo
Yeray Caballero López - Juan Pablo Quesada Nieves 40
ArraysCreación e inicialización de arrays
¡ Débilmente tipado !
Operador []
Array vacío!
Yeray Caballero López - Juan Pablo Quesada Nieves 41
ArraysCreación e inicialización de arrays
Constructor array
Array vacío!
¡ Débilmente tipado !
Yeray Caballero López - Juan Pablo Quesada Nieves 42
ArraysArrays multidimensionales
Yeray Caballero López - Juan Pablo Quesada Nieves 43
ArraysRecorrido
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
Yeray Caballero López - Juan Pablo Quesada Nieves 44
ArraysRecorrido
foreach(variable_array as $value) sentencia;foreach(variable_array as $value) { sentencias }foreach(variable_array as $key => $value) sentencia;foreach(variable_array as $key => $value) { sentencias }
Yeray Caballero López - Juan Pablo Quesada Nieves 45
ArraysFunciones relacionadas con los arrays
Yeray Caballero López - Juan Pablo Quesada Nieves 46
ContenidoBloque II
Formularios Acceso a bases de datos MySQL Sesiones y Cookies Ficheros Programación Orientada a Objetos en PHP
Yeray Caballero López - Juan Pablo Quesada Nieves 47
FormulariosFormularios HTML
<form action=“” method=“”> …</form>
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
Yeray Caballero López - Juan Pablo Quesada Nieves 48
FormulariosElementos de formulario
<input name=“nombre” type=“text”>
<input name=“nombre” type=“password”>
<textarea name=“nombre” rows=n_filas cols=n_columnas></textarea>
<select name=“nombre”> <option>opción1</option> … <option>opciónn</option></select>
<input name=“nombre” type=“radio” value=“valor”>Texto
<input name=“nombre” type=“checkbox”>Texto
Yeray Caballero López - Juan Pablo Quesada Nieves 49
FormulariosEnvío y borrado en formularios HTML
<input type="submit" value="Enviar">
<input type=“reset" value=“Borrar">
Ejemplo de formulario:
<form action=“login.php” method=“post” name=“login”> Usuario: <input name=“user” type=“text”> Contraseña: <input name=“pass” type=“password”> <input type=“submit” value=“Login”></form>
Yeray Caballero López - Juan Pablo Quesada Nieves 50
Formularios
Yeray Caballero López - Juan Pablo Quesada Nieves 51
FormulariosRecepción de las variables de formulario
$_GET[‘variable’]$_POST[‘variable’]
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
Yeray Caballero López - Juan Pablo Quesada Nieves 52
ContenidoBloque II
Formularios Acceso a bases de datos MySQL Sesiones y Cookies Ficheros Programación Orientada a Objetos en PHP
Yeray Caballero López - Juan Pablo Quesada Nieves 53
Acceso a bases de datos MySQLMySQL y phpMyAdmin
MySQL es un sistema gestor de bases de datos relacionales multiusuario phpMyAdmin es una herramienta para la administración de MySQL
Yeray Caballero López - Juan Pablo Quesada Nieves 54
Acceso a bases de datos MySQLOperaciones con MySQL
Conexión con MySQL:$conexion = mysql_connect(“host”,”usuario”,”password”);
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);
Yeray Caballero López - Juan Pablo Quesada Nieves 55
Acceso a bases de datos MySQLSentencias 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 tablaSET campo=nuevo_valor_campo [campo=nuevo_valor_campo][WHERE condicion];
DELETE (borrado de registros):DELETE FROM tabla[WHERE condicion];
Yeray Caballero López - Juan Pablo Quesada Nieves 56
ContenidoBloque II
Formularios Acceso a bases de datos MySQL Sesiones y Cookies Ficheros Programación Orientada a Objetos en PHP