6
PLATAFORMAS OPERATIVAS Paso de datos, GET y POST + Plantillas Prof. Germán Rodríguez – [email protected] 1 PLANTILLAS EN PHP El concepto de plantilla, es un criterio del desarrollo web que propone optimizar la cantidad de documentos HTML que se usan en el desarrollo de un sitio web. A lo largo de la navegación entre los distintos documentos de un sitio web podemos encontrar una estructura básica que se repite a lo largo de la misma. La plantilla propone aprovechar esta estructura en común y sólo modificar el contenido del área del documento que sea diferente. Para esto se utiliza el paso de datos por GET, donde toda la navegación se realizará en un único documento y acorde al valor recibido por la URL se realizará la carga de un documento que sólo contendrá el contenido a mostrar.

Dw03 Ctes Web - 04 - Get Post y Plantillas

Embed Size (px)

DESCRIPTION

fwef wfwef wefwf

Citation preview

  • PLATAFORMAS OPERATIVAS Paso de datos, GET y POST + Plantillas

    Prof. Germn Rodrguez [email protected] 1

    PLANTILLAS EN PHP El concepto de plantilla, es un criterio del desarrollo web que propone optimizar la cantidad de

    documentos HTML que se usan en el desarrollo de un sitio web.

    A lo largo de la navegacin entre los distintos documentos de un sitio web podemos encontrar una

    estructura bsica que se repite a lo largo de la misma.

    La plantilla propone aprovechar esta estructura en comn y slo modificar el contenido del rea del

    documento que sea diferente.

    Para esto se utiliza el paso de datos por GET, donde toda la navegacin se realizar en un nico

    documento y acorde al valor recibido por la URL se realizar la carga de un documento que slo

    contendr el contenido a mostrar.

  • PLATAFORMAS OPERATIVAS Paso de datos, GET y POST + Plantillas

    Prof. Germn Rodrguez [email protected] 2

    PASO DE DATOS El paso de datos de un documento al otro, se puede realizar con cualquier elemento del HTML que

    pueda encerrarse dentro de una etiqueta (un vnculo).

    Los vnculos estn formados en primera instancia por el documento que se quiere acceder, seguido

    por el signo de pregunta (que da lugar al paso de variables por la URL) y luego el juego de variables

    y valores respetando la siguiente sintaxis. Si los datos enviados son ms de uno, se conectan con el

    smbolo ampersand (&).

    Ejemplo de un paso por GET, desde el cdigo HTML.

    http://www.misitio.com/buscar.php?palabra=gato&pagina=3

    Los datos que nos han llegado son los que se encuentran a continuacin del signo de pregunta,

    separados por el smbolo ampersand (&), mediante el juego de pares VARIABLE = VALOR.

    - Sitio: http://www.misitio.com

    - Documento que recibe los datos: buscar.php

    - Nombre de la primera variable recibida: palabra

    - Valor de la primera variable recibida: gato

    - Nombre de la segunda variable recibida: pagina

    - Valor de la segunda variable recibida: 3

    Por lo cual si escribiramos en nuestro PHP el siguiente cdigo:

    Veramos en pantalla: Palabra buscada: gato - Pgina actual: 3

    El siguiente ejemplo muestra cmo hacer un LINK al documento2.php pasando la variable

    variable con el valor ALGO.

    echo "Palabra buscada ".$_GET['palabra']." - Pgina actual ".$_GET['pagina'];

  • PLATAFORMAS OPERATIVAS Paso de datos, GET y POST + Plantillas

    Prof. Germn Rodrguez [email protected] 3

    Como bien se puede ver, no se requiere el uso de PHP para CREAR la etiqueta HTML que enva

    las variables (es simplemente la etiqueta con su atributo href, indicando los datos a

    enviar), pero s es necesario usar PHP para recibir los datos.

    LGICA DEL USO DE PLANTILLAS Para hacer un sitio web que se base en una estructura de plantillas, se debe contar con un rea del

    HTML que carezca de contenido (como un div vaco), en donde se cargar el contenido a mostrar.

    Cada contenido que se puede mostrar en ese sector, tambin ser un documento HTML PHP, que

    tendr como principal caracterstica que NO TENDR los elementos ni

    propios de un sitio web completo.

    Dado que este contenido ya se carga adentro de otro documento HTML, el documento principal ya

    tendr sus respectivos html, head y body.

    Supongamos entonces que tenamos los siguientes documentos PHP.

    pasar variable con el ALGO

  • PLATAFORMAS OPERATIVAS Paso de datos, GET y POST + Plantillas

    Prof. Germn Rodrguez [email protected] 4

    La estructura de ambos documentos es idntica, slo cambiara lo que se muestra adentro del div

    con ID=contenido.

    Para armar una estructura basada en plantillas debemos cambiar cuatro cosas de nuestro sitio web:

    1. Ya no tendremos 3, 5 10 documentos HTML. Tendremos un nico documento de tipo PHP

    que recibir una informacin que represente el contenido a mostrar.

    2. Guardaremos en documentos PHP cada uno de los distintos contenidos que ofreca el div con

    ID=contenido. Estos documentos tendrn la particularidad de slo tener el contenido que

    exista en el div (no estarn las etiquetas ni ).

    3. El men ir al documento PHP y pasar por el mtodo GET una nica variable con un valor

    diferente por cada botn que podamos visitar, ejemplo:

    index.php?seccion=QUE_SECCION_SELECCION

    4. Adentro del div con ID=contenido, deber tener un bloque de cdigo PHP que evale el

    valor de la variable recibida y acorde a cada condicin incluir el documento que slo tiene

    contenido.

    Adaptando el ejemplo anterior a una estructura de plantillas, primero cortaremos todo el contenido

    de ambos div con ID=contenido (dejando la apertura y cierre del div, principalmente como

    referencia estructural). Supongamos que en una subcarpeta llamado secciones guardamos los dos

    archivos, con este contenido:

    El documento principal, ahora tiene el mismo contenido inicial pero con el div id=contenido vaco.

    Vamos a modificar primero el men principal. Todos los tems del men irn al documento index.php

    y pasarn por URL la variable seccin. Acorde al link clickeado pasar un valor diferente.

    De esta manera, TODA la navegacin se realizar en un nico documento.

    Cuando se hace click en un link (cualquiera este sea) se recibe SIEMPRE la variable seccion.

    Principal

    Nosotros

    Contacto

  • PLATAFORMAS OPERATIVAS Paso de datos, GET y POST + Plantillas

    Prof. Germn Rodrguez [email protected] 5

    Si usamos una estructura para tomar decisiones (como if switch), podemos inclur un archivo

    diferente segn el valor recibido. La funcin que hace esto se llama include( ) incluir y recibe entre

    parntesis y comillas la ruta completa para llegar al archivo a cargar: include("carpeta/archivo.php").

    Adentro de nuestro div con id=contenido ahora tendremos un bloque de cdigo PHP con esta

    evaluacin.

    Cada uno de estos casos del switch ser correlativo con cada uno de los valores pasados en el men

    como opcin de la botonera.

    VERIFICAR LOS DATOS Existen dos casos de error en este modelo si se deja as como est.

    En primera instancia: Qu sucede si un usuario prueba suerte y cambia uno de los valores de la URL

    y presiona la tecla enter? Cmo el valor recibido no se corresponder con ninguna de las opciones se

    ver un div vaco, sin ningn contenido.

    Por este motivo, el switch deber tener un bloque default (que se ejecuta cuando ninguna opcin ha

    sido satisfactoria) y en ese bloque se cargar un documento por defecto (casi seguro el documento

    principal, la home).

    Y en segunda instancia: Qu mensaje ver el usuario al cargar la web por primera vez?

    Un mensaje de error diciendo que el ndice "seccion" es indefinido. Porque hasta que el usuario no

    haga click en algn link, an no se ha recibido ninguna variable por URL.

    En este caso nos vemos obligados a preguntar en PHP si existe la variable seccion en la URL antes de

    hacer el switch. PHP no nos permite operar con variables que no existan y mostrar error.

    Eso se hace mediante el uso de la funcin isset() (is set, est seteado).

    La funcin isset() recibe entre los parntesis una variable ( local, o del array de datos $_GET ) y

    devolver verdadero si la misma existe, y devolver falso si la variable no existe en la memoria o no

    existe en la barra de direcciones.

    Si el isset() devuelve verdadero, guardaremos en la variable $seccion el valor recibido por URL.

  • PLATAFORMAS OPERATIVAS Paso de datos, GET y POST + Plantillas

    Prof. Germn Rodrguez [email protected] 6

    Si el isset() devuelve falso, guardaremos en la variable $seccion alguna de las opciones vlidas del

    switch, de forma tal que, al continuar la carga del programa se muestre una seccin vlida.

    Mi sitio web

    Principal

    Nosotros

    Contacto