Foros del Web » Programando para Internet » PHP »

Variables De Sesion En Php

Estas en el tema de Variables De Sesion En Php en el foro de PHP en Foros del Web. Hola Tengo en mi aplicacion tres variables de sesion: $_SESSION['Login']; $_SESSION['Password']; $_SESSION["elcarro"] = new carrito(); //Clase PHP para el carrito de la compra Cuando navego ...
  #1 (permalink)  
Antiguo 13/01/2005, 15:14
 
Fecha de Ingreso: mayo-2004
Mensajes: 29
Antigüedad: 13 años, 6 meses
Puntos: 0
Variables De Sesion En Php

Hola
Tengo en mi aplicacion tres variables de sesion:


$_SESSION['Login'];
$_SESSION['Password'];
$_SESSION["elcarro"] = new carrito(); //Clase PHP para el carrito de la compra


Cuando navego por las paginas php se mantiene las variables de sesion de Login y Password, pero cuando utilizo la de "elcarro" me dice que el objeto no se ha inicializado y que no se puede acceder a sus propiedades: Me sale este error:


Fatal error: Unknown(): The script tried to execute a method or access a property of an incomplete object. Please ensure that the class definition <b>carrito</b> of the object you are trying to operate on was loaded _before_ the session was started in C:\PracticaBDEnero\mete_producto.php on line 90

Lo soluciono haciendo en esa misma página:
$_SESSION["elcarro"] = new carrito(); y me funciona. Aunque no quiero que cada vez que pase por la pagina se me cree un nuevo carrito

¿Por que mantengo las otras dos variables de sesion y la otra no?

Si hay alguien al que le haya pasado que me comente como solucionarlo, se lo agradeceria
Un saludo
  #2 (permalink)  
Antiguo 13/01/2005, 15:19
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Vease serialize y unserialize.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #3 (permalink)  
Antiguo 14/01/2005, 01:40
 
Fecha de Ingreso: mayo-2004
Mensajes: 29
Antigüedad: 13 años, 6 meses
Puntos: 0
Poniendo en la página de inicio :

$_SESSION["elcarro"] = serialize(new carrito()(; //Clase PHP para el carrito de la compra

Y luego referenciando en otra página de la aplicación:

$_SESSION["elcarro"] ->insertar(id)

Sigue ocurriendome el mismo error diciendo que $_SESSION["elcarro"] no ha sido creado
Un saludo
  #4 (permalink)  
Antiguo 14/01/2005, 06:17
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 13 años
Puntos: 34
Es que no tenes que hacer asi. Intenta haciendo esto:
Código PHP:
<?php
if(isset($_SESSION["carro"]) && $_SESSION["carro"]!=''){
$carrito unserialize($_SESSION["carro"]);
}else{
$carrito = new carrito;
}
?>
Esto para setar el objeto. Despues, para agregar, suponiendo que el metodo es add_item, y que estas mandando por post el item, haces esto:
Código PHP:
<?php
if($_POST["accion"]=='add'){
$carrito->add_item(intval($_POST["miItem"]),intval($_POST["cantidad"]));
$_SESSION["carro"] = serialize($carrito);
echo 
"<script>window.location = 'estapagina.php'</script>"//para no dejar la pagina con el metodo post enviado
}?>
Y lo mismo para todos los metodos que tengas de la classe.
__________________
Mi punto de partida es Que Bueno Lo Nuevo

Última edición por nicolaspar; 14/01/2005 a las 06:18
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 23:12.