Redireccion con PHP (función header Location)

La función header tiene varias funciones, pero lo que hoy nos interesa es el poder redireccionar a otro destino, un uso es por ejemplo las web de acortamiento de URL, reciben la URL acortada (http://by.ly/abc) y luego  lo redireccionan a la URL a la que hace referencia. en mi caso por ejemplo lo uso en algunas páginas que he movido de un sitio a otro, capturo el parámetro de la URL (el ID del tema que quiere ver en la web antigua) y lo redirecciono al nuevo sitio web con su nueva URL.

php-redirect

la sintaxis del header Location es:

<?php
header("Location: http://www.google.com/"); // Redireccionamos a Google
exit(); //terminamos la ejecución del script ya que si redireccionamos ya no nos interesa seguir con el código PHP
?>

Lo que si tienen que tener cuidado es de no enviar ningún texto con ninguna función de salida (echo, print, etc.) ya que las cabeceras se mandan siempre primero, si hay texto enviado previamente te generará un error, por ejemplo en siguiente código te dará error  “Warning: Cannot modify header information” (ver tema)

<html>
<?php
header("Location: http://www.google.com/"); // Error 
exit(); //terminamos la ejecución del script ya que si redireccionamos ya no nos interesa seguir con el código PHP
?>

6 Comentarios para “Redireccion con PHP (función header Location)”

  1. estoy realizando un registro de inscripciones utilizando array por medio de un formulario
    mi problema es que registro al primero con todos sus datos me acepta .
    pero si deseo seguir registrando mas datos y luego para mostrarlo en una tabla mi contador de registros no se me actualiza pa ra cargar en el array de array

  2. Hola bueno mi pregunta es sobre la función header bueno colocando la dirección de la pagina http::/www.google.com/ si me re-direcciona pero cuando coloco por ejemplo myweb.php no me re-direcciona por que puede ser.

  3. una pregunta espero alguien me pueda ayudar, en el header es posible pasar el valor de una variable php…
    $texto= $_GET[‘q’];

    header(«Location: http://www.google.com/search«;

    es posible pasar el valor de $texto a header location, espero me puedan ayudar… de antemano muchas gracias.

    1. Si, solo concaténalo:

      $texto= $_GET[«q»];

      header(“Location: http://www.google.com/search» + $texto);

      solo recuerda que para usar el header no debes haber impreso nada en pantalla previamente.

  4. gracias por el aporte ya quedó….

  5. Hola compañero, me ayudas por favor con otro ejemplo para el siguiente caso: necesito re direccionar a una URL pero necesito que se abra en otra pestaña del navegador y no en el mismo FRONT. Que se puede hacer??

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *