Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

128
Vistas
Redirigir usando JavaScript y PHP

Estoy usando el siguiente código para redirigir a los usuarios.

 <?php $redirect_to = "https://google.com"; $redirect = "https://yahoo.com"; echo "<script>location.href = '".$redirect_to."';</script>"; header("Location: $redirect"); exit(); ?>

Prefiero usar la redirección de javascript, pero en algunos casos, cuando el usuario no tiene javascript habilitado en su navegador, estoy usando la redirección de PHP como redirección de respaldo, pero en algún momento recibo un error de encabezado ya enviado en el código de redirección de php y en algún momento no recibo ese error.

si uso exit() después de redirigir por javascript, no podré redirigir al usuario si tiene javascript deshabilitado en su navegador.

mi pregunta, ¿hay alguna forma de detener el código php si la redirección de javascript fue exitosa? No tengo idea de lo que tengo que hacer para manejar mi situación. Avíseme si algún experto puede ayudarme a resolver el rompecabezas.

¡Gracias!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Bueno, eres un desarrollador web que usa PHP y Javascript.

Una cosa para recordar, el código PHP siempre se ejecuta primero en el servidor. Es un lenguaje del lado del servidor, por lo que no importa cómo organices tus líneas de código, tu código php terminará de ejecutarse. Luego, el código fuente del cliente (HTML, CSS, JavaScript) se envía al navegador y se ejecuta en él (lado del cliente).

Y luego, el trabajo de redirigir siempre está en el lado del cliente, el servidor en realidad no redirige a las personas a otro sitio. Lo que realmente sucede es que su código fuente php genera un comando de redirección que envía al navegador para una redirección. Otra cosa, en php, cualquier trabajo relacionado con la función header() debe ejecutarse antes de que se genere cualquier contenido. Es decir, debe ejecutarse en la parte superior, antes de cualquier método echo, exit, print,... o bloque de contenido.

Al implementar una aplicación php, si ya usa el encabezado ("Ubicación: ...."), entonces no tiene sentido usar directivas de JavaScript, ya que el navegador priorizará el manejo de la redirección en el encabezado primero. ! El código fuente realmente debería ser:

 <?php $redirect = "https://yahoo.com"; header("Location: $redirect"); ?>

Otra forma, si aún prefiere usar redireccionamientos de JavaScript y es compatible con JavaScript deshabilitado, es usar la etiqueta meta[http-equiv="refresh"]. Consulte el siguiente ejemplo:

 <?php $redirect_to = "https://google.com"; ?> <meta http-equiv="refresh" content="5;URL='<?php echo $redirect_to; ?>'" /> <script>location.href = "<?php echo $redirect_to; ?>";</script>

El número 5 aparece en el contenido de la meta especificando la cuenta regresiva (segundos) que el navegador redirigirá cuando la página haya terminado de cargarse. Cuando la página no puede ejecutar javascript, después de 5 segundos, la página se redirigirá.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda