Pergunta

Qual é o melhor método para fazer o seguinte:Eu tenho a página A com 2 botões (para coisas diferentes) que levam você a uma página de login (página 3). Quando os detalhes de login são preenchidos na página 3, a página que trata os dados é a página 4.Quero que a página 4 mostre coisas dependendo de qual botão foi clicado na página a.Eu li sobre o referenciador http, mas acredito que se eu colocar um referenciador na página 4, ele mostrará a página anterior de onde venho, que é o login.

Como posso resolver isto?Obrigado

Foi útil?

Solução

HTTP-Refferer não é a melhor solução para fazer isso. A maneira mais simples é adicionar um pouco de parâmetro para obter a matriz, por exemplo ?clicked_button=2 HTTP-Refferrer pode estar desligado. Além disso, o referente será exibido o mesmo URL para esses botões (ambos estão em uma página)

Editar mediante solicitação: você pode fazer isso sem forma,<button id="button1" onClick = "javascript:location = "page3.php?clicked_button=1"; />

e em page3.php Basta ler o valor em $_GET['clicked_button']: if($_GET['clicked_button'] == 1) ...

Outras dicas

O referente nem sempre é enviado por navegadores e pode ser falsificado (E, neste caso, como ambos os botões estão na mesma página, seria meio inútil) ; Portanto, você não deve depender de estar definido nem correto.

Nesta situação, uma possível solução seria:

  • Na página A, adicione alguma variável em seus dois botões
    • Curti "page_login.php?button=1"
    • e "page_login.php?button=2"
  • O login da página receberá essa variável (ou seja, $_GET['button']) e armazene -o em um campo oculto da forma
  • Page 4, por sua vez, receberá essa variável; E você pode usá -lo para saber qual botão foi usado pela primeira vez.

Use uma variável de sessão, por exemplo $_SESSION['clicked_button'] = $the_button.

Lembre-se de ter um padrão em qualquer caso se essas variáveis ​​não existirem, ou seja, o usuário interfere no seu formulário...mas você deveria usar métodos para evitar isso de qualquer maneira;)

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