Ir para conteúdo
Fórum Script Brasil
  • 0

O problema do método GET e do método POST no MVC [Resolvido]


Frank K Hosaka

Pergunta

Faz uma semana que estou com problema numa classe chamada Pessoa, basicamente ele faz uma lista ou procura alguém.

Eu não entendi porque a rotina de procurar não funcionava.

Tenho uma outra classe chamada Produto, e ele funciona. Não consegui entender por que a classe Produto funciona e a classe Pessoa não funciona.

Fazendo um rascunho, eu descobri o problema:

<?php
class Teste {
    public function __construct(){
        if(isset($_GET)){
            $get=$_GET;
            switch(key($get)){
                case 'get':echo "método get";break;}}
        if(isset($_POST)){
            $post=$_POST;
            switch(key($post)){
                case 'post':echo "método post";break;}}}}
$teste=new Teste();
?>
<table>
<tr><td><form><input type=submit value=MetodoGet name=get></form>
<tr><td><form method=post><input type=submit value=MetodoPost name=post></form>
</table>

Graças a esse código, eu vi que usei o método post tanto para fazer a listagem inicial dos produtos bem como a procura de um produto.

Esse não foi o caso da classe Pessoas, eu usei o método get para fazer a listagem e o método post para procurar alguém. Para corrigir o problema, eu só mudei  o método da procura para get, dentro da classe Pessoas, bem como o <form> correspondente.

Editado por Frank K Hosaka
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

É possível usar o método GET para chamar um formulário, e usar o método POST para submeter o formulário. O único problema é atualizar o cabeçalho do navegador, e o único meio é usando o comando action do <form> assim:

arquivo Index.php
<?php
class Teste {
    public function __construct(){
        if(isset($_GET)){
            $get=$_GET;
            switch(key($get)){
                case 'get':echo "método get";break;}}
        if(isset($_POST)){
            $post=$_POST;
            switch(key($post)){
                case 'post':echo "método post";break;}}}}
$teste=new Teste();
?>
<table>
<tr><td><form><input type=submit value=MetodoGet name=get></form>
<tr><td><form action="index.php" method=post><input type=submit value=MetodoPost name=post></form>
</table>

 

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...