Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: ZharkD en 7 Mayo 2010, 01:09 am



Título: No puedo crear la cookie tras llenar un formulario
Publicado por: ZharkD en 7 Mayo 2010, 01:09 am
Buenas,

Pues anteriormente ya he trabajado con cookies, sin embargo esta vez como estoy trabajando bajo la misma pagina (usando formularios que trabajan bajo la misma pagina) me tirar un error y no encuentro como resolverlo.

Bueno basicamente esta es la estructura de mi web (test.php):
Código
  1. include(script);
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Test</title>
  7. </head>
  8. <body>
  9. Aqui el formulario que manda informacion a esta misma pagina mediante $_POST[].
  10. </body>
  11. </html>

Aqui todo el script de condiciones:
Código
  1. if()
  2. . . .
  3. if(condicion para cookie)
  4. setcookie(...);
  5.  

El error es:
Código:
Warning: Cannot modify header information - headers already sent by (output started at test/script.php:6) in test/test.php  on line 2

Se que el error se debe a que YA se han enviado las cabezeras, sin embargo esto es muy raro ya que... NO tengo codigo html antes NI dentro del archivo script.php por lo que la cookie deberia crearse, por internet y san google lei que se podia blokear la informacion de los headers (http://www.webmasterworld.com/forum88/6787.htm) para ser enviada al momento deseado mediante funciones de salida (ref php.net (http://www.php.net/manual/es/ref.outcontrol.php)) pero la verdad no las comprendo muy bien.

Podrian ayudarme con esto?

Gracias por su colaboracion.


Título: Re: No puedo crear la cookie tras llenar un formulario
Publicado por: Nakp en 7 Mayo 2010, 01:19 am
ahi no esta todo el script de condiciones... seguro imprimes algo antes de enviar la cookie, ponlo completo para dejar de suponer o intentar hacer magia :)


Título: Re: No puedo crear la cookie tras llenar un formulario
Publicado por: ZharkD en 7 Mayo 2010, 02:02 am
ahi no esta todo el script de condiciones... seguro imprimes algo antes de enviar la cookie, ponlo completo para dejar de suponer o intentar hacer magia :)

Ya lo solucione,

Agregue un "ob_start();"al inicio de TODO el codigo XD.
Creo que el problema estaba en que definia un detaulftimezone() (creo asi es la funcion) ademas de solicitar la IP del visitante con la http_agent :$


Título: Re: No puedo crear la cookie tras llenar un formulario
Publicado por: MinusFour en 7 Mayo 2010, 02:38 am
Creo que lo que pasaba era exactamente lo que decia Nakp. Lo que solucionaste con el buffer...