Desarrollo y servicios web

Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2016-1 Sesión 10-11-PHP, Método GET – POST- 2 ¿Qué haremos hoy? 1. PHP Historia Sintaxis ...
5 downloads 0 Views 3MB Size
Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2016-1

Sesión 10-11-PHP, Método GET – POST-

2

¿Qué haremos hoy? 1. PHP Historia

Sintaxis

Tipos de datos

Operadores

2. Tipos de solicitudes HTTP

Get

Post

3. Formularios PHP

Introducción al lenguaje de script (PHP)

Lenguajes de script (PHP) PHP es un lenguaje de script del lado del servidor.

Los scripts PHP están incrustados en documentos HTML y el servidor los interpreta y ejecuta antes de servir las páginas al cliente El cliente no ve el código PHP sino los resultados que produce

HTML ¿cómo funciona?

PHP ¿Cómo funciona?

PHP ¿Cómo Funciona?

Extensión de archivos .php

1994 Rasmus Lerdorf crea ¿Cuál es PHP/FI

la historia de PHP?

(Personal Home Page/Forms Interpreter)

1996 se crea PHP/FI 2.0

1995 Rasmus publica el código fuente

2000 Se lanza PHP4.0 después de 2 años de desarrollo

1997 Rasmus junto con Andi Gutmans y Zeev Suraski, empiezan a trabajar en PHP 3.0 (Hypertext Preprocessor)

2004 Se lanza PHP 5

¿Cuál es la sintaxis?

• Una variable no necesita ser declarada antes de añadir un valor a la misma. PHP automáticamente convierte la variable del tipo de datos correcto, en función de su valor. • Después de declarar una variable puede ser reutilizada en todo el código. • El operador de asignación (=)seutiliza para asignar valor a una variable

¿Cómo se nombran las variables?

Convenciones de Nombramiento $, letras, no números, _

¿Cómo se nombran las constantes?

¿Qué tipos de datos existen?

Enteros

¿Qué tipos de datos existen?

Diferencias “ y ‘

Strings

strlen(), str_word_count(), strl_replace()

¿Qué tipos de datos existen?

Flotantes

¿Qué tipos de datos existen?

Boolean

¿Qué tipos de datos existen?

Objetos

¿Qué tipos de datos existen?

NULL

¿Qué tipos de datos existen?

Resource

¿Cómo se imprimen datos? echo Muestra cualquier cosa que pueda ser interpretada por el browser. Hace parte del lenguaje, por eso puede usarse con o sin paréntesis.

¿Cómo se imprimen datos? print Muestra cualquier cosa que pueda ser interpretada por el browser. Hace parte del lenguaje, por eso puede usarse con o sin paréntesis. Retorna 1. Es más lento que echo

¿Cuáles son los operadores booleanos de php?

¿Cuáles son los operadores de preincremento y postincremento?

¿Cuáles son los operadores lógicos?

¿Cuáles son los operadores de concatenación de cadenas?

¿Cuáles son los operadores de los arrays?

Arrays

• Un array en PHP es un mapa ordenado, el mapa es un tipo de dato que asocia valores con claves.

Arrays

Arrays

¿Cuáles son los operadores de los arrays?

¿Cuáles son las operaciones para hacer ciclos? While, for, do while, foreach

¿Cómo se procesan formularios en PHP?

Isset • Esta función determina si una variable esta definida y no es NULL. • Parámetro: Variable. • Salida: True si la variable es definida y no es NULL, false de lo contrario.

Ejemplo de isset

Protocolo HTTP

Componentes básicos de la web

HTTP HTTP INTERNET

BROWSER (HTLM) & URL Javascript, ajax, jquery UI, HTML, CSS

SERVIDORES

Php, Jsp, ASP. Net, Razor.net, rails, etc

37

Protocolo HTTP

Tomado de: http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_ Basics.html

HTTP

Protocolo sin estado

El browser y el servidor lo usan para comunicarse

Principales métodos: GET Y POST

Usa por defecto el puerto 80

39

Solicitud HTTP

Tomado de: http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/ HTTP_Basics.html

Request line ( forma básica)

GET /foo HTTP/1.1 request-method-name request-URI HTTP-version

Método Path: ruta Versión GET /test.html HTTP/1.1 POST /index.html HTTP/1.1

Ejemplos

GET POST PUT DELETE …. 41

Request Headers Pares de valores. Ejm request-headername: requestheader-value1.

Host: www.ejemplo.com User-Agent: chrome 42

Ejemplo una petición completa

Tomado de: http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/HTTP_Basics.html

Respuesta HTTP

Response message header HTTP-version status-code reason-phrase HTTP/1.1 200 OK HTTP/1.1 200 OK HTTP/1.0 404 Not Found Version HTTP/1.1 403 Forbidden Ejemplo Status Descripción del status code

Ejemplos status code

200 OK 302Found 404Not found 500 Server error 45

Ejemplos status code

Response headers Pares de valores. Ejm request-headername: requestheader-value1.

Ejemplo

Ejemplo respuesta http

http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/ HTTP_Basics.html

Ejemplo solicitud http

Hacer la solicitud a la página web del w3school • ¿Cuál fue el código de respuesta? • ¿Se pueden identificar los encabezados de la respuesta? • ¿Qué salió en el cuerpo del mensaje?

49

Ver solicitudes / respuestas desde el navegador

Herramientas del desarrollador - “Network”

Tipos de solicitudes HTTP

GET/POST GET -Envía parámetros por URL -Limite de 100 caracteres en URL -Cache -Consultar información del servidor ( archivo u otro recurso) -Sólo se permiten caracteres ASCII -Botón atrás ( no pasa nada) -Es el método por defecto

POST

-Enviar información desde el cliente para que sea procesada y actualice o agregue información en el servidor. -No límite de caracteres -No cache -No hay restricciones de tipos de caracteres -Botón atrás. Los datos se reenvían. Se debe advertir al usuario

GET/POST GET - Solicitar una página diferente - Las llamadas GET pueden ser cacheadas (historial del navegador), indexadas por buscadores, o guardar URL para ingresar directamente a alguna página. - Generalmente en links, pero no aplica siempre

POST

- Actualizar o insertar información en mi base de datos - Ejm: formularios - Generalmente en formularios

Ejemplos GET/POST Administrador de noticias: listado de las noticias con un link “eliminar” para borrarlas una por una. MODIFICAR BD. Método POST para no permitir por seguridad, que esa URL creada sea indexada, enviada a otra persona, guardada en favoritos, ni mucho menos ejecutada por culpa del botón atrás del navegador ya que quedaría cacheada en el historial.

Ejemplos GET/POST

Formularios de búsquedas

Método GET para permitir que funcione el botón atrás en la búsqueda y se puedan volver a cargar los datos

Probemos … Escribir el siguiente código html y ver qué ocurre

Formularios en html Practicar Modificar el texto del input y adicionar el parámetro action al formulario así:

Formularios en html Practicar ¿Qué pasa cuando ingreso una URL y doy clic en enviar?

Formularios en html Practicar ¿Qué pasa si en el formulario anterior adiciono method=“post”?

Práctica ver petición HTTP con POST

Petición GET

Código para práctica con POST procesar.php

formulario.html

Ejemplo procesar.php para el get

Referencias

• http://www.tutorialrepublic.com/phptutorial/php-variables-andconstants.php • https://www.hscripts.com/tutorials/php