CGI :: Zoeken

Eenvoudige manier om een CGI te gebruiken om platte-tekstdatabase-bestanden te zoeken
Download nu

CGI :: Zoeken Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Naam uitgever:
  • Timm Murray
  • Uitgever website:
  • http://search.cpan.org/~tmurray/

CGI :: Zoeken Tags


CGI :: Zoeken Beschrijving

Eenvoudige manier van het gebruik van een CGI om te zoeken platte tekst databasebestanden Veel CGIs zoeken gewoon platte tekst databases en de terugkeer van de resultaten aan de browser. CGI :: Zoek implementeert een generieke interface voor het zoeken zoals databases en retourneren van een HTML :: Template object klaar om te worden voorgelegd aan de browser. Retourneren van de gegevens als een hash-of-arrays is ook mogelijk, hoewel dit waarschijnlijk minder zal worden gebruikt in practice.Input van de gebruiker en de database wordt gemakkelijk kunnen worden geverifieerd, waardoor het eenvoudig te schrijven beveiligde en robuuster code.An Object Oreinted purist zal opmerken dat twee orthogonale concepten (zoeken en input van de gebruiker validatie) worden samengevoegd. In dit geval heb ik de puristische aanpak verworpen omdat binding van deze twee samen zullen maken het zo makkelijk om de validatie te doen dat er geen excuus om het niet te doen. Als de puristen willen een andere module (en waarschijnlijk schrijven twee keer zo veel code te doen) te gebruiken, dat is prima met me.SYNOPSIS gebruik CGI :: Zoek qw (: validatoren); gebruik CGI qw (: norm); mijn $ TMPL_FILE = '/ pad / naar / template'; mijn $ DB_File = '/ pad / naar / flat_file'; mijn $ DB_SEPERATOR = '\ |'; # Zorg ervoor dat u geen speciale regex tekens ontsnappen en zet in enkele aanhalingstekens # Dit is geen goede validator. Doe dit niet. mijn $ CUSTOM_VALIDATOR = sub {if ($ _ = ~ /\A(.*)\z/) {return (1, $ 1, "geslaagd"); } Else {return (0, undef, "$ _ is niet geldig"); }}; # Databasevelden beschrijving mijn @DB_FIELDS = (, , , , ); # Oproepen opties. Alle worden automatisch verfied als een integer mijn $ RESULTS_PER_PAGE = param ( 'RESULTS_PER_PAGE') || 0; mijn $ MAX_RESULTS = 0; # Infinate mijn $ PAGE_NUMBER = param ( 'PAGE') || 0; # Zoek opties mijn% SEARCH = (num1 => , email => ); # Andere velden. Deze worden doorgegeven aan het script wanneer paginering optreedt, # maar zijn niet betrokken bij het zoeken in mijn% ANDERE = (param1 => param ( 'param1') || 0, param2 => param ( 'param2') || 0,) ; mijn $ search = CGI :: Zoeken-> new (script_name => $ ENV {SCRIPT_NAME}, template => $ TMPL_FILE, DB_File => $ DB_File, db_seperator => $ DB_SEPERATOR, db_fields => \ @DB_FIELDS, results_per_page => $ RESULTS_PER_PAGE, MAX_RESULTS => $ MAX_RESULTS, paginanummer => $ PAGE_NUMBER, search_fields => \% SEARCH, andere => \% aNDERE,); # Lijst context - terug serie-of-hashes mijn @data = $ zoek-> resultaat (1) of sterven "Fout:". $ Zoek-> errstr (); # Scalar context - terug HTML :: Template bezwaar mijn $ tmpl = $ zoek-> resultaat (1) of sterven "Fout:". $ Zoek-> errstr (); mijn% new_search = (num1 => , email => ); # Voer een zoekopdracht met verschillende parameters mijn $ new_tmpl = $ zoek-> resultaat (1, \% new_search); Vereisten: · Perl


CGI :: Zoeken Gerelateerde software