Redireccionar a una pagina en php

txuki

alguien sabe como se puede hacer para redireccionar una pagina a otra con el tipico mensajito q dice "hemos cambiado de web " y te redirecciona a otra web o lo tipico de paginas web dnd pones una url q te dice q no existe p.e: www.media-vida.net/urlnoexistente

lo he intentado con la funcion sleep() y header("Location: loquesea") pero si en las misma pagina q se redirecciona pongo html este no se visualiza

lo he conseguido en javasript, pero a mi me interesa en php

willsmith

tendrias k usar unos archivos llamados .htacces o algo asi era, de todos modos algunos servidores de pago no hace falta ya que esta configurado en el apache

LOc0

Usa esto:

< META HTTP-EQUIV="refresh" CONTENT="0; url=http://www.loquesea.com" >

Sin javascript, headers ni historias.

Salu2 ;)

txuki

a bien, gracias!
aunque yo lo q queria saber es si se puede hacer en php, aer si hay alguna funcion o eso, pero bueno da iwal. Si alguien lo sabe q me lo diga.

Whose

Lo que dice LOc0 es lo que debes usar si es pagina .htm, si vas a redireccionar despues de hacer una funcion o hacer algo con php usa la funcion header().

un ej: header("Location: http://www.media-vida.net");

Acuerdate que debajo del header no debe haber mas codigo, ya que el navegador intenta redireccionar a otra pagina pero el script sigue intentando leer codigo y te imprimira un error si lo haces.
Puedes asegurarte de que no te de error poniendo debajo del header un exit;

Tienes mas informacion en:
· http://es2.php.net/manual/es/function.header.php

Saludos!

guner

no se si leeins bien los post, pero si: ha pedido ke sea en php, pero tambien ha dicho que ha provado con la funcion header(), el problema por e que no le sirve, es que header() envía cabeceras que no dejan ver el código.

Una forma de hacerlo "con php" es con un echo de la manera ke ha dicho loco

<?php

echo "< META HTTP-EQUIV=\"refresh\" CONTENT=\"NUMERO DE SEGUNDOS DE RETRASO\"; url=\"http://www.loquesea.com\" >";

incluso puedes definir una variable, x ejemplo $url="http://...";

y entonces ...

echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"NUMERO DE SEGUNDOS DE RETRASO\"; url=\"$url">";

-- entre head y /head : P

y ya en el body....

echo "Hemos cambiado de direccion a: $url";
echo "<br>";

echo "<a href=\"$url\"";> Haz click aquí si no eres redireccionado aut....</a>";

Whose

o_O coño! pues la verdad es que voy empanado hoy, sorry tio :(
Lo que dice guner tb vale xD

PiradoIV

Resumiendo, nos creamos una función:

<?php
&nbsp;&nbsp;&nbsp;&nbsp;function redireccionar($url,$segundos) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if(!$segundos) { $segundos = 0; } // <- Hace que la variable de segundos sea opcional
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;echo '<meta http-equiv="refresh" content="'.$segundos.'; url='.$url.'" />';
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;redireccionar("http://www.piradoiv.com/",3); // A los tres segundos, nos manda a otra web
?>

Saludotes,
Pirado IV estuvo akí ;)

B

es q en php no puedes hacer un temporizador que se ejecute en el cliente pq el php es para servidor.

si quieres temporizador, usa el http refresh ese de html que han puesto arriba.

el redireccionamiento más mejor y más serio, ya q estamos xD, es el q se pone en el .htaccess del servidor. la línea en sí sería algo como:

Redirect permanent /paginantigua.html http://www.tuweb.com/paginactual.html

txuki

Pos muchas gracias ! era justo lo q queria ^^

Usuarios habituales