Nuevas NORMAS para el foro

Curso Hacker
Bienvenido(a), Visitante. Favor de ingresar o registrarse.
¿Perdiste tu email de activación? - ſeptiembre 07, 2008, 02:55:05
Boton Buscar
Inicio Ayuda Ingresar Registrarse
Visita: Articulos - Juegos Gratis - Da Foros

Comunidad Underground Hispana  |  Programacion  |  Programacion para webmasters  |  Php (Moderador: SaTeLuCo)  |  Tema: error header location 0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: error header location  (Leído 136 veces)
mxsoun
Miembro
*****
Desconectado Desconectado

Mensajes: 34


Ver Perfil
« en: Mayo 03, 2008, 10:52:38 »

tengo dos archivos para editar nombres en la db

uno llamado a.php y otro b.php

pero yo lo quiero editar desde el index   


si desde a.php envio los datos a b.php  se modifica


pero si lo hago desde

index.php?id=edit

al pasar a


index.php?id=todoeditado

hay sale el error

me marca esto

Warning: Cannot modify header information - headers already sent by (output started at /home/www/localhost/index.php:Cool in /home/www/localhost/b.php on line 18


en esa linea se encuentra


header("location: index.php?id=a?seedito=si") ;

tengo un problema de variable o por que me sale ese error ?
En línea
ЯoNnyLdInHo™
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1493


Ver Perfil WWW Email
« Respuesta #1 en: Mayo 04, 2008, 12:29:12 »

Es muy facil compañero, mira te voy a copiar lo que el compañero Sateluco le explico a un usuario que tenia el mismo problema..

Sateluco:
Cuando tu abres una conexion con un servidor apache ya sea desde tu navegador o cualquier otro medio que utilizes, lo primero que pasa es que tu envias una peticion con encabezados, ya sea post o get, despues el servidor te responde primero con encabezados y ya despues con el texto o contenido de lo que solicitaste, lo que pasa es que primero revisan los headers para ver si no hay postdata, cookies, alguna sesion etc...


En Crisitiano......  Grin  Grin

No puedes poner contenido HTML, antes de la funcion header(); esto aplica tambien a funciones tales como session_register(); y set_cookie(); ya que son funciones que necesitan de POST-DATA, o de cache.

Recomendacion

Quita todo el codigo HTML, o utiliza JavaScript (<script language="JavaScript">window.location.href= "nombre_de_la_pag.php"</script>) o que utilices los META Tags (<meta http-equiv="Refresh" content="1; url= nombre_de_la_pag.php" />).

Si tienes dudas postea!!
En línea

mxsoun
Miembro
*****
Desconectado Desconectado

Mensajes: 34


Ver Perfil
« Respuesta #2 en: Mayo 05, 2008, 12:31:04 »

aver si entendi debo de colocar entonces

<script language="JavaScript">window.location.href= "index.php?di=edit?seedito=si"</script>

??

por que si me manda a index.php?di=edit y tambien me aparese seedito=si pero no modifica nada !
En línea
ЯoNnyLdInHo™
Gran Colaborador
*****
Desconectado Desconectado

Mensajes: 1493


Ver Perfil WWW Email
« Respuesta #3 en: Mayo 05, 2008, 01:44:53 »

Es porque el script de Java Script lo único que hace es redireccionar.

Debes poner el código PHP, antes de que redirecciones, si escribes primero el JavaScript, entonces el navegador redireccionaará a la página que pides y se olvida del resto del código.
Por lo tanto te recomiendo que escribas las funciones y demas entes de que redirecciones la pag con un JavaScript o un meta tag...

Saludos!
En línea

SaTeLuCo
Moderadores
Colaborador
*****
Desconectado Desconectado

Mensajes: 495


Ver Perfil WWW
« Respuesta #4 en: Mayo 07, 2008, 09:11:58 »

headers_sent() devuelve true o false

tal y como viene en la referencia de PHP

Código:
<?php// If no headers are sent, send one
if (!headers_sent()) {
    
header('Location: http://www.example.com/');
    exit;
}
// An example using the optional file and line parameters, as of PHP 4.3.0
// Note that $filename and $linenum are passed in for later use.
// Do not assign them values beforehand.
if (!headers_sent($filename$linenum)) {
    
header('Location: http://www.example.com/');
    exit;
// You would most likely trigger an error here.
} else {
    echo 
"Headers already sent in $filename on line $linenum\n" .
          
"Cannot redirect, for now please click this <a " .
          
"href=\"http://www.example.com\">link</a> instead\n";
    exit;
}
?>


Saludos!
En línea


de vacaciones regreso en 2 semanas
Páginas: [1] Ir Arriba Imprimir 
Comunidad Underground Hispana  |  Programacion  |  Programacion para webmasters  |  Php (Moderador: SaTeLuCo)  |  Tema: error header location « anterior próximo »
Ir a:  


Ranking-Hits
Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC