Pergunta

Meu problema é que o botão Voltar faz com que o navegador diga algo como "Página expirada" quando a página anterior foi criada por um formulário.

Exemplo:

  • Página 1:Formulário enviado com critérios de pesquisa (solicitação $ _Post, o formulário aponta para a página2)
  • página 2:Recebe a solicitação $ _Post e o resultado (lista de usuários com links, pontos para a página3)
  • página3:Mostrar perfil do usuário

Agora, quando o visitante clicar no botão Voltar do navegador, será exibido algo como “Página expirada”.

Em vez disso, a página anterior deve ser mostrada sem avisos (página2, com a lista de usuários)

Como estão suas estratégias para contornar esse comportamento?

Foi útil?

Solução

Se você está enviando um para os parâmetros de pesquisa, está tentando pegue Alguns dados, não modificam alguns.

Portanto, você deve usar o método HTTP GET, e não postar: a postagem deve ser usada quando você pretende criar/modificar dados e obter deve ser usado quando você pretende buscar alguns dados.


Ou, se você tiver alguma operação de criação/modificação que deve ser feita:

  • O formulário primeiro posts em uma primeira página
    • Essa página faz algumas operações (como escrever algo em um banco de dados)
    • E depois redireciona para outra página, usando um Location Cabeçalho HTTP.
  • É essa última página, que são consultas pelo navegador usando solicitações GET, que exibe os dados obtidos a partir dos parâmetros recebidos no URL.

Veja o Postar/redirecionar/obter Página na Wikipedia, sobre isso.

Outras dicas

Eu fiz isso usando uma coluna em uma lista do SharePoint e a funcionalidade de "Lookups de fluxo de trabalho".Eu criei uma lista "wfcontactslist" com uma coluna "Ccemail. Nota que isso precisa estar no mesmo coletor de site que a lista que terá o fluxo de trabalho associado. Na coluna" Ccemail ", você pode ter mais de um email (que representa meugrupo) Ao separar e-mails com um semi-dois. Um bônus para mim é que eu possa alterar facilmente indivíduos no grupo CC, editando meu WFContactSlist. Espero que ajude.

Não use postagem para pesquisa. A pesquisa pode ser feita com segurança, pois não alterará nada.

Isso se aplica ao PHP e IE8.

Você não apenas deve definir o cache para privado, mas também deve remover os 4 cabeçalhos de cache e isso só pode ser feito com o PHP 5.3. No Php 5.2, você pode definir apenas os 4 cabeçalhos como valores em branco se estiver usando o método setheader () da Zend Framework. Por algum motivo, não é suficiente no IE8 para definir os 4 valores de cabeçalho para valores vazios. Aqui está o código para Php 5.3:

    header_remove("Expires");
    header_remove("Cache-Control");
    header_remove("Pragma");
    header_remove("Last-Modified");

Você pode usar a sessão para fazer isso.

por exemplo.

$_SESSION['nome'] = $_POST['nome'];

Lembre-se de cancelar a configuração de suas variáveis ​​após a conclusão do processo para otimizar o uso da memória.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top