Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema ao enviar dados refresh f5

23-02-2011 16:57

Olá.
Tenho o seguinte código:
if ($funcao == "inserir"){ if ($_SESSION["cliente"] !="" || $_SESSION["cliente"] != 0){ $sql_ver = mysql_query("SELECT * FROM carrinho WHERE id_produto = '$id_produto' AND id_pedido = '".$_SESSION["id_pedido"]."'"); $tem = mysql_num_rows($sql_ver); if ($tem > 0){ $sql = "UPDATE carrinho SET quantidade = quantidade + 1 WHERE id_produto = '$id_produto' AND id_pedido = '".$_SESSION["id_pedido"]."'"; }else{ $sql = "INSERT INTO carrinho (id_pedido, id_produto, codigo, quantidade ) VALUES ('".$_SESSION["id_pedido"]."','$id_produto','$codigo','1')"; } mysql_query($sql) or die ("Não foi possível inserir os dados"); } }

Fiz um pedido de um produto, vai para o pedido, lá tem esse código aí.
Aí vem o problema, se eu der um F5 ou atualizar o browser, ele aumenta o último item que fiz o pedido. Isso pq a continua como $funcao = inserir.
A única maneira que consegui fazer, foi colocar isso em outra página e chamar por um include e depois dar um refresh.
Mas queria uma forma direta, é possível?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17404
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema ao enviar dados refresh f5

23-02-2011 17:00

Se os dados de atualização estiverem no mesmo documento após o envio, sempre dá esse refresh reenviando os dados. Para resolver esse problema, você deve redirecionar o usuário para outra página informando que a operação foi realizada com sucesso. Pode usar o header location.
0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema ao enviar dados refresh f5

23-02-2011 20:10

Pois então.
Lembrando que estou trabalhando com URL amigável. Estou modificando um projeto na verdade.
Eu fiz isso, coloquei um header location para a mesma página, pois tenho ali as opções para aumentar ou excluir itens e finalizar o pedido.
Também tenho nesta página, uma opção para voltar para a categoria-subcategoria e página onde está o item (continuar fazendo pedidos).
O que estou me enrolando mesmo é com este voltar, pois quero voltar para a paginação onde estava.

Tenho um botão orçar. Estava pensando se não deveria derrepente salvar as informações da paginação, categoria... em uma sessão para fazer o voltar e depois quando clicar em voltar, quebrar a sessão.

O que acha, pode dar certo?
Ou estou muito doido e tens uma sugestão?

até mais
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17404
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema ao enviar dados refresh f5

23-02-2011 20:44

Sem ver como é seu sistema é meio complicado opinar. Você poderia salvar as informações necessárias para que o usuário volte para onde estava no próprio header location. Tipo documento.php?area=valorsalvo
0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema ao enviar dados refresh f5

23-02-2011 20:56

Deixa eu ver se consigo explicar + ou -.
Tenho no menu:
categoria x | subcategoria y | produto z -> (paginação de 9 produtos aparecendo por vez).
Digamos que eu clique na página 5 e queira orçar um item.
Então clico em orçar e vou para pedidos.
Então eu resolvo continuar vendo os produtos da mesma página, ou queira ir para a a pg 6 por exemplo.
Então eu tenho um botão em pedidos que diz, contunuar orçando.
Eu quero voltar para este caminho ao clicar em continuar orçando.
categoria x | subcategoria y | produto z | pagina 5
Eu preciso gravar a infor de onde veio o produto para depois voltar, caso eu queira ou então finalizo o orçamento.

Não sei se fui claro.

até...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17404
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema ao enviar dados refresh f5

23-02-2011 21:29

Mas esses submenus, são criados a partir de valores passados por link?
0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema ao enviar dados refresh f5

24-02-2011 08:55

Sim.
Estou eu lá na minha página de produtos.
Em: www.meusite/categoriaX/subcategoriaY/5 -> (categoria/sub/paginação = 9 itens por vez).
Então dou um click em orçar em um determinado item.
Mando tudo isso para pedidos. através de um form com campo submit hidden:

recebo em pedidos + ou - assim:
$categoria = categoriaX
$subcategoria = subcategoriaY
$pagina = 5
$funcao = inserir

Até aqui beleza. Poderia fazer o location: www.mmeusite/categoriaX/subcategoriaY/5, que eu voltaria onde estava. Mas, se eu der um F5, o último item fica aumentando sozinho, pq continua a $funcão=inserir.
Então para resolver coloquei um location para a mesma pagina "Pedidos", para de atualizar automaticamente, mas então perco as informações vinda quando dou o submit em orçar lá no início do processo.
Outro problema também, é que quando clico em orçar, ele vai para pedidos e relaciona como 1 item, mas se eu atualizar a quantidade, tipo 3 itens, a página também vai dar um refresh e novamente perco as informações vindas do submit.

Sei lá se expliquei melhor ou enrolei mais ainda. Mas é isso, queria uma forma de salvar as informações quando clicar em orçar, e quebra-las ao sair de pedidos.

Até mais.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17404
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Problema ao enviar dados refresh f5

24-02-2011 10:06

Quando você aperta o F5, aparece aquela mensagem do navegador de reenviar os dados? Se não aparecer, você pode colocar um if para tratar aquela variável que incrementa valor só quando o usuário chegar na página via POST.

Se não der certo, acho que o que dá para fazer é trabalhar com SESSIONS.

Você pode usar o script abaixo como base
Armazenando-varios-valores-em-uma-session_15_415.html
1
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Problema ao enviar dados refresh f5

28-02-2011 21:20

Até pensei em fazer com coockie, mas parti para session mesmo.
Está funcionando tudo como esperava.

até mais e muito obrigado.
1

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado