Foros del Web » Programando para Internet » PHP »

usuarios registrados y no registrados con sesiones

Estas en el tema de usuarios registrados y no registrados con sesiones en el foro de PHP en Foros del Web. Mi duda es la siguiente, trabajo en un proyecto que es un banco de imagenes, en el cual manejo un carrito de compras con sesiones, ...
  #1 (permalink)  
Antiguo 03/05/2004, 13:11
 
Fecha de Ingreso: abril-2004
Mensajes: 13
Antigüedad: 20 años
Puntos: 0
usuarios registrados y no registrados con sesiones

Mi duda es la siguiente, trabajo en un proyecto que es un banco de imagenes, en el cual manejo un carrito de compras con sesiones, el usuario no necesita registrarse para poder ver el carrito de compras y almacenar fotos, yo le pido que se registre hasta que va a confirmar el pedido.
Esto me funcionaba bien, hasta que tontamente me percate, de que tambien quiero que el usuario pueda registrarse antes, y no hasta que haga el pedido, mi duda en concreto es, como hago para que mi sistema pueda trabajar con usuario registrados y no registrados, si manejo sesiones.

no se si me di a entender...pero de todas maneras, espero una respuesta, gracias..

Hasta ahorita en mi sistema, inicio una sesion hasta que el usuario desea agregar una foto a su carrito, pero como hago para que esa sesion tambien pueda funcionar si el usuario ya esta registrado, el codigo que utilizo para agregar a mi carrito fotos es el siguiente


session_name('itemsEnCesta');
session_start();
$itemsEnCesta=$_SESSION['itemsEnCesta'];
$item=$_GET['item'];
$cantidad=$_GET['cantidad'];
$itemsEnCesta=$_SESSION['itemsEnCesta'];

if ($item){
if (!isset($itemsEnCesta)){
$itemsEnCesta[$item]=$cantidad;
}else{
foreach($itemsEnCesta as $k => $v){
if ($item==$k){
$itemsEnCesta[$k]+=$cantidad;
$encontrado=1;
}
}
if (!$encontrado) $itemsEnCesta[$item]=$cantidad;
}
}
$_SESSION['itemsEnCesta']=$itemsEnCesta;



si el usuario se registra, verifico sus datos y son correctos, le puedo dar el mismo nombre de la sesion itemsEnCesta, o necesito crear otra sesion con otro nombre... bueno, esa es mi duda, gracias...
  #2 (permalink)  
Antiguo 03/05/2004, 15:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
El nombre de la sesión debería ser el mismo que gestionas en tu sitio .. puede ser tu "itemsEncesta" o simplemente no usar nombre de sesión (session_name("nombre")) y dejar el que PHP pone por defecto (PHPSID o algo así ..). Lo que importa son las variables que vas a propagar en esa sesión.

Create una variable de sesión que lleve el ID de tu usuario (identificativo de tu BD o sistema donde almacences y gestiones tus usuarios) al hacer el login tu usuario.

En tu proceso de finalizar compra haces una simple comprobación a esa variable tipo:

Código PHP:
if (isset($_SESSION['id_usuario'])){
// mandas a ejecutar tu proceso de registro de tu carrito en tu BD o donde lo almacenese o destiono que le des bajo el ID_usuario 

} else {
// tu código de registro del usuario o redireccionamiento hacia la actual página de registro. y resto del proceso.


Tu actual carrito (array que llevas en tu array) no afecta para nada el proceso. Sólo necesitas controlar si se ha de hacer el prodceso directamente de gestión de esos datos o bien se ha de pasar por el registro del usuario como ya lo haces actualmente.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.

Última edición por Cluster; 03/05/2004 a las 15:22
  #3 (permalink)  
Antiguo 03/05/2004, 15:44
 
Fecha de Ingreso: abril-2004
Mensajes: 13
Antigüedad: 20 años
Puntos: 0
gracias por responder, en este momento, voy a hacer lo que me dices...y luego te digo como quedo....
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 19:08.