Foros del Web » Programando para Internet » PHP »

Errores en header

Estas en el tema de Errores en header en el foro de PHP en Foros del Web. Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 4 in /home/mascote/public_html/verrecuerdo.php on line 8 Warning: Cannot modify header information - ...
  #1 (permalink)  
Antiguo 29/03/2011, 22:04
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 4 meses
Puntos: 5
Errores en header

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 4 in /home/mascote/public_html/verrecuerdo.php on line 8

Warning: Cannot modify header information - headers already sent by (output started at /home/mascote/public_html/verrecuerdo.php:3) in /home/mascote/public_html/verrecuerdo.php on line 164


linea 8:

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 4 in /home/mascote/public_html/verrecuerdo.php on line 8

el otro lo pude solucionar poniendo session_start(); al principio de TODO el codigo.
Bien estoy teniendo Grandes problemas ya que algunas de las principales funciones de mi web(Redireccionamientos, traida de datos) las hago en el header, en local(intranet) con wamp 2 me funcionaba todo, ahora que la cargue en el servidor(uso ferozo, es un vps) me aparecen todos estos errores, y es como que me obliga a modificar todo el codigo, es decir, sacar todo del header y ubicarlo en otras partes ... Pero tengo otro problema, en una parte de mi web nececito hacer una llamada a header("location ... y no me redirecciona ya que se encuentra en el body, la verdad nunca me paso esto :/
  #2 (permalink)  
Antiguo 29/03/2011, 22:14
Avatar de truman_truman  
Fecha de Ingreso: febrero-2010
Ubicación: /home/user
Mensajes: 1.341
Antigüedad: 14 años, 9 meses
Puntos: 177
Respuesta: Errores en header

Podrias poner el codigo que hay en esas lineas, para verlo.

Tambien podés redireccionar con javascript en cualquier parte del codigo
__________________
la la la
  #3 (permalink)  
Antiguo 29/03/2011, 22:23
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Errores en header

Warning: Cannot modify header information - headers already sent by (output started at /home/mascote/public_html/verrecuerdo.php:3) in /home/mascote/public_html/verrecuerdo.php on line 165

Código PHP:
Ver original
  1. header("location:verrecuerdo.php?mascota=".$var);

El bloque de codigo es correcto, en intranet me funciona perfecto, pero en el servidor me sale ese error, ese es uno, y necesito usar header por si esta desactivado javascript, por seguridad ... sino se reenvia la pagina y los usuarios pueden aumentar votos con f5 u.u
  #4 (permalink)  
Antiguo 29/03/2011, 22:26
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Errores en header

register_globals:
on

Versión actualmente utilizada: 5.2.12

Esos son los datos que me da el vps, la version de php y el register globals, por si las dudas
  #5 (permalink)  
Antiguo 29/03/2011, 22:33
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Errores en header

Warning: Cannot modify header information - headers already sent by (output started at /home/mascote/public_html/recuerdomascota.php:4) in /home/mascote/public_html/recuerdomascota.php on line 309

en la 309 tengo esto, es otro error que tengo xD

Código PHP:
Ver original
  1. header("location:verrecuerdo.php?mascota=".$verurl."");
  #6 (permalink)  
Antiguo 29/03/2011, 23:46
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Errores en header

Cita:
Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 4 in /home/mascote/public_html/verrecuerdo.php on line 8
Esto te esta diciendo que tienes un error al ejecutar mysql_result, seguramente porque la consulta no devolvio resultados.

Entonces, al mostrarse este mensaje de error, automaticamente se envia una salida al navegador y, por tanto, header() no funciona.

Muestra las primeras 10 lineas de verrecuerdo.php y sera mas facil saber porque falla mysql_result().
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 30/03/2011, 00:45
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Errores en header

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 3 in /home/mascote/public_html/verrecuerdo.php on line 6

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 4 in /home/mascote/public_html/verrecuerdo.php on line 8


Código PHP:
Ver original
  1. <?php session_start();?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head><?php
  4. include("conexion.php");
  5. $idnegro = mysql_query('SELECT id FROM usuarios WHERE usuario = "'.$_SESSION['k_username'].'"',$db);
  6. $id = mysql_result($idnegro,0);
  7.   $listanegra = mysql_query('SELECT bloquser FROM listanegra WHERE bloquser = "'.$id.'"',$db);
  8.  $negra = mysql_result($listanegra,0);
  9.  if(!isset($_SESSION['k_username'])){
  10.         $negra = "a";
  11.         }
  12.  
  13.  if($negra == $id){
  14.  header("location:bloqueo.php");
  15.  exit;
  16.         }
  17.    
  18.  ?>


Disculpa la tardanza, me puse a pelear con el codigo xD.
Son los result :S
  #8 (permalink)  
Antiguo 30/03/2011, 01:07
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Errores en header

Efectivamente, el problema es que la consulta de la linea 5 no esta devolviendo resultados, tal vez porque no se ha creado la variable de sesion. Tienes otro tema para tratar esto, ahi te hice una sugerencia que tal vez te sirva.

Pasando a lo otro, resulta que estas enviando contenido al navegador y no puedes (mas bien, no debes) enviar ni un espacio, ni un salto de linea, es decir ABSOLUTAMENTE NADA antes de usar la funcion header().

Todo el codigo para verificar si el usuario esta en lista negra o no, ponlo justo despues de session_start(); y te ahorraras algunos problemas.
__________________
- León, Guanajuato
- GV-Foto
  #9 (permalink)  
Antiguo 30/03/2011, 11:42
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Errores en header

entonces, todo este codigo lo corto y lo pego antes al principio de la pagina?, la sesion existe porque la puedo comprobar mas abajo en el body cuando la piden algunos formularios xd
  #10 (permalink)  
Antiguo 30/03/2011, 11:47
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Errores en header

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 3 in /home/mascote/public_html/verrecuerdo.php on line 4

Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 4 in /home/mascote/public_html/verrecuerdo.php on line 6

El mismo error, creo que es porque los result no devuelven nada, lo extraño es que en intranet(yo usando wamp desde mi pc) siempre me devolvia algo aunque el row sea 0, nose como usar asi el result, intente hacer algo como
$contarresult = mysql_num_rows($consulta);
$result = mysql_result($consulta,$contarresult);
y hi mostrar el result, para que me cuente las lineas.

este metodo lo vi en internet, le decian a todos que cuenten cuanto devuelve ... pero no funciona :/
  #11 (permalink)  
Antiguo 30/03/2011, 12:11
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 15 años, 4 meses
Puntos: 5
Respuesta: Errores en header

Lo pude resolver de la siguente manera:

Código PHP:
Ver original
  1. <?php session_start();
  2. include("conexion.php");
  3.  if(isset($_SESSION['k_username'])){
  4.  
  5.        
  6. $idnegro = mysql_query('SELECT id FROM usuarios WHERE usuario = "'.$_SESSION['k_username'].'"',$db);
  7. $id = mysql_result($idnegro,0);
  8.   $listanegra = mysql_query('SELECT bloquser FROM listanegra WHERE bloquser = "'.$id.'"',$db);
  9.  $contarnegra = mysql_num_rows($listanegra);
  10.  if($contarnegra != 0){
  11.  $negra = mysql_result($listanegra,0);
  12.     }
  13.  
  14.             } else {
  15.             $negra = "a";
  16.             $id = "1";
  17.             }
  18.  if($negra == $id){
  19.  header("location:bloqueo.php");
  20.  exit;
  21.     }

Pero hay un problema, no puedo usar header

Warning: Cannot modify header information - headers already sent by (output started at /home/mascote/public_html/conexion.php:6) in /home/mascote/public_html/verrecuerdo.php on line 19, el la logica fue resuelta, ahora nose como redireccionar, todo esto esta antes de la etiqueta <HTML>
  #12 (permalink)  
Antiguo 30/03/2011, 16:37
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Errores en header

Ok, la logica esta casi resuelta y, digo casi, porque:

P: Que pasa si el usuario no esta en lista negra?
R: mysql_result() te genera un error, enviando datos al navegador y ya no funciona header()

Solucion:
Código PHP:
Ver original
  1. $res = mysql_query('consulta para buscar la id en lista negra');
  2. // Se encontro algun resultado al ejecutar la consulta?
  3. if(mysql_num_rows($res) > 0) {
  4.     // El usuario esta en lista negra
  5.     // No necesitas usar mysql_result
  6.     // Aqui mismo puedes colocar el header() y despues exit; para finalizar la ejecucion del script
  7. }
__________________
- León, Guanajuato
- GV-Foto

Etiquetas: header
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 21:29.