Curso php y_my_sql

57
PHP y MySQL Yeray Caballero López Juan Pablo Quesada Nieves

description

 

Transcript of Curso php y_my_sql

Page 1: Curso php y_my_sql

PHP y MySQLYeray Caballero López

Juan Pablo Quesada Nieves

Page 2: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 2

Contenido

Bloque I

Bases del desarrollo web Fundamentos de PHP

Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays

Page 3: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 3

Contenido

Bloque II

Formularios Acceso a bases de datos MySQL Sesiones y Cookies Ficheros Programación Orientada a Objetos en PHP

Page 4: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 4

Contenido

Bloque I

Bases del desarrollo web Fundamentos de PHP

Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays

Page 5: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 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

Page 6: Curso php y_my_sql

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

Page 7: Curso php y_my_sql

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

Page 8: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 8

Bases del desarrollo web

Diálogo entre cliente y servidor

Page 9: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 9

Bases del desarrollo web

Modelos de comunicación cliente - servidor

Modelo Síncrono

Modelo Asíncrono (Ajax)

Page 10: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 10

Contenido

Bloque I

Bases del desarrollo web Fundamentos de PHP

Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays

Page 11: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 11

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

Page 12: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 12

Contenido

Bloque I

Bases del desarrollo web Fundamentos de PHP

Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays

Page 13: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 13

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

Page 14: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 14

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)

Page 15: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 15

Fundamentos de PHP

Literales – 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) $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

Page 16: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 16

Fundamentos de PHP

Literales – Variables - Constantes

Variables. Funciones relacionadas con los tipos

Page 17: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 17

Fundamentos de PHP

Literales – Variables - Constantes

Variables. Otras funciones Las siguientes son funciones útiles, sobre todo, para comprobar si se

enviaron las variables de formulario

Page 18: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 18

Fundamentos de PHP

Literales – 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

Page 19: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 19

Fundamentos de PHP

Literales – Variables - Constantes

Variables predefinidas en PHP

Page 20: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 20

Contenido

Bloque I

Bases del desarrollo web Fundamentos de PHP

Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays

Page 21: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 21

Fundamentos de PHP

OperadoresOperadores aritméticos

Operadores de cadenas – Concatenación

Page 22: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 22

Fundamentos de PHP

OperadoresOperadores de comparación

Operadores lógicos

Page 23: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 23

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

Page 24: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 24

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

Page 25: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 25

Contenido

Bloque I

Bases del desarrollo web Fundamentos de PHP

Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays

Page 26: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 26

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

Page 27: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 27

Fundamentos de PHP

Estructuras de controlswitch

switch ($variable) {

case Valor1: ...; break; case Valor2: ...; break; [default: ...; break;]

}

Page 28: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 28

Fundamentos de PHP

Estructuras de controlwhile

while (condición) sentencia;

while (condición) { sentencia1; sentencia2; … sentencian; }

Operadores break y continue;

Page 29: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 29

Fundamentos de PHP

Estructuras de controldo while

do { sentencias } while (condición);

Page 30: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 30

Fundamentos de PHP

Estructuras de controlfor

for (var = valor_inicial; condición; var++) sentencia;

for (var = valor_inicial; condición; var++) { sentencias }

Page 31: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 31

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

Page 32: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 32

Contenido

Bloque I

Bases del desarrollo web Fundamentos de PHP

Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays

Page 33: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 33

Funciones

Funciones

function nombre_funcion(param1,…paramn) {

sentencias [return valor;]

}

Page 34: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 34

Funciones

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ónfunc_get_arg(int num_arg): devuelve un arg de la listafunc_get_args(): devuelve un array copia de la lista de args

Page 35: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 35

Funciones

Paso de parámetros por valor

Paso de parámetros por referencia

Page 36: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 36

Funciones

Parámetros ilimitados

Parámetros por defecto

Page 37: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 37

Funciones

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 $someref;}

$newref = & returns_reference();

Page 38: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 38

Funciones

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<? include ("archivo") ?>

– require, si no puede cargar el fichero, provocará un error fatal<? require("archivo") ?>

Page 39: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 39

Contenido

Bloque I

Bases del desarrollo web Fundamentos de PHP

Qué es PHP Literales – Variables – Constantes Operadores Estructuras de control Funciones Arrays

Page 40: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 40

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

Page 41: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 41

Arrays

Creación e inicialización de arrays

¡ Débilmente tipado !

Operador []

Array vacío!

Page 42: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 42

Arrays

Creación e inicialización de arrays

Constructor array

Array vacío!

¡ Débilmente tipado !

Page 43: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 43

Arrays

Arrays multidimensionales

Page 44: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 44

Arrays

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

Page 45: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 45

Arrays

Recorrido

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 }

Page 46: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 46

Arrays

Funciones relacionadas con los arrays

Page 47: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 47

Contenido

Bloque II

Formularios Acceso a bases de datos MySQL Sesiones y Cookies Ficheros Programación Orientada a Objetos en PHP

Page 48: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 48

Formularios

Formularios 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

Page 49: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 49

Formularios

Elementos 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

Page 50: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 50

Formularios

Enví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>

Page 51: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 51

Formularios

Page 52: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 52

Formularios

Recepció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

Page 53: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 53

Contenido

Bloque II

Formularios Acceso a bases de datos MySQL Sesiones y Cookies Ficheros Programación Orientada a Objetos en PHP

Page 54: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 54

Acceso 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

Page 55: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 55

Acceso a bases de datos MySQL

Operaciones 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);

Page 56: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 56

Acceso 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 tablaSET campo=nuevo_valor_campo [campo=nuevo_valor_campo][WHERE condicion];

DELETE (borrado de registros):DELETE FROM tabla[WHERE condicion];

Page 57: Curso php y_my_sql

Yeray Caballero López - Juan Pablo Quesada Nieves 57

Contenido

Bloque II

Formularios Acceso a bases de datos MySQL Sesiones y Cookies Ficheros Programación Orientada a Objetos en PHP