1 curso php y mysql

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

Upload: diego-rojas

Post on 18-Mar-2016

236 views

Category:

Documents


2 download

DESCRIPTION

Curso de Programacion en php

TRANSCRIPT

Page 1: 1 curso php y mysql

PHP y MySQLYeray Caballero López

Juan Pablo Quesada Nieves

Page 2: 1 curso php y mysql

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

Page 3: 1 curso php y mysql

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

Page 4: 1 curso php y mysql

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

Page 5: 1 curso php y mysql

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

Page 6: 1 curso php y mysql

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: 1 curso php y mysql

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: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 8

Bases del desarrollo webDiálogo entre cliente y servidor

Page 9: 1 curso php y mysql

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

Page 10: 1 curso php y mysql

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

Page 11: 1 curso php y mysql

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

Page 12: 1 curso php y mysql

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

Page 13: 1 curso php y mysql

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)

Page 14: 1 curso php y mysql

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

Page 15: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 15

Fundamentos de PHP

Literales – Variables - ConstantesVariables. Funciones relacionadas con los tipos

Page 16: 1 curso php y mysql

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

Page 17: 1 curso php y mysql

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

Page 18: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 18

Fundamentos de PHP

Literales – Variables - ConstantesVariables predefinidas en PHP

Page 19: 1 curso php y mysql

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

Page 20: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 20

Fundamentos de PHP

OperadoresOperadores aritméticos

Operadores de cadenas – Concatenación

Page 21: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 21

Fundamentos de PHP

OperadoresOperadores de comparación

Operadores lógicos

Page 22: 1 curso php y mysql

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

Page 23: 1 curso php y mysql

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

Page 24: 1 curso php y mysql

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

Page 25: 1 curso php y mysql

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

Page 26: 1 curso php y mysql

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;]}

Page 27: 1 curso php y mysql

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;

Page 28: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 28

Fundamentos de PHP

Estructuras de controldo while

do { sentencias } while (condición);

Page 29: 1 curso php y mysql

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 }

Page 30: 1 curso php y mysql

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

Page 31: 1 curso php y mysql

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

Page 32: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 32

FuncionesFunciones

function nombre_funcion(param1,…paramn) { sentencias [return valor;]

}

Page 33: 1 curso php y mysql

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

Page 34: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 34

FuncionesPaso de parámetros por valor

Paso de parámetros por referencia

Page 35: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 35

FuncionesParámetros ilimitados

Parámetros por defecto

Page 36: 1 curso php y mysql

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

Page 37: 1 curso php y mysql

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") ?>

Page 38: 1 curso php y mysql

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

Page 39: 1 curso php y mysql

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

Page 40: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 40

ArraysCreación e inicialización de arrays

¡ Débilmente tipado !

Operador []

Array vacío!

Page 41: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 41

ArraysCreación e inicialización de arrays

Constructor array

Array vacío!

¡ Débilmente tipado !

Page 42: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 42

ArraysArrays multidimensionales

Page 43: 1 curso php y mysql

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

Page 44: 1 curso php y mysql

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 }

Page 45: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 45

ArraysFunciones relacionadas con los arrays

Page 46: 1 curso php y mysql

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

Page 47: 1 curso php y mysql

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

Page 48: 1 curso php y mysql

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

Page 49: 1 curso php y mysql

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>

Page 50: 1 curso php y mysql

Yeray Caballero López - Juan Pablo Quesada Nieves 50

Formularios

Page 51: 1 curso php y mysql

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

Page 52: 1 curso php y mysql

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

Page 53: 1 curso php y mysql

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

Page 54: 1 curso php y 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);

Page 55: 1 curso php y mysql

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];

Page 56: 1 curso php y mysql

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