Desarrollo y servicios web Luisa Fernanda Rincón Pérez 2016-1
2 Sesión 10-11-PHP, Método GET POST-
Qué haremos hoy? Historia Sintaxis 1. PHP 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 PHP/FI Cuál es la historia de PHP? (Personal Home Page/Forms Interpreter) 1996 se crea PHP/FI 2.0 2000 Se lanza PHP4.0 después de 2 años de desarrollo 1995 Rasmus publica el código fuente 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 37 HTTP HTTP INTERNET BROWSER (HTLM) & URL Javascript, ajax, jquery UI, HTML, CSS SERVIDORES Php, Jsp, ASP. Net, Razor.net, rails, etc
Protocolo HTTP Tomado de: http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/http_ Basics.html
HTTP 39 Protocolo sin estado El browser y el servidor lo usan para comunicarse Principales métodos: GET Y POST Usa por defecto el puerto 80
Solicitud HTTP Tomado de: http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/ HTTP_Basics.html
Request line ( forma básica) 41 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.
Request Headers 42 Pares de valores. Ejm request-headername: requestheader-value1. Host: www.ejemplo.com User-Agent: chrome
Ejemplo una petición completa Tomado de: http://www.ntu.edu.sg/home/ehchua/programming/webprogramming/http_basics.html
Respuesta HTTP
45 Response message header HTTP-version status-code reason-phrase HTTP/1.1 200 OK Version Status HTTP/1.1 200 OK HTTP/1.0 404 Not Found HTTP/1.1 403 Forbidden Ejemplo Ejemplos status code Descripción del status code 200 OK 302Found 404Not found 500 Server error
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
49 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?
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í: <form action="http://www.google.com/search">
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