Con PHP se puede implementar un pequeño programa que permita que cuando un usuario (navegador) solicita una página, la misma redireccione o otra página.
Para probar el algoritmo implementaremos un formulario que solicite el ingreso por teclado de una dirección de internet.La segunda página redireccionará al sitio web cargado en el formulario. Es decir la segunda página nunca llega al cliente, sino que redirecciona a otra página.
El primer archivo no tiene nada de especial y se trata de HTML puro:
pagina1.html
<html> <head> <title>Problema</title> </head> <body> <form action="pagina2.php" method="post"> Ingrese dirección de sitio web (ej www.google.com): <input type="text" name="direccion" size="30"><br> <input type="submit" value="Redireccionar"> </form> </body> </html>
El segundo archivo "pagina2.php" es el que efectúa la redirección a otra página o sitio:
<?php header("Location: http://$_REQUEST[direccion]"); ?>
La llamada a la función header debe hacerse antes de cualquier salida HTML, sino, no funcionará. Debemos pasarle como parámetro un string con el texto Location y la dirección del sitio y/o página a recuperar.
Copiar el contenido de este cuadro de texto al VS Code y almacenarlo en la carpeta c:\xampp\htdocs con un nombre con extensión php.
luego abrir el navegador (Chrome, FireFox, IExplorer etc.) y en la barra de direcciones tipear:
http://localhost/pagina1.php (o el nombre del
archivo que le dió)
Confeccionar un programa que solicite el ingreso de una clave en un formulario. La segunda página debe verificar si ingresó el string "z80" y mostrar un mensaje de bienvenida, en caso contrario, esta página debe redireccionar a la primera página nuevamente.
Cuando tenemos que redireccionar a una página que está en el mismo sitio, sólo es necesario disponer su nombre:
<?php if ($_REQUEST['direccion']<>"z80") header("Location: pagina1.php"); ?>
Otra cosa interesante que podemos hacer es pasar como parámetro en la segunda página un código de error:
<?php if ($_REQUEST['direccion']<>"z80") header("Location: pagina1.php?error=1"); ?>
Y luego en la primera página mostrar un mensaje de error si es que la página recibe este parámetro:
<?php if (isset($_REQUEST['error'])) echo "Ingreso clave incorrecta"; ?>