Foros del Web » Programando para Internet » PHP »

seteo cookies no me funciona

Estas en el tema de seteo cookies no me funciona en el foro de PHP en Foros del Web. Hola, ejecutando una consulta en PHP usando AJAX para evitar q se me recargue la pagina, el caso es q cuando seteo las cookies para ...
  #1 (permalink)  
Antiguo 21/11/2011, 08:28
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 0
seteo cookies no me funciona

Hola, ejecutando una consulta en PHP usando AJAX para evitar q se me recargue la pagina, el caso es q cuando seteo las cookies para poder mostrar en la pagina el resultado, no lo hace si no recargo la pagina. envio los datos del formulario, pero hasta q no actualizo la pagina no me muestar bien el resultado con el valor seteado.
Recojo el valor del post
Código PHP:
$date1="'".$_POST['date1']."'"
y lo mismo para una segunda fecha.
seteo la cookie
Código PHP:
setcookie("date1"$_POST['date1']); 
hago la query y hago un echo del fichero resultante en formato Json.
paso la URL en un script javascript q define un grid
Código:
url:"consulta3.php?date1="+ReadCookie('date1')+"&date2="+ReadCookie('date2')+"&especies="+encodeURI(ReadCookie('especies')),
y el problema es que si no actualizo la pagina no me la escribe. he probado a darle un valor temporal negativo para eliminar la cookie primeramente y despues volver a crearla.
hay q hacer algo en el script ajax q diga q tiene q recargarse los datos de las cookies? estoy perdido la verdad, agradeceria algun tipo de ayuda.
saludos.
  #2 (permalink)  
Antiguo 21/11/2011, 09:20
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: seteo cookies no me funciona

Las cookies necesariamente requieren que se recargue el navegador, pues son enviadas por el servidor entre peticiones.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 22/11/2011, 07:16
 
Fecha de Ingreso: mayo-2011
Ubicación: Santiago de Compostela
Mensajes: 126
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: seteo cookies no me funciona

¿con ajax no se puede recargar la informacion sin recargar la pagina una vez pasada la cookie? veo que realmente la cookie si se pasa, en el firebug en la cabecera veo que la cookie esta seteada pero no recarga la informacion del json. Al resultado de la consulta PHP lo convierto a formato Json, ese resultado es el que quiero cargar en el grid. ¿como puedo pasar entonces ese resultado del Json sin usar cookies? eso lo debo pasar a un javascript donde carga la informacion del grid
Código:
proxy: new GeoExt.data.ProtocolProxy({
				protocol: new OpenLayers.Protocol.HTTP({
				//url: "data/especie.json",
				method:'GET',
				url: "consulta3.php?date1="+ReadCookie('date1')+"&date2="+ReadCookie('date2')+"&especies="+encodeURI(ReadCookie('especies')),
			    format: new OpenLayers.Format.GeoJSON()
				})
		})
si como pongo comentado cargo el fichero en la url, me lo actualiza sin problema, si lo hago pasando la informacion por cookies es cuando falla.
La funcion que uso para enviar el formulario por ajax es
Código:
var xmlhttp; 
function xhr(formulario){ //funcion para crear las peticiones de XMLHttpResquest
// Generalmente sacada de páginas que usan un método para IE6 o anteriores,
// IE 7, FF, Opera, Google Chrome, u otros.
	/*var xmlhttp;*/
		if (window.XMLHttpRequest)
  			{// code for IE7+, Firefox, Chrome, Opera, Safari
  				xmlhttp=new XMLHttpRequest();
				
	  		}
		else
	  		{// code for IE6, IE5
  				xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
				
  		}
		xmlhttp.onreadystatechange = procesarRespuesta; //Ojo sin parentesis
		xmlhttp.open("POST", "consulta2.php", true); //fichero con la consulta y que genera el Json
		xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlhttp.setRequestHeader("Content-length", 3);
		xmlhttp.setRequestHeader("Connection", "close");
		xmlhttp.send(formulario);
		}
	function procesarRespuesta(){
		if(xmlhttp.readyState == 4) {
      		if(xmlhttp.status == 200) {
				store.load();//esto carga el store (los datos) en el grid
			}
    	}
}

Etiquetas: cookies, formulario
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:11.