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

Variables de sesion

Estas en el tema de Variables de sesion en el foro de Frameworks JS en Foros del Web. Hola amigos. ¿Hay algún equivalente a las variables de sesion de php para javascript? Gracias...

  #1 (permalink)  
Antiguo 13/06/2012, 13:33
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Variables de sesion

Hola amigos.

¿Hay algún equivalente a las variables de sesion de php para javascript?

Gracias
  #2 (permalink)  
Antiguo 13/06/2012, 13:38
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Javascript no tiene variables de sesión. Las variables de sesión son datos que se conservan en la memoria del motor durante cierto tiempo, cosa que no puede suceder con JS porque el motor JS es intermitente, esto es, funciona cada vez que se carga una página, por el navegador, y no continúa cargado cuando se deja de ejecutar el script.

Lo más parecido es usar cookies, que por otro lado, es el medio que usa PHP generalmente para continuar sesiones, aunque es automático.
  #3 (permalink)  
Antiguo 13/06/2012, 13:51
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

Pero te pongo un ejemplo.

En la web de un supermercado hay 3 paginas, una para carne, otra para pescado y otra para no perecedero.

Tu te metes en la de carne y vas pinchando ne los porductos que quieras añadir, pulsas en añadir, y a la derecha se te van cargando en la cesta.

Si cambias de página y vas a la de pescado, como haces para uqe se conseven los productos que has elegido en carne? A la fuerza las tienes que pasar por la url? Porque crear una cookie para eso me parece algo engorroso (nunca he creado cookies y siempre he tenido la sensacion de que son intrusivas y peligrosas, aunque quizás es por ignorancia).

Tu para un caso como este que me recomendarias,¿ cookies o pasar por la url?
  #4 (permalink)  
Antiguo 13/06/2012, 14:20
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Es una mezcla entre PHP y JS.

La actualización de los productos elegidos se realiza mediante AJAX, se conserva mediante variables de sesión PHP y los cambios en el DOM (en la página) se realizan mediante Javascript. Cuando la página se recarga es el mismo PHP el que hace las modificaciones en el HTML, y cuando se actualiza las modificaciones se realizan por JS.

No hay nada incompatible. Y los Cookies sólo se usan como método de identificación del usuario.
  #5 (permalink)  
Antiguo 13/06/2012, 14:41
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

PHP y Javascript los domino y entiendo las diferencias de uno y otro. Se uqe PHP trabaja desde el servidor y Javascript desde el cliente.

¿Ajax seria el nexo de ambos? Es muy dificil de aprender a manejar?
  #6 (permalink)  
Antiguo 13/06/2012, 14:43
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Cita:
Iniciado por Gothgauss Ver Mensaje
PHP y Javascript los domino y entiendo las diferencias de uno y otro. Se uqe PHP trabaja desde el servidor y Javascript desde el cliente.

¿Ajax seria el nexo de ambos? Es muy dificil de aprender a manejar?
Si entiendes el funcionamiento de JS y PHP al completo, es muy muy sencillo entender AJAX, ya que AJAX no es más que una implementación natural de una petición GET o POST estándar pero con la diferencia de que esta no se realiza cuando se carga el navegador sino cuando el programador lo desee.

Pero para eso has de entender qué es una petición GET o POST y cuándo se producen.
  #7 (permalink)  
Antiguo 13/06/2012, 14:51
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

¿Puedes recomendarme algún buen manual?

Si no entiendo mal, lo que tengo que hacer es:

Con jquery añadir cosas al carro en una misma página.
Con cada producto añadido, crear una variable de sesión de php
Y para poder pasar las variables de sesioón de php en otra página a javascript para volverlas a mostar, usar ajax?
  #8 (permalink)  
Antiguo 13/06/2012, 14:56
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Cita:
Iniciado por Gothgauss Ver Mensaje
¿Puedes recomendarme algún buen manual?

Si no entiendo mal, lo que tengo que hacer es:

Con jquery añadir cosas al carro en una misma página.
Con cada producto añadido, crear una variable de sesión de php
Y para poder pasar las variables de sesioón de php en otra página a javascript para volverlas a mostar, usar ajax?
1) Con AJAX enviar el nuevo producto añadido/eliminado al script PHP
2) Desde el script php añadir (o eliminar) al array el nuevo producto*
3) CUando esto sea satisfactorio mediante jQuery modificar la página como sea efectivo.

*En vez de crear una variable por cada producto es más lógico usar un array con varios productos y eliminar o poner elementos según se desee.

Si usas jquery el único manual es la documentación de jQuery, ya que para el caso no necesitas más.

Un saludo.
  #9 (permalink)  
Antiguo 13/06/2012, 15:00
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

Y al enviarlo al script php, lo hago con post de ajax verdad?
  #10 (permalink)  
Antiguo 13/06/2012, 15:03
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

POST o GET, en algo como esto daría igual.
  #11 (permalink)  
Antiguo 13/06/2012, 15:07
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

Vale,

pero no termino de entender una cosa.

Cojo todos los productos que han seleccionado y los mando por post/get al script php. Ahi creo un array que los almacene (o varios separandolos por frescos, congelados, perecederos...) y luego recojo los valores de la variable de sesion php con jquery, del modo:

var producto = <?echo $_SESSION['perecedero'] ?> y los vuelvo a mostrar por pantalla.

Sería así?
  #12 (permalink)  
Antiguo 13/06/2012, 15:18
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Si haces echo a un array simplemente no funcionará, print_r daría una salida algo compleja de parsear luego.

Para eso usa json_encode($_SESSION['perecederos']);

lo codificará como un objeto JS para lo cual luego sólo tendrás que usar en jQuery

array = $.parseJSON(data);


para parsear los datos.

Es más sencillo, luego puedes usar

$.each(array, function(i,v){

})

para hacer un bucle y procesar cada variable de la forma que se te antoje.

Consulta la documentación de jquery para cada una de estas funciones, verás lo sencillo que es.
  #13 (permalink)  
Antiguo 13/06/2012, 15:24
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

Buff

Vas muchisimo más rápido de lo que mi mente es capaz de asimilar.

Ahora mismo estaba leyendo la documentación sobre ajax de jquery y había pensado en hacer lo siguiente:

Para enviar llas variables a sesion.php había pensado en poner:

Código:
$.ajax({
  type: "POST",
  url: "some.php",
  data: { producto1: "Carne", producto2: "Pescado" }
})
lo que no se es como crear el archivo sesion.php, es decir, no termnino de ver el modo de interactuar en sesion.php.

Tendría que poner

$_SESSION['producto1'] = ¿algún codigo ajax?


Voy a seguir mirando e investigar sobre lo que has puesto
  #14 (permalink)  
Antiguo 13/06/2012, 15:29
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Tienes que plantear mejor lo que vas a enviar y el formato.... si vas a usar un mismo Script PHP para quitar y poner productos necesitas sólo dos variables...

producto = el id del producto
action = lo que vas a hacer agregar/eliminar

entonces, lo primero es reflejar eso en la petición (0 para eliminar y 1 para agregar)

Código Javascript:
Ver original
  1. $.ajax({
  2.   type: "GET",
  3.   url: "some.php",
  4.   data: { "producto": producto, "action" : action}
  5. })

O sea, suponiendo en el código anterior que producto fuera 256 y action 0, se enviaría esta petición

some.php?producto=256&action=0

Pues ya tienes la primera parte hecha, en apenas 30 segundos, tardas más en escribir que en escribir el código.


Parte 2:

Al Script le llegan estas dos variables GET

$_GET['producto'] | 256

$_GET['action'] | 0

Una vez con estas dos variables, haz un if, y según sea el valor de $_GET['action'] rediriges a agregarproducto() o a eliminarproducto()
  #15 (permalink)  
Antiguo 13/06/2012, 15:38
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

La verdad es que me encanta como me lo explicas, porque realmente lo estás haciendo fácil.

Por lo que estoy viendo, ajax no es que sea muy dificil de usar.

Ahora en mi fichero sesion.php tengo que tener algo para ir recogiendo las variables enviads por ajax y meterlas dentro del array.



Por lo que necesito crear una variable de sesion para los productos

entonces con el if, para ver si lo agrego o lo quito:
Código:
$action = $_GET['action'];
$producto = $_GET['producto'];
if('action'==1){
$_SESSION['PERECEDEROS'] = $producto;
}
y al final vuelvo a leer la variable de productos en sesion.php con ajax para que me muestre cuales son realmente los productos que tengo en la lista de la compra y hago con jquery que se muestren en la lista.
  #16 (permalink)  
Antiguo 13/06/2012, 15:43
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Cita:
Iniciado por Gothgauss Ver Mensaje
La verdad es que me encanta como me lo explicas, porque realmente lo estás haciendo fácil.

Por lo que estoy viendo, ajax no es que sea muy dificil de usar.

Ahora en mi fichero sesion.php tengo que tener algo para ir recogiendo las variables enviads por ajax y meterlas dentro del array.



Por lo que necesito crear una variable de sesion para los productos

¿$_SESSION['PERECEDEROS'] = $_GET['nombre'];?
Para agregar un nuevo elemento a un array ya creado previamente basta con hacer

$_SESSION['PERECEDEROS'][] = $variablelaquesea;

el valor al que iguales se introducirá al final del array.

O sea

["producto1","producto2","producto3","producto4 "]

si la variable es "producto5, con []

["producto1","producto2","producto3","producto4 ","producto5"]
  #17 (permalink)  
Antiguo 13/06/2012, 15:52
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

A ver si para mañanal o tengo listo. Espero no tneer que necesitar este foro mucho.. jejeje

¡Gracias por la ayuda!
  #18 (permalink)  
Antiguo 13/06/2012, 16:05
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

He creado un ejemplo a pequeña escala para ir entendiendo todo pero no me funciona:

He puesto un input text y un button y una variable de sesion (inicialmente vacia), para que al meter un valor en el text y al pinchar el button, me envie mediante ajax por get a sesion.php la variable.

En sesion.php la recojo mediante una variable de sesión, y en teoría debería imprimir la variable, pero no imprime nada. Aquí el código:


index.php:
Código:
<?session_start();?>
<head>
<script type="text/javascript" src="../js/jquery.js"></script>

<script>

$(document).ready(function(){
			$('#texto').val();
			$('#boton').click(function(){
				$.ajax({
				type:'GET',
				url:'sesion.php',
				data:{"producto":$('#texto').val()}
				});
			
				
			});
});





</script>
</head>
<body>
<input type="text" id="texto" /><input type="button" id="boton" value="dar" /><br />



<?echo "Y aqui la variable de sesion:".$_SESSION['producto'];?>
</body>
y ahora el codigo de sesion.php
Código:
<?session_start();
$_SESSION['producto'] = $_GET['producto'];


?>
EDITO : ME ESTÁ FUNCIONANDO PERO NECESITO REFRESCAR LA PÁGINA, poruqe estoy mostrandolo con php y no recogiendo los datos con ajax para mostrarlos mediante jquery. SE ENVIAR DATOS CON AJAX PERO NO RECOGERLOS... :S

Última edición por Gothgauss; 13/06/2012 a las 16:14
  #19 (permalink)  
Antiguo 13/06/2012, 16:18
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Cita:
Iniciado por Gothgauss Ver Mensaje
He creado un ejemplo a pequeña escala para ir entendiendo todo pero no me funciona:

He puesto un input text y un button y una variable de sesion (inicialmente vacia), para que al meter un valor en el text y al pinchar el button, me envie mediante ajax por get a sesion.php la variable.

En sesion.php la recojo mediante una variable de sesión, y en teoría debería imprimir la variable, pero no imprime nada. Aquí el código:


index.php:
Código:
<?session_start();?>
<head>
<script type="text/javascript" src="../js/jquery.js"></script>

<script>

$(document).ready(function(){
			$('#texto').val();
			$('#boton').click(function(){
				$.ajax({
				type:'GET',
				url:'sesion.php',
				data:{"producto":$('#texto').val()}
				});
			
				
			});
});





</script>
</head>
<body>
<input type="text" id="texto" /><input type="button" id="boton" value="dar" /><br />



<?echo "Y aqui la variable de sesion:".$_SESSION['producto'];?>
</body>
y ahora el codigo de sesion.php
Código:
<?session_start();
$_SESSION['producto'] = $_GET['producto'];


?>
EDITO : ME ESTÁ FUNCIONANDO PERO NECESITO REFRESCAR LA PÁGINA, poruqe estoy mostrandolo con php y no recogiendo los datos con ajax para mostrarlos mediante jquery. SE ENVIAR DATOS CON AJAX PERO NO RECOGERLOS... :S
borro lo anterior

edito: ... para eso existe el método success de jquery para AJAX... muéstrame la función php que añade un producto

Si tu envias un dato mediante AJAX al motor PHP no hará nada más, necesitas dar una repsuesta desde ese mismo PHP....

si haces esto

echo "respuesta desde PHP"

a AJAX le llegará el siguiente dato

respuesta desde PHP


Necesitas por tanto dar una salida con cada una de las variables para luego escribirlas en la página.

Última edición por dontexplain; 13/06/2012 a las 16:25
  #20 (permalink)  
Antiguo 13/06/2012, 16:26
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

Eso es, es decir, lo que necesito es con ajax poder recoger los nuevos datos de la variable de sesion y mostrarlos con jquery en la pagina.

Creo que para coger los datos de sesion.php tengo que usar algo así

Código:
$.getJSON("sesion.php", function(data){

}
pero no se que meter entre los corchetes.
  #21 (permalink)  
Antiguo 13/06/2012, 16:36
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Cita:
Iniciado por Gothgauss Ver Mensaje
Eso es, es decir, lo que necesito es con ajax poder recoger los nuevos datos de la variable de sesion y mostrarlos con jquery en la pagina.

Creo que para coger los datos de sesion.php tengo que usar algo así

Código:
$.getJSON("sesion.php", function(data){

}
pero no se que meter entre los corchetes.
getJSON hace una $.ajax y luego $.parseJSON, pero creo que para tu caso es más sencillo que uses directamente $.parseJSON

$.ajax({
blablabla,
blablabla,
blablabla,
success: function(data){

datos = data;

datos = $.parseJSON(datos);


}

})

De ese modo datos será un array JS con los datos parseados.


Pero para que parseJSON tenga sentido necesitas obviamente que la respuesta tenga formato de JSON, del lado de PHP hacer

echo json_encode($_SESSION['perecederos']);

Un saludo.
  #22 (permalink)  
Antiguo 14/06/2012, 02:43
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

Esto sigue fallandome.

EN sesion.php

Código:
<?session_start();
$_SESSION['producto'] = $_GET['producto'];
echo json_encode($_SESSION['producto']);

?>
y en el script.php lo siguiente:

Código:
<?session_start();?>
<head>
<script type="text/javascript" src="../js/jquery.js"></script>

<script>

$(document).ready(function(){
			$('#texto').val();
			$('#boton').click(function(){
				$.ajax({
				type:'GET',
				url:'sesion.php',
				data:{"producto":$('#texto').val()},
                                success: function(data){

                                        datos = data;

                                         datos = $.parseJSON(datos);

                                         }
				});
			
				$('#mostrardatos').text(datos);
			});
});





</script>
</head>
<body>

<input type="text" id="texto" /><input type="button" id="boton" value="dar" />

<span id="mostrardatos"></span>
</body>
Ahora mismo ya no se donde falla :(
  #23 (permalink)  
Antiguo 14/06/2012, 02:49
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

cuando se usa parseJSON la función devuelve un array o una variable. El método text inserta texto, pero primero debes ver qué salida genera el json_encode().

Abre el script manual y envia la variable GET manualmente, o sea, abre el script desde el navegador.

sesion.php?producto=variable

sustituye variable por la variable que sea y pega aquí la salida que da

Por otro lado, si no especificas la no asincronidad de AJAX lo que sucede es que las sentencias más abajo se ejecutan independientemente de que la petición AJAX se haya resuelto, por lo tanto, puede suceder que al hacer $('#mostrardatos').text(datos), la variable datos aún no exista, de modo que cualquier cosa en que vayas a usar la variable introdúcela dentro de success, ya que success se ejecutará justo cuando la petición AJAX tenga respuesta y esta no sea errónea.
  #24 (permalink)  
Antiguo 14/06/2012, 02:55
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

Vale, el fallo está en el php.

Me sale error en la línea 3, es decir, el json

Fatal error: Call to undefined function json_encode() in C:\AppServ\www\web\definitiva\sesion.php on line 3

edito:
HE quitado json_encode() y ahora el ejemplo funciona, pero pinchando dos veces en el boton. Si sólo le doy una no sale nada.

He probado metiendo $('#mostrardatos').text(datos); dentro de success, pero haciendo esto deja de funcionar
  #25 (permalink)  
Antiguo 14/06/2012, 03:00
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Has de tener una versión antigua de PHP, json_encode() es una función de PHP 5 >= 5.2.0.

O actualizas a una versión de PHP mas reciente o usas http://www.boutell.com/scripts/jsonwrapper.tar.gz

ya sabes, usas un require e introduces jsonwrapper.php, luego llamas a la función mediante json_encode().
  #26 (permalink)  
Antiguo 14/06/2012, 03:13
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

Acabo de actualizar php.

Ahora si que me sale al entrar directamente en sesion.php?producto=carne el echo "carne"

Pero el ejemplo, si entro en script.php e introduzco en el textarea carne y le doy al boton, no me sale nada, aunque estoy seguro que es por lo que me comentaste de que .text es para texto y no para arrays.

Voy a buscar documentacion de como mostrar arrays en jquery.
  #27 (permalink)  
Antiguo 14/06/2012, 03:22
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Cita:
Iniciado por Gothgauss Ver Mensaje
Acabo de actualizar php.

Ahora si que me sale al entrar directamente en sesion.php?producto=carne el echo "carne"

Pero el ejemplo, si entro en script.php e introduzco en el textarea carne y le doy al boton, no me sale nada, aunque estoy seguro que es por lo que me comentaste de que .text es para texto y no para arrays.

Voy a buscar documentacion de como mostrar arrays en jquery.
UN echo imprime una variable, no un array convencional. Si sólo tienes un registro te irá bien de momento, pero cuando tengas 2 o más ya tendrás problemas. Entonces usarás print_r o alguna otra artimaña para devolver todos los valores (como bucles foreach, while o for). Como se que manejar datos en JSON es muy muy sencillo te aconsejé lo de json_encode().

Por ejemplo, si tienes el array array("carne","pescado","frutas","verduras"), json_encode lo convertiría a

Cita:
["carne","pescado","frutas","verduras"]
Luego, parseJSON convertiría esa salida (que es un STRING o una cadena) en un array JS de la siguiente forma:

Cita:
["carne","pescado","frutas","verduras"]
Y por tanto

array[0] devolvería carne
array[1] devolvería pescado

Por eso te recomiendo lo del JSON.
  #28 (permalink)  
Antiguo 14/06/2012, 03:23
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

El código de php queda así:
Código:
<?session_start();
$_SESSION['producto'][] = $_GET['producto'];
echo json_encode($_SESSION['producto']);

?>
y el script.php

Código:
<?session_start();?>
<head>
<script type="text/javascript" src="../js/jquery.js"></script>

<script>

$(document).ready(function(){
			$('#boton').click(function(){
	
			$.ajax({
				type:'GET',
				url:'sesion.php',
				data:{"producto":$('#texto').val()},
                                success: function(data){

                                        datos = data;

                                         datos = $.parseJSON(data);
						$.each(datos, function(i,j){		
                                                       $('#mostrardatos').text(value); 
							});
                                         }
											 
				});
				
			});
});





</script>
</head>
<body>

<input type="text" id="texto" /><input type="button" id="boton" value="dar" />

<span id="mostrardatos"></span>
</body>
pero no me da ningún resultado :(
  #29 (permalink)  
Antiguo 14/06/2012, 03:27
Avatar de dontexplain  
Fecha de Ingreso: junio-2012
Mensajes: 536
Antigüedad: 11 años, 10 meses
Puntos: 127
Respuesta: Variables de sesion

Cita:
Iniciado por Gothgauss Ver Mensaje
El código de php queda así:
Código:
<?session_start();
$_SESSION['producto'][] = $_GET['producto'];
echo json_encode($_SESSION['producto']);

?>
y el script.php

Código:
<?session_start();?>
<head>
<script type="text/javascript" src="../js/jquery.js"></script>

<script>

$(document).ready(function(){
			$('#boton').click(function(){
	
			$.ajax({
				type:'GET',
				url:'sesion.php',
				data:{"producto":$('#texto').val()},
                                success: function(data){

                                        datos = data;

                                         datos = $.parseJSON(data);
														$.each(datos, function(i,j){
																	 $('#mostrardatos').text(value); 
															})
                                         }
											 
				});
				
			});
});





</script>
</head>
<body>

<input type="text" id="texto" /><input type="button" id="boton" value="dar" />

<span id="mostrardatos"></span>
</body>
pero no me da ningún resultado :(
$('#mostrardatos').text(value);

ese value de donde viene, si estás haciendo un bucle, el valor es la segunda variable del argumento, o sea, la j

$('#mostrardatos').html(j);
  #30 (permalink)  
Antiguo 14/06/2012, 03:32
 
Fecha de Ingreso: marzo-2009
Mensajes: 395
Antigüedad: 15 años, 1 mes
Puntos: 11
Respuesta: Variables de sesion

Me has contestado juisto cuanto estaba editando.

Al acceder nuevamente yo direcatamnete a la pagina sesion.php?producto=carne me da ahora el error de que no he declarado bien la variable de sesion como array.

Yo la he declarado así

$_SESSION['producto'][]= $_GET['producto'];

lo cual creo que es correcto.

VOy a hacer el cambio del .html(value) que se me escapó de la documentación jquery cambiarlo.

Etiquetas: php, 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 04:07.