Foros del Web » Programando para Internet » PHP »

Problema Header Location

Estas en el tema de Problema Header Location en el foro de PHP en Foros del Web. Hola tengo el siguiente problema tengo este archivo que se llama validar_cliente.php, que lo que hace es validarme el cliente que previamente es cargado en ...
  #1 (permalink)  
Antiguo 20/01/2012, 08:56
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Problema Header Location

Hola tengo el siguiente problema tengo este archivo que se llama validar_cliente.php, que lo que hace es validarme el cliente que previamente es cargado en un formulario, y valida si es ADMINISTRADOR, un USUARIO o simplemente es incorrecto lo que se ingreso. La logica me funciona perfecto si yo reemplazo los header(location:) por echo y muestro alguna palabra va barbaro.
Ahora el problema esta cuando le pongo los header(location:) deja de funcionar directamente cuando apreto enviar en el formulario se queda ahi, supuestamente va a validar_cliente.php pero no funcionan los header.
Alguna idea que puede ser??? La verdad me supero intente de todo y solo detecto que el problema es ahi en el header location!

Código PHP:
Ver original
  1. <?php
  2.     //Inicio de session
  3.  
  4.    
  5.     $id = $_POST["id"];
  6.     $usuario=$_POST["usuario"];
  7.     $contrasena=$_POST["contrasena"];
  8.     $info=1;
  9.    
  10.     //Incluyo los datos del server
  11.     include("datosservidor.php");
  12.    
  13.     //Pregunto si es el ADMIN
  14.     $sql6="SELECT usuario, contrasena FROM administrador";
  15.     $registros6=mysql_query($sql6,$link);
  16.     while($r6=mysql_fetch_array($registros6,MYSQL_ASSOC))
  17.     {
  18.         if($r6["usuario"]==$usuario && $r6["contrasena"]==$contrasena) 
  19.         {
  20.             $_SESSION["cliente"]=1;
  21.             header("Location:../html/detalle_obra.php?id=$id");
  22.         }
  23.         else
  24.         {
  25.             $sql7="SELECT usuario, contrasena, id FROM usuarios WHERE id={$id} ";
  26.             $registros7=mysql_query($sql7,$link);
  27.             while($r7=mysql_fetch_array($registros7,MYSQL_ASSOC))
  28.             {
  29.                 if($r7["usuario"]==$usuario && $r7["contrasena"]==$contrasena) 
  30.                 {
  31.                     $_SESSION["cliente"]=1;
  32.                     header("Location:../html/detalle_obra.php?id=$id");
  33.                 }
  34.                 else
  35.                 {
  36.                     header("Location:login_clientes.php?id=$id&info=$info");
  37.                 }
  38.             }
  39.         }
  40.     }
  41.    
  42.  
  43.    
  44.  
  45. ?>
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #2 (permalink)  
Antiguo 20/01/2012, 09:01
Avatar de jotaincubus  
Fecha de Ingreso: mayo-2005
Ubicación: Medellin - Colombia
Mensajes: 1.797
Antigüedad: 19 años
Puntos: 394
Respuesta: Problema Header Location

Si al presionar el BOTON este va a validar pero se queda ahí y sin hacer nada de nada lo mas probable es que las rutas están mal hechas.

Estas completamente seguro de que ../html/detalle_obra.php esta bien definida ?
__________________
Por que existe gente que no agradece después de que se le ha brindado tiempo y ayuda ???
  #3 (permalink)  
Antiguo 20/01/2012, 09:02
Avatar de DragonX
Colaborador
 
Fecha de Ingreso: mayo-2002
Ubicación: Funkyland
Mensajes: 8.433
Antigüedad: 22 años
Puntos: 177
Respuesta: Problema Header Location

Si las rutas son exactas. Eso ya lo descartamos, gracias!
__________________
Desarrollos dosLotos
Calendario Maya, Meditación, Osho
  #4 (permalink)  
Antiguo 20/01/2012, 12:06
Avatar de charlyalegret  
Fecha de Ingreso: septiembre-2011
Ubicación: Barcelona
Mensajes: 705
Antigüedad: 12 años, 7 meses
Puntos: 140
Respuesta: Problema Header Location

-Has probado de poner un exit() después de los header location?
-Tienes activados que se muestren los errores (no sea que tengas el tipico problema de un espacio en blanco, o con la codificación que uses en el editor, que haga que tengas el típico problema de headers already send y no lo veas)
-has probado de poner rutas absolutas?

Saludos!
  #5 (permalink)  
Antiguo 21/01/2012, 00:57
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Respuesta: Problema Header Location

Cuando envias el formulario para procesar que es lo que sucede...

a) se queda en la misma página mostrando el formulario
b) se queda en blanco
c) muestra algún error

Por debugguin agrega esto al comienzo del código, después del <?php

Código PHP:
Ver original
  1. <?php
  2. ini_set ('error_reporting', E_ALL);

y por cierto, tal como te dicen cuando haces un header('location') debes de hacer un exit() si hay mas código
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #6 (permalink)  
Antiguo 07/02/2012, 06:20
 
Fecha de Ingreso: febrero-2012
Mensajes: 1
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Problema Header Location

hola yo tengo el mismo problema tengo este codigo:

if(empty($nombre))
{Header("Location: zona_privada_error.html");
exit();}

$res = comprobar_nombre($nombre);
if($res < 1)
{
Header("Location: zona_privada_error.html");
exit();
}

Se que entra en los bucles porque he hecho miles de millones de pruebas pero no me reconoce ni el header ni el exit. ¿que puedo hacerle?
  #7 (permalink)  
Antiguo 07/02/2012, 06:38
 
Fecha de Ingreso: mayo-2011
Mensajes: 62
Antigüedad: 13 años
Puntos: 2
Respuesta: Problema Header Location

yo tenia entendido que antes de un header location no se puede poner nada? Si no es así me retracto.
Por que no pruebas location.href de javascript
cortas el codigo y pones
...
?>
<script type='text/javascript'>
location.href='mipagina.html';
</script>
<?php
....

saludos
  #8 (permalink)  
Antiguo 07/02/2012, 07:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: Problema Header Location

¿No estás enviando el formulario a la misma página o sí?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: formulario, header, html, location, registro, sql, usuarios
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 04:30.