Foros del Web » Programando para Internet » PHP »

COOKIES no funcionan

Estas en el tema de COOKIES no funcionan en el foro de PHP en Foros del Web. Utilizo el siguiente script: Código PHP: $urlid = "consulta" ; if ( $_POST [ 'accion' ]== "enviar" ){      setcookie ( "nombre" , $_POST [ 'nombre' ...
  #1 (permalink)  
Antiguo 11/03/2004, 15:19
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: Mendoza
Mensajes: 49
Antigüedad: 15 años, 4 meses
Puntos: 0
COOKIES no funcionan

Utilizo el siguiente script:

Código PHP:
$urlid="consulta";
if (
$_POST['accion']=="enviar"){
    
setcookie("nombre",$_POST['nombre'],15552000,"/",$_SERVER['HTTP_HOST']);
    
setcookie("apellido",$_POST['apellido'],15552000,"/",$_SERVER['HTTP_HOST']);
    
setcookie("email",$_POST['email'],15552000,"/",$_SERVER['HTTP_HOST']);
    
setcookie("telefono",$_POST['telefono'],15552000,"/",$_SERVER['HTTP_HOST']);
    
setcookie("pais",$_POST['pais_idx'],15552000,"/",$_SERVER['HTTP_HOST']);
    
setcookie("ciudad",$_POST['ciudad_idx'],15552000,"/",$_SERVER['HTTP_HOST']);
    if(isset(
$_POST['otra_cdad'])) 
        
setcookie("otra_cdad",$_POST['otra_cdad'],15552000,"/",$_SERVER['HTTP_HOST']);
    else
        
setcookie("otra_cdad","",15552000,"/",$_SERVER['HTTP_HOST']);

El tema es que esta pagina estaba en un servidor en donde funcionaba perfectamente. Lo cambie de servidor, en donde yo tengo todos mis sitios y dejo de funcionar. Por que puede ser?

Nota: la version de PHP del nuevo servidor es 4.3.3
  #2 (permalink)  
Antiguo 11/03/2004, 23:32
Avatar de Blag  
Fecha de Ingreso: septiembre-2003
Ubicación: Lima
Mensajes: 68
Antigüedad: 14 años, 2 meses
Puntos: 0
Necesitas verificar la ruta en tu archivo de configuración PHP.ini
Por defecto viene así:

;session.save_path =/tmp

Tu deberías cambiarlo por cambiar esto:

session.save_path = C:\PHP\Cookies

Aunque mejor, deja de usar Cookies y utiliza Sesiones......son más sencillas y mejores.
__________________
Alvaro Tejada Galindo
Consultor ABAP FI/HR
SinglePath's Experimental HomePage
Foro de ABAP en SoloCodigo.com
Revista "Código Latino"
  #3 (permalink)  
Antiguo 12/03/2004, 02:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Dices que no funciona, pero ¿es que no se crean las cookies en tu navegador, o es que luego no se leen en el servidor?

Deberias comprobar si es culpa del setcookie(), o si es culpa del conjunto del codigo de tu script.

Haz un script simple, que cree una cookie y que la muestre, de forma parecida a como lo tienes. Ejecutalo en tu servidor. Si no te funciona, verifica el valor de $_SERVER['HTTP_HOST'], y prueba a ponerlo directamente, sin usar la variable.

Si funciona por si solas, puede ser que parte del codigo del script este haciendo que no funcione. Recuerda que antes del setcookie no debes enviar salida al navegador. Asegurate de tener el error_reporting a E_ALL (via php.ini o con la funcion error_reporting()) para ver todos los mensajes de error. Puede que en el servidor que funcionaba tendria el output buffer ativado o que ignore las lineas vacias al final de los ficheros incluidos.

Tambien compararia los phpinfo() de ambos servidores, para ver si hay alguna diferencia notable.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #4 (permalink)  
Antiguo 12/03/2004, 03:02
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Dices que no funciona, pero ¿es que no se crean las cookies en tu navegador, o es que luego no se leen en el servidor?

Deberias comprobar si es culpa del setcookie(), o si es culpa del conjunto del codigo de tu script.

Haz un script simple, que cree una cookie y que la muestre, de forma parecida a como lo tienes. Ejecutalo en tu servidor. Si no te funciona, verifica el valor de $_SERVER['HTTP_HOST'], y prueba a ponerlo directamente, sin usar la variable.

Si funciona por si solas, puede ser que parte del codigo del script este haciendo que no funcione. Recuerda que antes del setcookie no debes enviar salida al navegador. Asegurate de tener el error_reporting a E_ALL (via php.ini o con la funcion error_reporting()) para ver todos los mensajes de error. Puede que en el servidor que funcionaba tendria el output buffer ativado o que ignore las lineas vacias al final de los ficheros incluidos.

Tambien compararia los phpinfo() de ambos servidores, para ver si hay alguna diferencia notable.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 12/03/2004, 03:32
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Dices que no funciona, pero ¿es que no se crean las cookies en tu navegador, o es que luego no se leen en el servidor?

Deberias comprobar si es culpa del setcookie(), o si es culpa del conjunto del codigo de tu script.

Haz un script simple, que cree una cookie y que la muestre, de forma parecida a como lo tienes. Ejecutalo en tu servidor. Si no te funciona, verifica el valor de $_SERVER['HTTP_HOST'], y prueba a ponerlo directamente, sin usar la variable.

Si funciona por si solas, puede ser que parte del codigo del script este haciendo que no funcione. Recuerda que antes del setcookie no debes enviar salida al navegador. Asegurate de tener el error_reporting a E_ALL (via php.ini o con la funcion error_reporting()) para ver todos los mensajes de error. Puede que en el servidor que funcionaba tendria el output buffer ativado o que ignore las lineas vacias al final de los ficheros incluidos.

Tambien compararia los phpinfo() de ambos servidores, para ver si hay alguna diferencia notable.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #6 (permalink)  
Antiguo 13/03/2004, 16:22
Usuario no validado
 
Fecha de Ingreso: agosto-2002
Ubicación: Mendoza
Mensajes: 49
Antigüedad: 15 años, 4 meses
Puntos: 0
Gracias por su ayuda.

El problema era que en la version de PHP 4.3.4 permite poner el tiempo con el formato por ejemplo "3600" y el la version 4.3.3 hay que poner "time()+3600"
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 10:08.