No puedo crear la cookie tras llenar un formulario

Iniciado por ZharkD, 7 Mayo 2010, 01:09 AM

0 Miembros y 1 Visitante están viendo este tema.

ZharkD

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 (php) [Seleccionar]

include(script);
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test</title>
</head>
<body>
Aqui el formulario que manda informacion a esta misma pagina mediante $_POST[].
</body>
</html>


Aqui todo el script de condiciones:
Código (php) [Seleccionar]

if()
. . .
if(condicion para cookie)
setcookie(...);


El error es:
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 para ser enviada al momento deseado mediante funciones de salida (ref php.net) pero la verdad no las comprendo muy bien.

Podrian ayudarme con esto?

Gracias por su colaboracion.

Nakp

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 :)
Ojo por ojo, y el mundo acabará ciego.

ZharkD

Cita de: 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 :)

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 :$

MinusFour

Creo que lo que pasaba era exactamente lo que decia Nakp. Lo que solucionaste con el buffer...