CGI :: Pesquisa

maneira simples de usar um CGI para pesquisar arquivos de banco de dados de texto plana
Baixe Agora

CGI :: Pesquisa Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Nome do editor:
  • Timm Murray
  • Site do editor:
  • http://search.cpan.org/~tmurray/

CGI :: Pesquisa Tag


CGI :: Pesquisa Descrição

Maneira simples de usar um CGI para pesquisar arquivos de banco de dados de texto plana Muitos cgis simplesmente pesquisam bancos de dados de texto plana e retornam os resultados para o navegador. CGI :: Pesquisar implementa uma interface genérica para pesquisar esses bancos de dados e retornar um objeto HTML :: modelo pronto para ser apresentado ao navegador. Retornando os dados como um hash-of-arrays também é possível, embora isso provavelmente seja menor na prática.Input do usuário e o banco de dados for facilmente verificado, tornando-o simples de escrever código seguro e mais robusto. O purista observará que dois conceitos ortogonais (pesquisa e validação de entrada de usuário) estão sendo colocados juntos. Nesse caso, rejeitei a abordagem purista porque vinculando esses dois juntos a tornará tão fácil fazer validação de que não há desculpa para não fazê-lo. Se os puristas quiserem usar um módulo diferente (e, provavelmente, escrever o dobro do código, isso é bom com Me.Synopsis Use CGI :: Pesquisar QW (: validadores); Use CGI QW (: Padrão); meu $ tmpl_file = '/ caminho / para / molde'; meu $ db_file = '/ caminho / para / flat_file'; meu $ db_seperator = '\ |'; # Certifique-se de escapar de qualquer regex especial Chars e colocar em citações simples # Este não é um bom validador. Não faça isso. meu $ custom_validator = sub {if ($ _ = ~ / a(.*) \z/) {retorno (1, $ 1, "passado"); } else {return (0, undef, "$ _ não é válido"); }}; # Campos de banco de dados Descrição Meu @db_fields = (, , , , ; # Opções de paginação. Todos são automaticamente verfied como um inteiro my $ resultados_per_page = param ('results_per_page') || 0; meu $ max_results = 0; # Infinito meu $ página_number = param ('página') || 0; # Opções de pesquisa My% Search = (num1 => , email => ,); # Outros campos. Estes são passados para o seu script quando a paginação ocorre, # mas não estão envolvidos na pesquisa my% outro = (param1 => param ('param1') || 0, param2 => param ('param2') || 0,) ; My $ Busca = CGI :: PESQUISA-> NOVO (SCRIPT_NAME => $ Env {script_name}, modelo => $ tmpl_file, db_file => $ db_file, db_seperator => $ db_seperator, db_flields => \ @db_fields, resultados_per_page => $ Resultados_per_page, max_results => $ max_results, page_number => $ paz_number, Search_fields => \% Search, Outro => \% outro,); # List context - retorno Array-of-hashes Meu @Data = $ Pesquisa-> Resultado (1) ou die "Erro:". $ Pesquisa-> errstr (); # Contexto Scalar - Retornar o objeto HTML :: Modelo My $ TMPL = $ Pesquisa-> Resultado (1) ou morrer "Erro:". $ Pesquisa-> errstr (); My% new_search = (num1 => , email => ,); # Executar uma pesquisa com parâmetros diferentes Meu $ new_tmpl = $ Search-> Result (1, \% new_search); Requisitos: · Perl.


CGI :: Pesquisa Software Relacionado