Story Transcript
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