Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Mootools y variables de sesión en PHP

Estas en el tema de Mootools y variables de sesión en PHP en el foro de Frameworks JS en Foros del Web. Hola a todos, verán, trataré de ser breve y muy especifico: Uso mootools como framework para implementar un botón en un catálogo de productos de ...
  #1 (permalink)  
Antiguo 06/05/2010, 20:42
 
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 133
Antigüedad: 17 años, 8 meses
Puntos: 0
Mootools y variables de sesión en PHP

Hola a todos, verán, trataré de ser breve y muy especifico:

Uso mootools como framework para implementar un botón en un catálogo de productos de joomla.

Cree dos clases:
Producto.js (getters / setters)
Pedido.js (array donde se agregan instancias de Producto, entre otras operaciones básicas)

La idea es almacenar el objeto pedido en una variable de sesión PHP, más no he tenido exito.

intento con:
Código PHP:
/**************************************************************
intento recuperar la variable de sesión o en su defecto declarar objeto 'Pedido' 
**************************************************************/

var pedido; //variable js global

<?php if( isset( $_SESSION['PEDIDO']))  ?>
  pedido = <?php $_SESSION['PEDIDO'?>
  //tambien intento lo siguiente, pero imprime toda la definición de la clase
  //pedido= <?= $_SESSION['PEDIDO'?>
<?php 
else ?> pedido=new Pedido(); //creo la instancia

/**************************************************************
Una vez realizadas todas las validaciones intento guardar la variable de sesión
***************************************************************/
var producto=new Producto(id, nombre, precio, cantidad);
pedido.setPedido(producto);

<? php $_SESSION['PEDIDO'?> =pedido;  //Instancia del objeto
//tambien intento de la siguiente forma, pero me guarda la cadena (un poco obvio creo no)
<? php $_SESSION['PEDIDO']= "<script>pedido</script>" ?>
Cuando es abierto por primera vez, funciona, pero cuando es refrescado no reconoce el objeto, por favor, orientenme, o alguno de ustedes ha consegido hacerlo de otra forma?

La verda no se como consegirlo.

P.D. Tambien he intentado con cookies pero nada, al parecer no permite guardar objetos (deducción por la puesta en practica).
  #2 (permalink)  
Antiguo 07/05/2010, 07:26
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Mootools y variables de sesión en PHP

Ese código no va a funcionar; ten en cuenta que PHP se ejecuta del lado del servidor, y Javascript del lado del cliente. Si quieres usar Ajax, revisa las FAQ's:
http://www.forosdelweb.com/f77/faqs-...o-ajax-332366/

En cuanto al objeto, podrías codificarlo en formato JSON para pasarlo al servidor y guardarlo en la variable de sesión.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 07/05/2010, 09:58
 
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 133
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Mootools y variables de sesión en PHP

Entiendo, intentaré utilizar JSON
  #4 (permalink)  
Antiguo 07/05/2010, 12:23
 
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 133
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Mootools y variables de sesión en PHP

Cita:
Iniciado por ezra.wong Ver Mensaje
Entiendo, intentaré utilizar JSON
ok. intente lo siguiente:

var producto=new Producto(id, nombre, precio, cantidad, imagen);
pedido.set_pedido(producto);

Código PHP:
//escribo la cookie
Cookie.write('GALLETA'JSON.encode(pedido.get_pedido()));//arreglo con instancias de producto

//recupero la cookie
var pedido=Cookie.read('GALLETA');
//salida: solo 1 prodcuto agregado
//[{"id":"1","nombre":"jQuery","precio":"10.90","cantidad":"1","imagen":"src/jquery.png"}] 
o tambien con:
Código PHP:
Cookie.write('GALLETA'JSON.encode(pedido));//objeto pedido

//recupero la cookie
var pedido=Cookie.read('GALLETA');
//salida:
//{"pedido":[{"id":"1","nombre":"jQuery","precio":"10.90","cantidad":"1","imagen":"src/jquery.png"}],"caller":null,"_current":null} 
Intento ocupar el valor recuperado de la cookie, por ejemplo intento:
Código PHP:
var pedido=Cookie.read('GALLETA'); 
o también;
Código PHP:
var pedido=new Pedido();
pedido=Cookie.read('GALLETA'); 
pero ninguna forma de asignar su valor em funciona, alguna recomendación?? gracias por su tiempo
  #5 (permalink)  
Antiguo 07/05/2010, 12:35
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años, 7 meses
Puntos: 839
Respuesta: Mootools y variables de sesión en PHP

Debes nuevamente decodificar el JSON para utilizarlo como objeto. Con el quick and dirty eval() o con alguna función de decodificación.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #6 (permalink)  
Antiguo 07/05/2010, 16:06
 
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 133
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: Mootools y variables de sesión en PHP

Encontre este sitio: http://json.parser.online.fr/ en él pego el resultado recogido del JSON encode y me arroja la deficición del objeto, o sea, lo que necesito.
Código PHP:
{"pedido":[{"id":"1","nombre":"jQuery","precio":"10.90","cantidad":"1","imagen":null},{"id":"2","nombre":"Mootoola","precio":"10.90","cantidad":"1","imagen":null},{"id":"31","nombre":"Smashingmagazine","precio":"10.90","cantidad":"1","imagen":null}],"caller":null,"_current":null
dejo el resultado por si quieren corroborar

intento lo siguiente:
Código PHP:
pedido JSON.decode(Cookie.read('GALLETA')); 
pero no me funciona, digo, no lo pasa como objeto, tambien intento:
Código PHP:
pedido = eval(Cookie.read('GALLETA')); 
intento implementar json.js y me marca errores en la libreria, mmm... que desgracia.
  #7 (permalink)  
Antiguo 07/05/2010, 19:13
 
Fecha de Ingreso: marzo-2007
Ubicación: México
Mensajes: 133
Antigüedad: 17 años, 8 meses
Puntos: 0
Solucionado

Gracias David por dar seguimiento a mi problema y apoyarme para encontrar la solución, sin tu ayuda no lo ubiese podido lograr. Nuevamente gracias y mucha serte, nos vemos en línea

Etiquetas: ajax, mootools, php, sesión, variables
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 01:44.