Ir ao conteúdo
  • Cadastre-se

PHP Como suspender o parâmetro $_GET se o select ou input estiver vazio?


Posts recomendados

  • Moderador

@Ivan Gustavo Por que não testar ela antes de enviar algum dado?

 

Exemplo:

<input type="text" name="nome" />
$nome = $_GET["nome"];

if empty($nome):
   echo "<script>  
             alert('Preencha o campo');
         </script>";
    exit;
else:
    // faz a ação 
endif;

 

No caso, o exit, termina a execução do script.

Link para o comentário
Compartilhar em outros sites

@DiF Por exemplo quando envio o form via GET para a página (Via action), ele coloca todos os campos do form na URL mesmo eles estando vazios (tanto os selects quantos os Inputs). O que eu gostaria de fazer era não enviar para a URL os que o usuário não colocar na busca. Entendeu?

Link para o comentário
Compartilhar em outros sites

AI é que mora o problema, por exemplo quando eu mando via post e o usuário acessa detalhes dos itens listados e ele volta, os dados que foram passados via post expiram e é necessário o usuário dar um F5 para Reenviar o formulário, ou voltar para a pesquisa, perdendo o que já pesquisou. Tem também a opção de salvar busca, com o post não consigo. Só se existe alguma forma que desconheço.

@DiF Eu até validaria e obrigaria o usuário a preencher todos os campos, mas todos os campos não são obrigatórios. Por isso não consigo validar. Ai to tentando achar soluções e sugestões.

Link para o comentário
Compartilhar em outros sites

  • Moderador

@Ivan Gustavo Já tentou usar o ajax para fazer as requisições sem a necessidade de usar o F5?

Sugeri o método de POST, porque ele não mostra na url o que foi pesquisado, diferente do GET. Além disso, o GET tem um limite de caracteres, 512 caracteres que eu  me lembro bem.

 

Ademais, você pode recorrer a prevenir o uso do F5 com javascript e/ou usar o sessions 

https://stackoverflow.com/questions/6320113/how-to-prevent-form-resubmission-when-page-is-refreshed-f5-ctrlr

 

Mas o ideal mesmo, é usar o ajax. Felizmente o jQuery, tem funções especializadas nisso.

 

Você pode até fazer pesquisas baseadas na digitação, conforme digita vai mostrando o resultado, além disso, podes criar uma espécie de pesquisas avançada, onde você separa as coisas por algum caractere como ponto e virgula, coloca em um array e percorre com foreach, mostrando o resultado da pesquisa para cada coisa separada..

Bem.. isso são só ideias, talvez  não seja a solução que você procura... Mas o que vale é sempre buscar conhecimento :) 

 

 

 

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...