Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Alex_ps

Armazenamento de Informações em Loja Virtual

Recommended Posts

Saudações amigos!

 

Estou desenvolvendo uma Loja Virtual e creio que o projeto atingiu exatamente o problema que eu queria evitar.

A idéia é que, ao construir o carrinho de compras, eu evitei a todo custo armazenar as informações em um banco de dados, até que o pedido fosse efetivamente concluído.

Os problemas começaram quando eu acrescentei a busca de informações de frete no site dos correios, o que gerou instabilidade e perda em informações da Session Carrinho. Em alguns casos, o simples fato de calcular o frete, retira um ítem do carrinho, ou coisas do gênero.

Como tem ainda Session de cliente logado, frete e subtotal, às vezes, só o fato de acrescentar um ítem na loja, faz com que suma um ítem da loja.

Já revisei os códigos e aparentemente não há erros.

À partir daí, resolvi salvar e recuperar o conteúdo carrinho, entre as operações. Porém para fazer isto, não entendo como farei para que uma mesma pessoa necessariamente recupere seu próprio pedido, ou coisa do gênero.

Pensei em organizar pelo IP do visitante, mas surge o problema de mais de uma pessoa acessar a loja com o mesmo IP. Pensei em Cookie, mas tem o caso de pessoas que usam o browser com Cookies desabilitados. Pensei em cabeçalho Http, mas pode ser que este tipo de recurso, possa incorrer no mesmo estouro de buffer que está acontecendo.

Também suponho que seja problema com buffer pois a loja estava habilitada em buffer=true e quando eu tirei, melhorou uns 30% mas não resolveu.

Alguém teria uma sugestão por favor?

Muito obrigado!

Abraços

Alex

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você não usar o Session.Abandon pode usar o Session.SessionId para pegar o único numero de sessão, independente do IP que acessa. Nunca tive problemas pra criar o carrinho em Sessions, possivelmente há alguma falha na programação que você não conseguiu achar pra ela ser perdida quando calculado o frete.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi Jonathan,

 

Muito obrigado por sua resposta!

O problema para a captura do Cep ocorre, porque estou utilizando o metodo Get e Request.ServerVariables("SCRIPT_NAME") - um script que peguei no banco de scripts.

Com isto, preciso efetivamente deixar a página carrinho e retornar para ela em um response.redirect, à partir da página que recebe as informações da URL dos correios. Neste caminho a Session se perde, mas somente se o pedido estiver com muitos ítens, por isso creio que é problema de buffer.

Eu tentei utilizar XMLHttp em processamento paralelo, mas a URL dos correios não permite.

Vou começar salvando a Session Carrinho, antes de ir aos correios e recuperando-a depois de voltar dos correios, daí a necessidade de atrelar a operação à algum referencial, como o IP ou o Sessionld (que eu não conheço), que você citou.

Por enquanto obrigado e um abraço.

 

Alex

Compartilhar este post


Link para o post
Compartilhar em outros sites

pra usar

 

response.write Session.SessionId

 

só vai mudar se você fechar o browser, redirecionar para outro servidor e reotrnar ou der o session.abandon

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.