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
?>

Posted

in

by

Comments

6 respuestas a “Redireccion con PHP (función header Location)”

  1. jose Avatar
    jose

    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. Anderson Avatar
    Anderson

    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. programmer Avatar
    programmer

    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. Jhonnyf Avatar
      Jhonnyf

      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. programmer Avatar
    programmer

    gracias por el aporte ya quedó….

  5. Moises Gaytan Avatar
    Moises Gaytan

    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??

Agregue un comentario a Moises Gaytan Cancelar respuesta

Su dirección de correo no se hará público. Los campos requeridos están marcados *