Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá a todos.
Estou fazendo um site para um supermercado.
Fiz um carrinho de compras utilizando sessão, mas estou com um problema.
Ao logar no site chamo a seguinte função:
function Logar($usuario, $senha){
$sql = "SELECT * FROM clientes WHERE email = '{$usuario}' AND senha = '{$senha}'";
$rs = $this->DB->GetRow($sql);
if(count($rs) > 0){
$_SESSION['log'] = true;
$_SESSION['usuario'] = $usuario;
$_SESSION['nome'] = $rs['nome'];
$_SESSION['id'] = session_id(); //aqui está o problema
$_SESSION['id_cliente'] = $rs['id'];
$this->Mensagem("Seja bem-vindo(a) {$rs['nome']}! ", "?pagina=principal");
}else{
$this->Mensagem("Usuário ou senha incorretos. Tente novamente.","?pagina=login");
}
}
O id do carrinho é o mesmo id do $_SESSION['id'].
A primeira compra funciona normalmente. Mas caso o cliente resolva comprar novamente (sem deslogar), o id do carrinho será o mesmo (duplicando os dados no BD).
Tentei dar um session_regenerate_id() ao finalizar a compra, mas ele nao regenera.
Alguem saberia me ajudar?
Obrigado
ps: já li os tópicos sobre carrinho de compras, regenerate_id e outros parecidos que encontrei aqui no fórum. Nao encontrei a solução.
Carregando comentários...