Foros del Web » Programando para Internet » PHP »

error en funcion header

Estas en el tema de error en funcion header en el foro de PHP en Foros del Web. he pandilla necesito que alguien me explique como direccionar un suario a otra pagina cuando el login sea correcto de lo contrario que se quede ...
  #1 (permalink)  
Antiguo 16/04/2006, 15:47
Avatar de agnelpr  
Fecha de Ingreso: abril-2006
Mensajes: 6
Antigüedad: 18 años
Puntos: 0
Pregunta login para mi sitio

he pandilla necesito que alguien me explique como direccionar un suario a otra pagina cuando el login sea correcto de lo contrario que se quede en la misma pagina.

tengo todo el login hecho con el form enviando todo por el post y el problema esta en direccionar el usuario a la pagina correcta o la incorrecta.

aqui va el codigo para que lo revisen a ver que falta aca.

:neurotico
Gracias de antemano
Salu2$
@У$

codigo
este va dentro de las etiquetas php pero no se las puse ok

function loginforo(){
$usuario = $_POST['usuario'];
$contrasena = $_POST['contrasena'];
$enviar = $_POST['enviar'];
$GLOBALS['MM_Username'] = $usuario;
$loginon = "principal.php";
$loginoff = "index.php";
//consulta
$query = "SELECT nombre, contrasena FROM foro_usuario WHERE nombre like '$usuario' and contrasena like '$contrasena' limit 1";
$rs = mysql_query($query) or die(mysql_error());
$total = mysql_num_rows($rs);
if(isset($enviar))
{
if ($total ==1)
{
echo "Estas Registrado! Bienvenido $usuario";
header("location: $loginon");
}
else
{
echo "Error de Usuario Y/o Contraseña";
header("location: $loginoff");
}
}

}
  #2 (permalink)  
Antiguo 16/04/2006, 16:29
Avatar de agnelpr  
Fecha de Ingreso: abril-2006
Mensajes: 6
Antigüedad: 18 años
Puntos: 0
error en funcion header

necesito que me digan por que me debuelve este error mi sistema de login
en el mensaje anterior publique mi codigo

gracias de antemano
salu2$
@У$

Estas Registrado! Bienvenido agnel
Warning: Cannot modify header information - headers already sent by (output started at
  #3 (permalink)  
Antiguo 16/04/2006, 16:36
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
No puedes usar la funcion header para redireccionar luego de que ya mandaste una salida por pantalla... en este caso "Estas Registrado! Bienvenido agnel". Prueba usandola antes de la salida por pantalla con algun delay... asi me funciono cuando lo necesite.

Saludos!
  #4 (permalink)  
Antiguo 16/04/2006, 19:52
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 7 meses
Puntos: 55
yo no le veo errores, pero te puedo cambiar algunas cosillas para ver si funciona, cambia de "//consulta" hasta el final por este codigo

$res=mysql_query("SELECT * FROM foro_usuario WHERE usuario='$usuario' AND contrasena='$contrasena' LIMIT 1",$conexion)or die("error al buscar usuario".mysql_error());
if(mysql_num_rows($res)>0)[]{
echo "estas registrado";
header("Location: $loginon");
}else{
echo "no estas registrado";
header("Location: $loginoff");
}
esto lo hace un poco mas simple y deberia funcionar sin problemas
saludos espero te sirva
  #5 (permalink)  
Antiguo 17/04/2006, 00:16
Avatar de braulito  
Fecha de Ingreso: abril-2004
Ubicación: Cusco - Perú
Mensajes: 597
Antigüedad: 20 años
Puntos: 8
Resumiendo: usa el header, antes de escribir "Estas Registrado! Bienvenido agnel"
__________________
Braulio Soncco
braulio at buayacorp dot com
Buayacorp - Programación y Diseño
  #6 (permalink)  
Antiguo 17/04/2006, 10:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por agnelpr
necesito que me digan por que me debuelve este error mi sistema de login
en el mensaje anterior publique mi codigo

gracias de antemano
salu2$
@У$

Estas Registrado! Bienvenido agnel
Warning: Cannot modify header information - headers already sent by (output started at
Intenta no hacer referencia de "palabra" a otros mensajes tuyos. O dejas el link aquí .. o mejor continua el hilo de tu mensaje inicial. (de hecho .. procedo a unirlos por si tienes más dudas al respecto).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 17/04/2006, 10:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por braulito
Resumiendo: usa el header, antes de escribir "Estas Registrado! Bienvenido agnel"
Insisto también ..

Cuando uno envia "cabeceras" HTTP al cliente (navegador) no puedes enviar salida al cliente como ese "echo ...." que ahí indicas.

Los mensajes de "error/exito" debes mostrarlos en el script/página que redireccionas. Para eso puedes usar una variable de control tipo:

header ("Location: nose.php?mensaje=1");

Y donde llegas al redireccionar .. procesas "mensaje" y muestras tu mensaje en concordancia.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 18:15.