Foros del Web » Programando para Internet » PHP »

error con Cookies

Estas en el tema de error con Cookies en el foro de PHP en Foros del Web. Hola Hasta ahora he tenido me web en un servidor gratuito porque estoy en etapa experimental, ahora como estoy llegando a la fase final contrate ...
  #1 (permalink)  
Antiguo 17/10/2010, 17:29
 
Fecha de Ingreso: septiembre-2010
Mensajes: 62
Antigüedad: 13 años, 6 meses
Puntos: 0
error con Cookies

Hola
Hasta ahora he tenido me web en un servidor gratuito porque estoy en etapa experimental, ahora como estoy llegando a la fase final contrate un hosting para hospedar mi web.
En 000webhosting no me daba ningun error pero ahora con el mismo código me aparecen varios errores
para darles un ejemplo de los errores que me aparecieron:
Warning: Cannot modify header information - headers already sent by (output started at /home/usuario/public_html/pg3.php:6) in /home/usuario/public_html/pg3.php on line 210

Warning: Cannot modify header information - headers already sent by (output started at /home/usuario/public_html/pg3.php:6) in /home/usuario/public_html/pg3.php on line 211

que corresponden a esta parte del código php

if ($recordar=="noCerrarSesion")
{setcookie("Usuario",$_SESSION["email"],time()+60*60*24*30,"/", "misito.com.uy", 0);
setcookie("password",$_SESSION["password"],time()+60*60*24*30,"/", "misitio.com.uy", 0);

Esto antes en el otro servidor funcionaba correctamente pero ahora genera error

Gracias por ayudarme!!
  #2 (permalink)  
Antiguo 17/10/2010, 17:39
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: error con Cookies

Hola
pues aparte de faltar el cierre del if, no veo inconveniente,
pero tal vez no sea allí el problema, sino lo que está en la línea 6
del mismo archivo
revisa eso
saludos
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 17/10/2010, 17:53
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: error con Cookies

Tengo entendido que esto de las setcookies son lo mismo que session_start, no?
Bueno, en si, no puedes setear una cookie despues de imprimir cualquier texto
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #4 (permalink)  
Antiguo 17/10/2010, 18:07
 
Fecha de Ingreso: septiembre-2010
Mensajes: 62
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: error con Cookies

Cita:
Iniciado por mortiprogramador Ver Mensaje
Hola
pues aparte de faltar el cierre del if, no veo inconveniente,
pero tal vez no sea allí el problema, sino lo que está en la línea 6
del mismo archivo
revisa eso
saludos
El cierre de la llave no lo pegué aca pero si esta bien puesto en la pagina
Con respecto a la linea 6 , ahi podria ser pues es una etiqueta Meta que agregue ahora para los buscadores
Código PHP:
<? session_start();?>
<!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 NAME="Keywords" CONTENT="Portal de avisos GRATIS de propiedades en Uruguay para Comprar, Vender, Alquilar y Permutar ,Casas, Apartamentos, Locales comerciales, Oficinas, Terrenos , Estancias, Chacras">
<META NAME="Description" CONTENT="Publique GRATIS y en pocos minutos sus avisos de propiedades del Uruguay ">
<META NAME="Title" CONTENT="misitio">
<META NAME="Language" CONTENT="es">
<meta name="revisit" content="30 days">
<META name="rating" content="General">
<META NAME="Robots" CONTENT="index, follow">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  #5 (permalink)  
Antiguo 17/10/2010, 18:11
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 14 años, 11 meses
Puntos: 322
Respuesta: error con Cookies

Cita:
Iniciado por RicardoUY Ver Mensaje
El cierre de la llave no lo pegué aca pero si esta bien puesto en la pagina
Con respecto a la linea 6 , ahi podria ser pues es una etiqueta Meta que agregue ahora para los buscadores
Código PHP:
<? session_start();?>
<!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 NAME="Keywords" CONTENT="Portal de avisos GRATIS de propiedades en Uruguay para Comprar, Vender, Alquilar y Permutar ,Casas, Apartamentos, Locales comerciales, Oficinas, Terrenos , Estancias, Chacras">
<META NAME="Description" CONTENT="Publique GRATIS y en pocos minutos sus avisos de propiedades del Uruguay ">
<META NAME="Title" CONTENT="misitio">
<META NAME="Language" CONTENT="es">
<meta name="revisit" content="30 days">
<META name="rating" content="General">
<META NAME="Robots" CONTENT="index, follow">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

Cita:
Iniciado por Sourcegeek Ver Mensaje
Tengo entendido que esto de las setcookies son lo mismo que session_start, no?
Bueno, en si, no puedes setear una cookie despues de imprimir cualquier texto
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #6 (permalink)  
Antiguo 17/10/2010, 18:34
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: error con Cookies

RicardoUY :

el código qie pasaste funciona correctamente (bueno, completando con la llave faltante)
en cuanto a los errores

Cita:
Warning: Cannot modify header information - headers already sent by (output started at /home/usuario/public_html/pg3.php:6) in /home/usuario/public_html/pg3.php on line 210

Warning: Cannot modify header information - headers already sent by (output started at /home/usuario/public_html/pg3.php:6) in /home/usuario/public_html/pg3.php on line 211
Los mensajes son muy específicos, normalmente indican que previo a los headers que supuestamente se están pasando el html te esta generando alguna salida que no corresponde, tan sólo un espacio en blanco puede provocarte este error.

Si me decís, que en otro servidor, exactamente la misma script no te producia errores, habría que revisar bien que la script se halla transferido correctamente, o analizar si el servidor esta enviando algun encabezado que webhost000 no te enviaba.

Tambien sería oportuno que analices tu error_log

Sería bueno ver el código completo y las urls respectivas. 8la de webhost y la nueva)

saludos

Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #7 (permalink)  
Antiguo 17/10/2010, 18:51
 
Fecha de Ingreso: septiembre-2010
Mensajes: 62
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: error con Cookies

Cita:
Iniciado por emprear Ver Mensaje
RicardoUY :

el código qie pasaste funciona correctamente (bueno, completando con la llave faltante)
en cuanto a los errores


Los mensajes son muy específicos, normalmente indican que previo a los headers que supuestamente se están pasando el html te esta generando alguna salida que no corresponde, tan sólo un espacio en blanco puede provocarte este error.

Si me decís, que en otro servidor, exactamente la misma script no te producia errores, habría que revisar bien que la script se halla transferido correctamente, o analizar si el servidor esta enviando algun encabezado que webhost000 no te enviaba.

Tambien sería oportuno que analices tu error_log

Sería bueno ver el código completo y las urls respectivas. 8la de webhost y la nueva)

saludos

Saludos
probe cambiarlo asi
Código PHP:
<? session_start();
$recordarTrim($_POST[datosUsuario]);
if (
$recordar=="soloUsuario")
setcookie("Usuario",$_SESSION["email"],time()+60*60*24*30,"/""misitio.com.uy"0);
//para borrarla si habia sido guardada antes
 
setcookie ("password");
}
if (
$recordar=="noCerrarSesion")
{
setcookie("Usuario",$_SESSION["email"],time()+60*60*24*30,"/""misitio.com.uy"0);
setcookie("password",$_SESSION["password"],time()+60*60*24*30,"/""misitio"0);
}
if (
$_GET["terminar"]) { session_unset(); session_destroy(); header("location:index.php"); }
?>
<!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 NAME="Keywords" CONTENT="Portal de avisos GRATIS de propiedades en Uruguay para Comprar, Vender, Alquilar y Permutar ,Casas, Apartamentos, Locales comerciales, Oficinas, Terrenos , Estancias, Chacras">
<META NAME="Description" CONTENT="Publique GRATIS y en pocos minutos sus avisos de propiedades del Uruguay ">
pero asi no guarda la cookie que cuando voy a index aque es donde la uso no aparece la informacion que guarda la cookie.
  #8 (permalink)  
Antiguo 17/10/2010, 18:56
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: error con Cookies

RicardoUY:

Antes de trabajar sobre tu último código, confirmame una cosa. Puesto de esa manera, no te genera el error inicial?


Saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.
  #9 (permalink)  
Antiguo 17/10/2010, 19:02
 
Fecha de Ingreso: septiembre-2010
Mensajes: 62
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: error con Cookies

Cita:
Iniciado por emprear Ver Mensaje
RicardoUY:

Antes de trabajar sobre tu último código, confirmame una cosa. Puesto de esa manera, no te genera el error inicial?


Saludos
asi no genera error pero aparentemente no guarda la cookie
En que carpeta de la pc deberia estar tengo I E 8 windows Xp
Tal vez la guarda y ahora el problema esta en que el index no la esta leyendo
Todo esto me funcionaba perfectamente antes ...
gracias por ayudarme
  #10 (permalink)  
Antiguo 17/10/2010, 19:36
Avatar de emprear
Colaborador
 
Fecha de Ingreso: junio-2007
Ubicación: me mudé
Mensajes: 8.388
Antigüedad: 16 años, 9 meses
Puntos: 1567
Respuesta: error con Cookies

RicardoUY:

no entiendo bien el conjunto de tu aplicación, pero hice esto que quizá te pueda servir, te aclaro que asigne valores artificiales a $email y $clave, y utilicé $_GET para realizar las comprobaciones, dejé solo el primer condicional para simplificar el ejemplo, lo chequee y funciona perfectamente,
si paso ?datosUsuario=soloUsuario te genera las cookies, en este caso con un tiempo de expiración de 1 hora, en tanto que si le paso ?terminar=1, las borra corectamente y redirije. Recordá que para borrar una cookie tenes que reescribirla con los mismos valores con un tiempo anterior al tiempo actual.

La mejor forma de verificar el funcionamiento de las cookies y sesiones es a mi juicio utilizar firefox con la extensión WebDeveloper.
Espero que estos datos te sirvan


Código PHP:
Ver original
  1. <?php
  2. $recordar= trim($_GET[datosUsuario]);
  3. $email = "[email protected]";
  4. $clave ="miclave";
  5.  
  6. if ($recordar == "soloUsuario"){
  7. setcookie("Usuario",$email,time()+3600,"/", "foros.emprear.loc", 0);
  8. setcookie("password",$clave,time()+3600,"/", "foros.emprear.loc", 0);
  9. }
  10.  
  11. //if ($recordar=="noCerrarSesion"){
  12. //setcookie("Usuario",$_SESSION["email"],time()+60*60*24*30,"/", "misitio.com.uy", 0);
  13. //setcookie("password",$_SESSION["password"],time()+60*60*24*30,"/", "misitio", 0);
  14. //}
  15.  
  16. ### borrar cookies y redirigir
  17. $terminar = $_GET["terminar"];
  18. if ($terminar == 1){
  19. setcookie("Usuario",$email,mktime(12,0,0,1, 1, 1990),"/", "foros.emprear.loc", 0);
  20. setcookie("password",$clave,mktime(12,0,0,1, 1, 1990),"/", "foros.emprear.loc", 0);
  21. header("location:index.php"); }
  22. ?>

saludos
__________________
La voz de las antenas va, sustituyendo a Dios.
Cuando finalice la mutación, nueva edad media habrá
S.R.

Etiquetas: cookies
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 05:23.