Plantilla:PHP/RedirigiendoPaginas

Funciones para filtrar evitar ataques Xss

 * htmlspecialchars


 * Esta función toma un string y la devuelve convirtiendo los caracteres de los elementos html (etiquetas) para  que éstas (las etiquetas) no sean interpretadas por el navegador


 * strip_tag
 * filter_input con filtros de saneamiento

Redirigiendo páginas
Imagen:pasandoOcultos.png
 * Imaginemos que queremos hacer una página donde pidamos al usuario nombre y password.
 * El password va a ser 12345. Si el password es correcto iremos a otra página en la que le queremos dar la bienvenida con el nombre que introdujo.
 * Pensemos en cómo podemos pasar ese nombre a la página.


 * Analicemos las maneras de hacerlo, pero previamente veamos una función muy interesante.
 * La usaremos en muchas ocasiones, y sirve para invocar a otras páginas en un momento dado
 * header(....);
 * header se usa enviar encabezados HTTP sin formato.
 * Con esta cabecera http, podemos invocar una determinada url que queremos cargar, así que es ahí donde podemos hacer referencia a la página que queremos ver.

http://es.php.net/manual/es/function.header.php
 * Es muy importante saber que header debe ser llamado antes de mostrar nada por pantalla
 * Aquí se puede acceder a la referencia oficial.

header("Location:URL_de_la_página"); header ("Refresh:5; url=URL_de_la_pagina");
 * Por ahora la usaremos de dos maneras para un mismo cometido
 * Cargar una página inmediatamente
 * Cargar una página con un tiempo de demora (por ejemplo para leer un mensaje)
 * Ahora estamos en condiciones de probarlas con el ejemplo anterior.
 * Como siempre recuerdo que es muy importante entender las acciones que se van haciendo.
 * Después de ejecutar la función header con redirección, no tiene sentido que se ejecute el resto del script, por lo que es aconsejable y útil poner la función de finalización de script exist.

Referenciando la propia página
https://juanda.gitbooks.io/webapps/content/spa/arquitectura_de_un_spa.html
 * A veces puede ser que en la propia página tengamos el código que queremos que se ejecute cuando hacemos un click en el botón submit.
 * Esto simplifica el número de páginas que tenemos en nuestro desarrollo.
 * En el desarrollo web, hay una tendencia llamada SPA Simple Page Application
 * Esta sería la forma de conseguirlo desde el desarrollo php.
 * En este caso tenemos la siguiente situación:

o bien poner el nombre del fichero o script, en este caso suponemos index.php.
 * En la imagen vemos una forma de proceder
 * Creamos una página web con un formulario, donde el atributo action tiene como valor el nombre de la página actual. Este valor lo podemos escribir explícitamente o bien usar el valor de $_SERVER['PHP_SELF'] que contiene el  nombre del archivo de script ejecutándose actualmente, relativa al directorio raíz de documentos del servidor.
 * En el caso de index.php se puede poner un punto, por lo que se podría sustituir la etiqueta del form.

{{MRM_Actividad|Haz una página de bienvenida que muestre los datos de usuario y pass al acceder al sistema
 * Se tiene que hacer en una única página

 Nombre 

Password 

 

--> }} }}
 * Formulario de acceso
 * Una vez dado el botón enviar

Pasando información de una página a otra

 * Partimos de dos puntos básicos e importantes:

header (Location:url?variable1=valor&variable2=valor)
 * Cada vez que cargamos una página web, hay una solicitud  ante la cual, el servidor web si se cumplen todas las condiciones, entrega al cliente la página solicitada.
 * En caso de que la página ejecutada tenga código php (extensión del fichero), el servidor web ejecuta dicho código y entrega como parte de la página el resultado de la ejecución.
 * El servidor no tiene en cuenta a quién entrega la página, no sabe si es la primera vez que te entrega la página o la enésima vez que lo hace.
 * Si quiere mantener información entre diferentes páginas, se ha de gestionar por programación.
 * Una manera ya le hemos visto usando la función de cabecera header


 * Usando campos ocultos
 * Otra manera es usando campos ocultos
 * Veamos su funcionamiento
 * Hay situaciones donde queremos recopilar además de la información que el usuario rellena, algún dato más.
 * Supongamos que queremos saber las veces que una página se invoca a sí mismo
 * Cualquiera pensaría en crear una variable, y cada vez que llamemos a la página incrementar en una unidad.


 * Cada vez que llamemos a la página siempre que el usuario se haya identificado vamos a especificar las veces que ha invocado a la página.
 * Para ello necesitamos enviar a la página del servidor la información de las veces que se ha invocado a la página.
 * La idea es que en campo oculto contenga ese valor, el servidor lea este valor, lo incremente y lo vuelva almacenar en el campo oculto.