Foros del Web » Programando para Internet » PHP »

un error que no encuentro

Estas en el tema de un error que no encuentro en el foro de PHP en Foros del Web. otra vez yo. lo que sucede ahora es que estoy utilizando las cookies para ver como funcionan, pero me generan el siguiente error: Warning: Cannot ...
  #1 (permalink)  
Antiguo 22/05/2008, 11:11
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Pregunta un error que no encuentro

otra vez yo.


lo que sucede ahora es que estoy utilizando las cookies para ver como funcionan,
pero me generan el siguiente error:

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\ProyectoASP\mi primera cookie.php:2) in C:\wamp\www\ProyectoASP\mi primera cookie.php on line 9

y lo unico que he hecho es lo siguiente:
Código PHP:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php

if(isset($_COOKIE['num_accesos']))
    {
        
$_COOKIE['num_accesos']=$_COOKIE['num_accesos']+1;
    }

setcookie("num_accesos",$_COOKIE['num_accesos'],time()+29);

?>

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>
<body>
<center>
<h2>Trabajando con cookies</h2>
<h3>contador de accesos</h3>



<?php

if($_COOKIE['num_accesos']>1){
        echo 
"has accedido a esta pagina <b>".$_COOKIE['num_accesos']."</b>veces ".$_COOKIE['nombre'];
    }else{
        echo 
"hola por primera vez";
}
?>

<br><br><br>
<a href="mi primera cookie.php">Actualizar<a/>
<a href="eliminar cookie.php">Eliminar<a/>
</center>
</body>
</html>
Pense que podia no ser de esa forma, entonces lo intente de esta otra:

Código PHP:
<?php 
$accesos
=1;
if(isset(
$_COOKIE['numero'])){
$accesos=$_COOKIE['numero']+1;
}
setcookie("numero",$accesos,time()+20);
?>
<!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=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>



<?php 
if($accesos>1)
echo 
"Haz Acedido $accesos a esta Pagina<br />
"
;
else
echo 
"primera vez que ingresas<br />
"
;


?>
<a href="Cookies1.php">presione </a>
<br />
<br />
<br />

<a href="Cookies2.php">Borrar</a>
</body>
</html>
y aun me muestra el error.

Pensé que podia ser el navegador, pero utilizo IE7 y me muestra el error, utilizo Firefox 3.0 y me sigue imprimiendo el error,

alguien sabe como hago.

Última edición por lobo_php; 22/05/2008 a las 11:28
  #2 (permalink)  
Antiguo 22/05/2008, 12:47
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: un error que no encuentro

Hola lobo_php,

Revisa este link: http://www.forosdelweb.com/2037876-post179.html

Saludos.
  #3 (permalink)  
Antiguo 22/05/2008, 12:49
 
Fecha de Ingreso: mayo-2006
Mensajes: 178
Antigüedad: 17 años, 11 meses
Puntos: 7
Respuesta: un error que no encuentro

Cambiale el orden a esto:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Si vas a poner una cookie o a mandar un header(), esto tiene que ser lo primero que hagas. No podes escribir nada en pantalla.

O sea asi:

<?php
//-- TAMPOCO PODES DEJAR UNA LINEA EN BLANCO ANTES DE ABRIR EL TAG DE PHP
if(isset($_COOKIE['num_accesos']))
{
$_COOKIE['num_accesos']=$_COOKIE['num_accesos']+1;
}

setcookie("num_accesos",$_COOKIE['num_accesos'],time()+29);

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  #4 (permalink)  
Antiguo 01/09/2008, 06:28
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: un error que no encuentro

ok, todo resuelto gracias Jona77
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
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 14:21.