Foros del Web » Programando para Internet » PHP »

header: tenemos un problema!

Estas en el tema de header: tenemos un problema! en el foro de PHP en Foros del Web. Hola a tod@s: He buscado en todas partes y no puedo solucionar mi problema con los headers. Tengo el siguiente archivo.php: Código HTML: <?php session_start(); ...
  #1 (permalink)  
Antiguo 19/05/2013, 19:09
 
Fecha de Ingreso: marzo-2003
Ubicación: Catalunya
Mensajes: 265
Antigüedad: 21 años, 7 meses
Puntos: 2
header: tenemos un problema!

Hola a tod@s:

He buscado en todas partes y no puedo solucionar mi problema con los headers.
Tengo el siguiente archivo.php:

Código HTML:
<?php 
session_start(); 



if (empty($_POST["user"]) or empty($_POST["password"]))
{
$_POST['error']=0;
header("Location:indexct.php");
}else{
$nom=$_POST['user'];
$clau=$_POST['password'];

    include("connexio.php");
    $sql = "SELECT * FROM usuaris WHERE usuari = '$nom' and password = '$clau'"; 
    $rec = mysql_query($sql); 
    $count = 0; 
  
    while($row = mysql_fetch_object($rec)) 
    { 
        $count++; 
        $result = $row; 
    } 
  
    if($count == 1) 
    { 
       header("Location:index.php");
    } 
  
    else 
    { 
        echo "No se encuentra";
    } 
Es muy básico. Recibe datos de un formulario y comprueba que los campos estén llenos, de lo contrario redirige a indextc.php.

Bueno, este header funciona. Pero más abajo, en caso de que los datos sean correctos, he puesto una redirección nueva, otro header que me manda a index.php. Pero no funciona.

Mi pregunta: ¿por qué funciona el primer header (el de arriba del código) y no funciona el segundo? Estoy harto de hacer pruebas y no consigo nada.

Agradeceré vuestra ayuda.
__________________
www.armand.cat
  #2 (permalink)  
Antiguo 19/05/2013, 19:25
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: header: tenemos un problema!

Puede que exista un espacio en el include que haces, lee lo siguiente: PHP:¿Por qué me sale "Warning: Cannot modify header information - headers already sent by (output started at 1:2) in 3 on line 4"?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 19/05/2013, 19:29
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 21 años, 3 meses
Puntos: 105
Respuesta: header: tenemos un problema!

Holas,

Pues si no te menciona ningun error lo mas simple es que no cumple la condicion de $count==1, bien el count puede ser dos cosas $count = 0 o bien puede ser mayor que 1 pero ninguno en este caso es igual a 1.

Esto lo puedes comprobar haciendo antes del if($count==1):

Código PHP:
Ver original
  1. die('count: '.$count);
  2. if($count == 1) {
  3.        header("Location:index.php");
  4. }


Saludos,
__________________
.: Gildus :.
  #4 (permalink)  
Antiguo 19/05/2013, 19:40
 
Fecha de Ingreso: mayo-2013
Mensajes: 171
Antigüedad: 11 años, 6 meses
Puntos: 4
Respuesta: header: tenemos un problema!

Cuando dices que no funciona, que error te reporta?

Has probado en cambiar el header por un script?
  #5 (permalink)  
Antiguo 19/05/2013, 20:25
 
Fecha de Ingreso: marzo-2003
Ubicación: Catalunya
Mensajes: 265
Antigüedad: 21 años, 7 meses
Puntos: 2
Respuesta: header: tenemos un problema!

Gracias por vuestras rápidas respuestas. Intentaré matizar más el problema:

Ya leí el contenido que propone pateketrueke y me pregunto, de acuerdo con lo que dice el texto, ¿por qué un header me funciona y el otro no?

Y en lo que apunta gildus, el condicional me funciona perfectamente usando cualquier variable, pero no con el header.

El mensaje de error es:
Warning: Cannot modify header information - headers already sent by (output started at....recursos/connexio.php:22) in /home/a.../recursos/acces.php on line 33

migue_coco, lo que propones es usar javascript?

Gracias a todos por el interés pero estoy hecho un verdadero lío.
__________________
www.armand.cat
  #6 (permalink)  
Antiguo 19/05/2013, 20:30
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: header: tenemos un problema!

Cita:
Iniciado por osiris Ver Mensaje
Ya leí el contenido que propone pateketrueke y me pregunto, de acuerdo con lo que dice el texto, ¿por qué un header me funciona y el otro no?

[...] El mensaje de error es:
Warning: Cannot modify header information - headers already sent by (output started at....recursos/connexio.php:22) in /home/a.../recursos/acces.php on line 33
Sencillo, antes del primer header() no hay espacios ni saltos de linea, no imprimes nada, sencillo como que eso se explica en el enlace, ¿o me equivoco?

Antes del segundo header() tampoco imprimes pero si estás incluyendo un script, si revisas el mensaje de error dice que es en la linea 22 del script connexio.php, y casi sin ver el script me imagino que ese es el final del archivo y podría ser que cerca de aquí exista un ?> de cierrre, ¿o me equivoco?

Si esa es la causa, entonces la solución es simple, elimina el ?> de dicho script y verás que todo funciona, sencillamente después del ?> hay un espacio o salto de linea que parece inofensivo pero ya vemos que si lo es.

Eso se puede leer perfectamente en el manual, te sugiero investigar si tienes mas dudas.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #7 (permalink)  
Antiguo 19/05/2013, 20:47
 
Fecha de Ingreso: marzo-2003
Ubicación: Catalunya
Mensajes: 265
Antigüedad: 21 años, 7 meses
Puntos: 2
Respuesta: header: tenemos un problema!

Gracias pateketrueke. Lo del primer header lo tenía claro, y estaba convencido que el segundo cumplia también las condiciones requeridas.
Voy a meterme una vez más en el lío a ver si lo consigo.
Una vez más gracias por tu ayuda.
__________________
www.armand.cat
  #8 (permalink)  
Antiguo 19/05/2013, 21:01
 
Fecha de Ingreso: marzo-2003
Ubicación: Catalunya
Mensajes: 265
Antigüedad: 21 años, 7 meses
Puntos: 2
Respuesta: header: tenemos un problema!

Hola de nuevo, pateketrueke:

Ok! He seguido tus instrucciones y ya me funciona perfectamente.
Mil gracias.
__________________
www.armand.cat

Etiquetas: formulario, header, mysql, select, sql, tenemos
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 15:55.