Foros del Web » Programando para Internet » PHP »

Problema con header()

Estas en el tema de Problema con header() en el foro de PHP en Foros del Web. Hola!, Bueno pues estoy liado con un script cuyo contenido es el siguiente: Código PHP: <html> <body> <? //recibimos las variables enviadas por el formulario $titulo = $_POST [ titulo ]; ...
  #1 (permalink)  
Antiguo 07/06/2010, 08:15
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Problema con header()

Hola!,

Bueno pues estoy liado con un script cuyo contenido es el siguiente:
Código PHP:
<html>
<body>

<?
//recibimos las variables enviadas por el formulario
$titulo=$_POST[titulo];
$autor=$_POST[autor];
$categoria=$_POST[categoria];
$articulo=$_POST[articulo];

//conectamos a la base
$connect=mysql_connect("localhost","root","");

//Seleccionamos la base
mysql_select_db("noticias",$connect);

//insertamos los registros almacenados en las variables
mysql_query("insert into noticias(titulo,autor,categoria,articulo,fecha) VALUES ('$titulo','$autor','$categoria','$articulo',NOW())"$connect);

header("location: index.php");
?>

</body>
</html>
Al enviarle los datos a este script me devuelve este error:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\noticias\procesanoticia.php:4) in C:\xampp\htdocs\noticias\procesanoticia.php on line 20

Podrian ayudarme? gracias
  #2 (permalink)  
Antiguo 07/06/2010, 08:22
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Problema con header()

no puede haber html antes del header, prueba:

Código PHP:
<? 
//recibimos las variables enviadas por el formulario 
$titulo=$_POST[titulo]; 
$autor=$_POST[autor]; 
$categoria=$_POST[categoria]; 
$articulo=$_POST[articulo]; 

//conectamos a la base 
$connect=mysql_connect("localhost","root",""); 

//Seleccionamos la base 
mysql_select_db("noticias",$connect); 

//insertamos los registros almacenados en las variables 
mysql_query("insert into noticias(titulo,autor,categoria,articulo,fecha) VALUES ('$titulo','$autor','$categoria','$articulo',NOW())"$connect); 

header("location: index.php"); 
?>
  #3 (permalink)  
Antiguo 07/06/2010, 08:37
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problema con header()

gracias quike88 :)

Se soluciono ese error pero no se yega a guardar en la bd la info, porque puede ser?

Los name del form que los coje estan escritos correctamentes, este es el form:

Código PHP:
<html>
<
body>
<
form action="procesanoticia.php" method="post">
Título noticia:<br>
<
input type="text" name="titulo"><br>
Autor:<br>
<
input type="text" name="autor"><br>
Categoría:<br>
<
input type="text" name="categoria"><br>
Escriba el articulo<br>
<
textarea name="articulo" cols="50" rows="10"></textarea><br>
<
input type="submit" value="Publicar"><br>
</
form>
</
body>
</
html
  #4 (permalink)  
Antiguo 07/06/2010, 08:44
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Problema con header()

Te devuelve algún error?

pon:

Código PHP:
//insertamos los registros almacenados en las variables  
mysql_query("insert into noticias(titulo,autor,categoria,articulo,fecha) VALUES ('$titulo','$autor','$categoria','$articulo',NOW())"$connect) or die (mysql_error()); 
para ver si mysql te devuelve algun error.
  #5 (permalink)  
Antiguo 07/06/2010, 09:01
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problema con header()

vaya!
da este error: Unknown column 'articulo' in 'field list'
  #6 (permalink)  
Antiguo 07/06/2010, 09:07
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Problema con header()

bueno.. como dice el error, no hay ningún campo con el nombre "articulo" en tu tabla noticias.
  #7 (permalink)  
Antiguo 07/06/2010, 09:10
 
Fecha de Ingreso: mayo-2010
Mensajes: 31
Antigüedad: 14 años
Puntos: 0
Respuesta: Problema con header()

Has puesto

Código PHP:
$titulo=$_POST[titulo]; 
$autor=$_POST[autor]; 
$categoria=$_POST[categoria]; 
$articulo=$_POST[articulo]; 
Pon
Código PHP:
$titulo=$_POST['titulo']; 
$autor=$_POST['autor']; 
$categoria=$_POST['categoria']; 
$articulo=$_POST['articulo']; 
A ver si así te lo coge. A ver que te da
  #8 (permalink)  
Antiguo 07/06/2010, 09:14
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problema con header()

gracias por tu opinion LacasitoAzul, sale lo mismo
  #9 (permalink)  
Antiguo 07/06/2010, 09:56
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problema con header()

ya encontre ese fallo, el campo articulo no correspondia con el nombre asignado en la bd
  #10 (permalink)  
Antiguo 07/06/2010, 10:18
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problema con header()

No consigo que se almacene el campo articulo, en la bd es de tipo varchar(255) y el codigo el que esta aqui dispuesto, veis algun fallo?
  #11 (permalink)  
Antiguo 07/06/2010, 10:23
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Problema con header()

El código parece estar bien, se guardan todos los campos menos artículo?

revisa tu formulario del que envías los datos, verifica que los nombres de los campos sean los que recibes.
  #12 (permalink)  
Antiguo 07/06/2010, 11:50
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problema con header()

Pues ya lo revise varias veces y no veo fallo (ya correji algunos XD), este es el codigo del form y el php:

Código PHP:
<html>
<
body>
<
form action="procesanoticia.php" method="post">
T&#237;tulo noticia:<br>
<input type="text" name="titulo"><br>
Autor:<br>
<
input type="text" name="autor"><br>
Categor&#237;a:<br>
<input type="text" name="categoria"><br>
Escriba el articulo<br>
<
textarea name="noticia" type="text" cols="50" rows="10"></textarea><br>
<
input type="submit" value="Publicar"><br>
</
form>
</
body>
</
html

Código PHP:
<? 
//recibimos las variables enviadas por el formulario 
$titulo=$_POST['titulo']; 
$autor=$_POST['autor']; 
$categoria=$_POST['categoria']; 
$noticia=$_POST['noticia']; 

//conectamos a la base 
$connect=mysql_connect("localhost","root",""); 

//Seleccionamos la base 
mysql_select_db("noticias",$connect); 

//insertamos los registros almacenados en las variables 
mysql_query("insert into noticias(titulo,autor,categoria,noticia,fecha) VALUES ('$titulo','$autor','$categoria','$noticia',NOW())"$connect) or die (mysql_error());

header("location: index.php"); 
?>
la bd la creo a partir de este codigo:
Código PHP:
create table noticias (
id_noticia int(4auto_increment not null,
autor varchar(255),
titulo varchar(255),
categoria varchar(255),
fecha datetime not null,
noticia varchar(255), key(id_noticia)


Última edición por erxaca; 07/06/2010 a las 12:10
  #13 (permalink)  
Antiguo 07/06/2010, 12:20
 
Fecha de Ingreso: mayo-2010
Mensajes: 61
Antigüedad: 14 años
Puntos: 1
Respuesta: Problema con header()

en el textarea sobra el type='text' ya que si es textarea no es tipo text.
prueba eso
  #14 (permalink)  
Antiguo 07/06/2010, 12:27
Avatar de quike88  
Fecha de Ingreso: agosto-2008
Mensajes: 471
Antigüedad: 15 años, 8 meses
Puntos: 87
Respuesta: Problema con header()

Sigues teniendo algún problema al guardar? probé tu código, y funciona correctamente.

si en el campo noticia vas a guardar un texto muy largo, te recomiendo que uses un tipo de dato como text o longtext
  #15 (permalink)  
Antiguo 07/06/2010, 12:46
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problema con header()

El fallo que me da es que no almacena el campo "noticia" en la base de datos, ya probé tu solución adristb y me ocurre igualmente, tambien probe con longtext quike88 y sigue sin guardarse, algun pequeño fallo se me estará pasando pero no lo veo!!

Se visulaiza todo menos ese campo "noticias"

Este es el codigo que utilizo para visualizarlo:

<?
//conectamos a la base
$connect=mysql_connect("localhost","root","");

//Seleccionamos la base
mysql_select_db("noticias", $connect);

//hacemos las consultas
$result=mysql_query("select * from noticias order by fecha Desc", $connect);
$totalregistros=mysql_num_rows($result);

//Recogemos las consultas en un array y las mostramos
while($row=mysql_fetch_array($result))
{
echo '<h2>'.$row[titulo].'</h2><br><p>'.$row[noticia].'</p><br><div>'.$row[autor].'|'.$row[fecha].'| '.$row[categoria].' | <a href="editar.php?id='.$row[id_noticia].'">editar</a>';'</div>';
}
mysql_free_result($result)
?>
  #16 (permalink)  
Antiguo 07/06/2010, 12:57
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema con header()

Modifica el campo 'noticia' para que en vez de varchar(255) sea text y te permita guardar todo el contenido correctamente, no solo 255 caracteres.
__________________
- León, Guanajuato
- GV-Foto
  #17 (permalink)  
Antiguo 07/06/2010, 16:03
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problema con header()

muchas gracias a todos, Triby tu respuesta fue la solución final,

gracias a todos!
  #18 (permalink)  
Antiguo 07/06/2010, 16:46
 
Fecha de Ingreso: enero-2010
Mensajes: 389
Antigüedad: 14 años, 3 meses
Puntos: 4
Respuesta: Problema con header()

muchas gracias a todos, Triby tu respuesta fue la solución final, longtext no sirvio :O

gracias a todos!

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 02:32.