É o seguinte. Estou finalizando uma loja virtual para um cliente meu, porém estou armazenando o acesso e as compras antes de se logar através de cookies:
E depois armazeno no banco a sessao criada $SessaoCliente. Só que quero fugir do cookie e usar sessão, pois o usuário pode estar com o cookie desabilitado, etc....
A minha idéia inicial era criar com sessões:
Depois, claro, armazeno no banco como estava os cookies.
Legal, ok, funciona... só que estou esbarrando na seguinte dúvida:
Quando ele se loga na loja, antes ou depois de colocar as compras no carrinho, fica mais fácil pegar a sessão, pois identifico o cliente pelo ID e crio uma nova sessão com a sessão armazenada, porém quando ele fecha o browser e não se loga, a sessão é perdida e os dados no carrinho somem (apesar de estar armazenada no banco) e quando o cliente volta, as compras desaparecem do carrinho, exatamente porque foi criada uma nova sessao. Com isso, a tabela corre o risco de ficar com lixo.
Quero contornar isso. Por ex. Na loja como o Extra (www.extra.com.br), o que ocorre? eu seleciono um produto, o produto vai para o carrinho, mesmo que eu feche o browser e volte, mesmo que não esteja logado na loja, as compras permanecem no carrinho e o legal é que quando me logo e saio da loja pelo "sair", as minhas compras também desaparecem, aparecendo depois que me logo novamente.
Alguém teria poderia me ajudar nesse raciocínio? Não preciso do código, mas apenas uma idéia de como poderia fazer isso, de preferência sem usar cookies.
Pensei em usar o IP do usuário, mas ele pode estar com IP dinâmico.....
Pergunta
MTavares
Pessoal.
É o seguinte. Estou finalizando uma loja virtual para um cliente meu, porém estou armazenando o acesso e as compras antes de se logar através de cookies:
E depois armazeno no banco a sessao criada $SessaoCliente. Só que quero fugir do cookie e usar sessão, pois o usuário pode estar com o cookie desabilitado, etc.... A minha idéia inicial era criar com sessões:Depois, claro, armazeno no banco como estava os cookies.
Legal, ok, funciona... só que estou esbarrando na seguinte dúvida:
Quando ele se loga na loja, antes ou depois de colocar as compras no carrinho, fica mais fácil pegar a sessão, pois identifico o cliente pelo ID e crio uma nova sessão com a sessão armazenada, porém quando ele fecha o browser e não se loga, a sessão é perdida e os dados no carrinho somem (apesar de estar armazenada no banco) e quando o cliente volta, as compras desaparecem do carrinho, exatamente porque foi criada uma nova sessao. Com isso, a tabela corre o risco de ficar com lixo.
Quero contornar isso. Por ex. Na loja como o Extra (www.extra.com.br), o que ocorre? eu seleciono um produto, o produto vai para o carrinho, mesmo que eu feche o browser e volte, mesmo que não esteja logado na loja, as compras permanecem no carrinho e o legal é que quando me logo e saio da loja pelo "sair", as minhas compras também desaparecem, aparecendo depois que me logo novamente.
Alguém teria poderia me ajudar nesse raciocínio? Não preciso do código, mas apenas uma idéia de como poderia fazer isso, de preferência sem usar cookies.
Pensei em usar o IP do usuário, mas ele pode estar com IP dinâmico.....
Obrigado.
Editado por MTavaresLink para o comentário
Compartilhar em outros sites
6 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.