Foros del Web » Programando para Internet » PHP »

variable Session en varias paginas

Estas en el tema de variable Session en varias paginas en el foro de PHP en Foros del Web. Buenas noches a todos! Tengo un problemilla que no se solucionar, lo pongo a continuación: He visto algunos ejemplos de compartir variables de sesiones. Por ...
  #1 (permalink)  
Antiguo 29/06/2009, 17:34
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
variable Session en varias paginas

Buenas noches a todos!

Tengo un problemilla que no se solucionar, lo pongo a continuación:

He visto algunos ejemplos de compartir variables de sesiones. Por ejemplo
tenemos en una pagina index con:

Código PHP:
<?php
session_start
();
$_SESSION['usuario'] = 'pepito';
?>
<html>
<head>
<title>Prueba de sesión</title>
</head>
<body>
<a href='dos.php'>Ir a la segunda página</a>
</body>
</html>
Y en dos.php tenemos esto:
Código PHP:
<?php
session_start
();
echo 
$_SESSION['usuario'];
?>

Esto funciona bien pero ahora imaginemos que en lugar de una sola variable de texto tenemos una variable sesion de la clase carrito que contiene otras variables :

Código PHP:
//inicio la sesión
session_start();
//si no esta creado el objeto carrito en la sesion, lo creo
if (!isset($_SESSION["ocarrito"])){
    
$_SESSION["ocarrito"] = new carrito();
}
class 
carrito {
    
//atributos de la clase
       
var $array_id_prod;
       var 
$array_cantidad_prod;

    
function carrito () {
           
$this->num_productos=0;
    } 
Bien pues si en la pagina dos.php ponemos esto:
Código PHP:
<?php

   session_start
();
    echo 
$_SESSION["ocarrito"]->array_id_prod;
?>
No nos muestra nada, es correcta la forma de hacer el echo, es decir, dólar session flecha y el nombre de la variable de la clase?

Gracias, espero su respuestas porque ya no se que hacer!!!!
  #2 (permalink)  
Antiguo 29/06/2009, 18:07
Avatar de rudy69  
Fecha de Ingreso: octubre-2008
Ubicación: espndeportes.com
Mensajes: 195
Antigüedad: 15 años, 6 meses
Puntos: 7
Respuesta: variable Session en varias paginas

la clase esta mal hecha, le asignas un valor a $num_productos cuando llamas a la funcion carrito, si no la llamas no le asignas nada, en ese caso primeor llama carrito, y luego la variable

$_SESSION["ocarrito"]->carrito();
echo $_SESSION["ocarrito"]->array_id_prod;
  #3 (permalink)  
Antiguo 29/06/2009, 18:33
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: variable Session en varias paginas

Holas,

Lo que podrias hacer es usar la session mas o menos asi:

$_SESSION['carrito']['cantidad']=un_valor_entero.

Saludos
Gildus
__________________
.: Gildus :.
  #4 (permalink)  
Antiguo 30/06/2009, 01:45
Avatar de nolose  
Fecha de Ingreso: diciembre-2007
Ubicación: España
Mensajes: 165
Antigüedad: 16 años, 4 meses
Puntos: 2
Respuesta: variable Session en varias paginas

¿Y sabeis como se supone que podria llamar a la funcion haciendo clic en un boton de formulario?
  #5 (permalink)  
Antiguo 30/06/2009, 04:14
 
Fecha de Ingreso: junio-2009
Mensajes: 3
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: variable Session en varias paginas

Hola!

Para poder pasar una variable de clase por variables de sesión primero la tienes que serializar y luego deserializarla donde la vayas a utilizar, para serializar serai algo asi:

en index.php por ejemplo:

Código PHP:

$_SESSION
['carrito'] = serialize($carrito); 
y para poder utilizarla solo tienes que deserializar:

en dos.php:

Código PHP:

$carro 
unserialize($_SESSION['carrito']); 
Espero haberte ayudado ^^
  #6 (permalink)  
Antiguo 30/06/2009, 07:51
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: variable Session en varias paginas

Holas,

Si deseas hacer un carrito de compras por ejemplo, tienes muchisimas formas de hacerlo para llenar o almacenar productos en tu carrito de compras, hay muchisimos ejemplos incluso ya hechos en la red, que te podrian ayudar.


Saludos
Gildus
__________________
.: Gildus :.
  #7 (permalink)  
Antiguo 30/06/2009, 11:02
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: variable Session en varias paginas

Adicional a los comentarios también asegurate de incluir la definición de la clase carrito antes de llamar a session_start() o el script te va a dar problemas.

Saludos.
  #8 (permalink)  
Antiguo 30/06/2009, 11:18
 
Fecha de Ingreso: mayo-2009
Mensajes: 62
Antigüedad: 15 años
Puntos: 2
Respuesta: variable Session en varias paginas

Yo lo hago de la siguiente forma, igual te sirve:

Código Mi c&#243:
Ver original
  1. ob_start("ob_gzhandler");
  2.  
  3. session_start();
  4. mysql_connect("mysql.misitio.com","miusuario","miclave");
  5. mysql_select_db("mibase");
  6. if(isset($_SESSION['carro']))
  7. $carro=$_SESSION['carro'];else $carro=false;


Para llamar a alguna de las funciones desde el botón, lo tengo más o menos así:

Código Bot&#243:
Ver original
  1. <a href="borracar.php?<?php echo SID ?>&id=<?php echo $row['id']; ?>"

Todo mi código lo cierro al final con

Código Cierre:
Ver original
  1. ob_end_flush();

Espero que te de una pista.
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:41.