Foros del Web » Programando para Internet » PHP »

problemilla al redireccionar

Estas en el tema de problemilla al redireccionar en el foro de PHP en Foros del Web. Buenas!! soy novatillo con php y me encontrao con un problemilla que no consigo solucionar, y ya no sabia donde recurrir :s he estado buscando ...
  #1 (permalink)  
Antiguo 06/04/2009, 13:36
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 10 años, 8 meses
Puntos: 0
problemilla al redireccionar

Buenas!!

soy novatillo con php y me encontrao con un problemilla que no consigo solucionar, y ya no sabia donde recurrir :s

he estado buscando por foros y paginas y no consigo solucionarlo :S

os explico.


estoy intentando hacer que un usuario una vez logueado, le redireccione a otra parte de la web, este es el codigo que tengo:

Cita:
if ($data['password']!=$pass){

echo "contraseña incorrecta";
}else{
echo "loguin correcto";
$_SESSION["s_username"] = $nick;
header('refresh:2; url='.$ruta_web.'usuarios/index?loguin=3'); <-Esta linea me la marca en el error
}
algo bastante simple, pero me encuentro todo el rato con el error siguiente:
Warning: Cannot modify header information - headers already sent by....

no tengo ningun caracter de mas, ni caracteres raros, he probado a abrirlo con un editor hexadecimal y no veo nada anormal.

el error me hace referencia al siguiente codigo que tengo en otra pagina, que seria este: (es un archivo que lo tengo incluido con include, en el cual se encuentran los datos de la cabecera de la web).

Cita:
<?php
session_start();
$nick=$_SESSION['s_username'];
$ruta_web="ruta_web"; //ruta de la web
echo "<html>";<-Esta linea me la marca en el error
echo "<head>";
echo "<title>titulo de la web</title>";
echo "<link href='".$ruta_web."default.css' rel='stylesheet' type='text/css' media='screen' />";
echo "</head>";
echo "<body>";
....
alguno igual lo ve evidente pero esque no se que hacer.
simplemente queria redireccionar pero no hay manera :S
y aun borrando estas lineas estoy en las mismas, aunque se descoloca toda la web, sigue el dichoso error.

Alguien me puede ayudar por favor? o aunque sea guiarme un pelin :s

gracias de antemano :)
  #2 (permalink)  
Antiguo 06/04/2009, 13:43
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.712
Antigüedad: 14 años, 7 meses
Puntos: 836
Respuesta: problemilla al redireccionar

No puede haber ningún echo, printf, ni ningún otro tipo de salida al agente de usuario antes de llamar a header().
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 06/04/2009, 13:45
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 14 años, 3 meses
Puntos: 55
Respuesta: problemilla al redireccionar

ademas ese contenido de header q esas usando es una etiqueta html no un header!
__________________
Degiovanni Emilio
developtus.com
  #4 (permalink)  
Antiguo 06/04/2009, 14:54
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: problemilla al redireccionar

buenas!
gracias por contestar tan rapido :)


pues he probao a quitarle los echo antes de postear aqui y seguia igual.
de hecho ya comente que borre las lineas de <head> y aun asi marcaba el error.


tambien he probao a poner header.. antes de los echo y me sigue haciendo lo mismo
  #5 (permalink)  
Antiguo 06/04/2009, 15:24
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 14 años, 5 meses
Puntos: 23
Respuesta: problemilla al redireccionar

Hacé una cosa, para evitarte disgustos y salir del paso, involucrá el javascript dentro del php.

En vez del header, cambialo por:

Cita:
echo "<script language='javascript'>location.href='$ruta_web/usuarios/index?loguin=3';</script>";
Fijate con probar algo así, te debería funcionar de todas formas.
Y el error que te tira anteriormente, es por ese motivo, porque estás declarando un echo antes de la redirección y si bien lees la funcion del header, no se permite códigos posicionados antes de la funcion header.
__________________
Freelance - Aplicaciones Web
  #6 (permalink)  
Antiguo 07/04/2009, 11:00
 
Fecha de Ingreso: abril-2009
Mensajes: 8
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: problemilla al redireccionar

Buenas!

con javascript funciona a la perfeccion :)

pero con header no entiendo porque no, ya comente que aunque no ponga header en la cabecera ni html ni nada por el estilo me hacia lo mismo, mire por internet y vi que podia ser por la codificacion de caracteres, espacios... pero no tengo nada de eso.

hice un modulo en su dia en php-nuke y no me daba ningun problema, no entiendo porque hay si pero bueno.


gracias por la ayuda :)
  #7 (permalink)  
Antiguo 07/04/2009, 11:12
Avatar de JairLizcano  
Fecha de Ingreso: junio-2008
Ubicación: Santander, Colombia
Mensajes: 608
Antigüedad: 11 años, 6 meses
Puntos: 53
Exclamación Respuesta: problemilla al redireccionar

Código PHP:
header('Location: ../index.php?variable=1'); 
Con ello podrias una vez un hecho exitoso cambiar de cabecera y enviar un valor verdadero.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:48.