Ayuda con Redireccion en PHP

Iniciado por Skeletron, 25 Septiembre 2009, 07:06 AM

0 Miembros y 1 Visitante están viendo este tema.

Skeletron

Hola gente..
me dijeron que colocando:
header("Location: http://www.google.com.ar");
En PHP, me redirije a google.com.ar

Es eficiente éste metodo???

Y hay alguna manera de poder a esa web a la que me "dirijo", le mande un valor para que tenga en algun campo de texto?? (uno de Nombre de Usuario)

:ohk<any>

El método si es eficiente.

Si hay una forma, enviando un parámetro via URL asi:

Código (php) [Seleccionar]
$var = index.php?usuario=ejemplo

header("Location: ". $var);
exit;


Puedes hacer lo mismo con tu ejemplo, pero no puedes controlar la forma en que lo procese el sitio que lo reciba a menos que sea tuyo  ;D

saludos
Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.

Skeletron


^Cloud^

Cita de: Skeletron en 25 Septiembre 2009, 19:08 PM
Perfecto..
Muchas Gracias!

¿Qué hace header? A mi no me ha quedado nada claro si es mejor usar esa funcion de php o hacer un refresh en la cabecera de un fichero html o usar mod_rewrite de apache..

Gracias por aclarame las dudas y un saludo,




Ahora resulta que imagino mi pasado
y llevo en esta clínica cuarenta años.
Nunca jamás he pisado la calle
y el electroshock ha sido mi padre

[u]nsigned

MOD_REWRITE no tiene nada que ver con lo que hace header. Este modulo de Apache simplemente nos permite reescribir URL,  se usa generalmente para usar URL's estaticas en lugar de dinammicas, y asi mejorar el SEO de nuestra WEB.

La funcion header de php permite controla la cabecera que enviara dicha pagina al navegador. Se puede usar para varias cosas como definir el mime-type o la codificacion de idioma. Pero usando Location lo que hace es redirigir la pagina a la URL indicada. Seria un analogo del location.href de JS, pero ejecutada en el servidor.

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

^Cloud^

Casi bien pero te falta mirar a fondo la documentación de apache http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html. Mod rewrite también te va a permitir realizar redirecciones. De hecho, se suele utilizar mod_rewrite para realizar redirecciones 301 cuando cambian las urls de las paginas y mantener el page ranking de las paginas antiguas hasta que vuelvan a indexar las nuevas. Cosillas de SEO.

Ahora resulta que imagino mi pasado
y llevo en esta clínica cuarenta años.
Nunca jamás he pisado la calle
y el electroshock ha sido mi padre

[u]nsigned

Cita de: ^Cloud^ en 29 Septiembre 2009, 13:37 PM
Casi bien pero te falta mirar a fondo la documentación de apache http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html. Mod rewrite también te va a permitir realizar redirecciones. De hecho, se suele utilizar mod_rewrite para realizar redirecciones 301 cuando cambian las urls de las paginas y mantener el page ranking de las paginas antiguas hasta que vuelvan a indexar las nuevas. Cosillas de SEO.

Gracias por el dato, ignoraba eso  ;D

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

дٳŦ٭

pues si quieres mandar variables por post te toca curl.


Con sangre andaluza :)


Skeletron

Se me agravió el problema..

Resulta que con PHP no puedo redireccionar en awardspace..
me da éste error:
Warning: Cannot modify header information - headers already sent by (output started at /home/www/miweb.com.ar/indexere.php:5) in /home/www/miweb.com.ar/index.php on line 80

Y les comento que la linea 80 dice:
   header("Location: http://www.otraweb.com/es" . $_SERVER['REQUEST_URI']);


O sea..
Aparentemente, el hosting no me deja manejar esos heraders..
Que me recomiendna entonces para "redireccionar?

[u]nsigned

Eso es porque ya has 'printado' algo en la web.

Por ejemplo:

Código (php) [Seleccionar]
<?php
echo "Texto";
header("Location: http://www.elhacker.net");
?>


Dá este error:
CitarTexto
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\p\header.php:2) in C:\xampp\htdocs\p\header.php on line 3

Deberias buscar donde estas mostrando algo en la pagina antes de usar header y cambiarlo. No se puede usar la funcion header si ya has mostrado algo en la pagina, me explico?

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!