Muž vždy hľadá položku php i. Živé vyhľadávanie na Bitrixe. Príklad implementácie. Podrobné vyhľadávanie kontaktov

Najlepší spôsob, ako udržať používateľa na stránke, je nechať ho nájsť to, čo hľadá. Ak na to vytvoríte vhodný systém, úroveň preferencií vašich stránok porastie a používateľ sa určite vráti, aby našiel to, čo ho zaujíma.

Ukážem vám, ako vytvoriť jednoduchý, no funkčne efektívny vyhľadávací formulár, ktorý bude slúžiť na vyhľadávanie článkov na stránke. Výsledky sa zobrazia na stránke bez akéhokoľvek opätovného načítania, čo je nepochybne najlepší spôsob prezentácie informácií.

Vytvorím 2 súbory: search.php ktorý bude obsahovať HTML a JavaScript. Druhý súbor, do_search.php, bude obsahovať kód PHP. Začnime vytvárať prvý súbor:

PHP, ukážka vyhľadávania jQuery

Skúste napísať slovo ajax


Výsledky pre

V tomto súbore sme vytvorili bežný HTML formulár, ktorý odosiela požiadavku POST do back-end súboru do_search.php.

select_list ($ sql); if (počet ($ riadok)) ($ end_result = ""; foreach ($ riadok ako $ r) ($ výsledok = $ r ["title"]; $ bold = " ". $ slovo.""; $ end_result. ="

  • ". str_ireplace ($ slovo, $ tučné, $ výsledok)."
  • ";) echo $ end_result;) else (echo"
  • Nenašli sa žiadne výsledky pre vaše vyhľadávanie.
  • "; } } ?>

    PHP kód obsahuje komentáre, pomocou ktorých môžete ľahko pochopiť, ako skript funguje. Ak sa v databáze nachádzajú zhody, zobrazíte ich používateľovi a tučným písmom zvýrazníte slová, ktoré používateľ hľadal.

    Pridajme k tomu všetkému nejaké CSS:

    Telo (rodina písma: Arial, Helvetica, bezpätkové;) * (okraj: 0; výplň: 0;) #container (okraj: 0 auto; šírka: 600px;) a (farba: # DF3D82; dekorácia textu: žiadny) a: hover (farba: # DF3D82; text-decoration: underline;) ul.update (štýl zoznamu: žiadny; veľkosť písma: 1,1 em; okraj-horný: 10px) ul.update li (výška: 30px; border-bottom: #dedede solid 1px; text-align: left;) ul.update li: first-child (border-top: #dedede solid 1px; height: 30px; text-align: left;) #flash (margin- top: 20px; text-align: left;) #searchresults (text-align: left; margin-top: 20px; display: none; font-family: Arial, Helvetica, sans-serif; font-size: 16px; color: # 000;) .word (hmotnosť písma: tučné; farba: # 000000;) #search_box (odsadenie: 4px; orámovanie: plné 1px # 666666; šírka: 300px; výška: 30px; veľkosť-písma: 18px; -moz- border-radius: 6px; -webkit-border-radius: 6px;) .search_button (border: # 000000 solid 1px; padding: 6px; color: # 000; font-weight: bold; font-size: 16px; -moz- border-radius: 6px; -webkit-border-radius: 6px;) .found (font-weight: bold ; štýl písma: kurzíva; farba: # ff0000; ) h2 (pravý okraj: 70px;)

    Teraz ste sa naučili, ako vytvoriť jednoduchý vyhľadávací formulár, ktorý funguje bez opätovného načítania stránky. Dúfam, že sa vám návod páčil.

    Od autora: pozdravujem priatelia. V tomto článku budeme pokračovať v implementácii živého vyhľadávania stránky. Čo je to živé vyhľadávanie? Stretávate sa s ním neustále, keď hľadáte niečo v Google alebo Yandex. Hneď ako začnete písať vyhľadávací dopyt, vyhľadávač vám okamžite začne ponúkať možnosti, z ktorých si stačí vybrať tú najvhodnejšiu. Pohodlná vec, nie? Skúsme a niečo podobné zrealizujeme.

    Zdrojové súbory k aktuálnemu článku si môžete stiahnuť na adrese. Prvú časť článku nájdete na.

    V prvej časti sme teda pripravili databázu, ktorá bude slúžiť na živé vyhľadávanie, a do vyhľadávacieho poľa na našej stránke sme prišróbovali aj widget Autocomplete knižnice jQuery UI. Widget zatiaľ funguje s testovacími dátami, no teraz to s vami opravíme.

    V prvom rade si označíme iný zdroj údajov pre widget, bude to povedzme súbor search.php, ktorý si tiež musíme vytvoriť.

    $ (funkcia () ($ ("# vyhľadávanie"). automatické dopĺňanie ((zdroj: "search.php"));));

    Teraz do vyhľadávacieho poľa napíšem ľubovoľný znak a uvidím, čo sa stane v konzole prehliadača.

    Ako vidíte, požiadavka GET sa odošle s parametrom termínu, ktorého hodnotou je reťazec zadaný do vyhľadávacieho poľa. V tomto prípade sa všetko deje asynchrónne, bez opätovného načítania stránky, t.j. používa AJAX.

    Skvelé, teraz už zostáva len prijať prichádzajúcu požiadavku na vyhľadávanie a dať na ňu odpoveď. Ak to chcete urobiť, musíte zorganizovať pripojenie k databázovému serveru a napísať jednoduchý kód, ktorý na požiadanie dostane údaje z databázy. Kód súboru search.php bude vyzerať takto:

    $ db = mysqli_connect ("localhost", "root", "", "world") alebo zomrieť ("Žiadne pripojenie k databáze"); mysqli_set_charset ($ db, "utf8") alebo zomrieť ("Znaková sada pripojenia nie je nastavená"); / ** * vyhľadávanie s automatickým dopĺňaním ** / funkcia search_autocomplete () (globálne $ db; $ vyhľadávanie = trim (mysqli_real_escape_string ($ db, $ _GET ["term"])); $ query = "SELECT Name FROM city WHERE Name LIKE" % ($ vyhľadávanie)% "LIMIT 10"; $ res = mysqli_query ($ db, $ dotaz); $ result_search = pole (); while ($ riadok = mysqli_fetch_assoc ($ res)) ($ result_search = pole ("štítok" => $ riadok ["Name"]);) return $ result_search;) if (! empty ($ _ GET ["term"])) ($ search = search_autocomplete (); exit (json_encode ($ search));)

    $ db = mysqli_connect ("localhost", "root", "", "world") alebo zomrieť ( "Neexistuje žiadne pripojenie k databáze") ;

    mysqli_set_charset ($ db, "utf8") alebo zomrieť ( "Kódovanie pripojenia nie je nastavené") ;

    * automatické dopĺňanie vyhľadávania

    function search_autocomplete () (

    globálne $ db;

    $ search = trim (mysqli_real_escape_string ($ db, $ _GET ["term"]));

    $ res = mysqli_query ($ db, $ dotaz);

    $ vysledok_vyhladavania = pole ();

    while ($ riadok = mysqli_fetch_assoc ($ res)) (

    $ result_search = pole ("štítok" => $ riadok ["Názov"]);

    návrat $ result_search;

    if (! prázdne ($ _GET ["term"])) (

    $ hľadať = vyhľadávanie_automatické dokončovanie ();

    exit (json_encode (hľadanie $));

    Upozorňujeme, že funkcia search_autocomplete, ktorá prijíma údaje na požiadanie, musí tieto údaje vrátiť v určitom formáte, musí to byť pole s kľúčmi štítkov a hodnotami nájdených miest. Po zavolaní funkcie je potrebné údaje previesť do formátu JSON.

    Zostáva otestovať prácu nášho živého hľadania. Aby sme to urobili, rovnako ako naposledy, napíšeme iba jedno písmeno - a:

    Dobre! Ako odpoveď sme dostali tucet miest, v názve ktorých sa zadané písmeno vyskytuje. Ak budeme pokračovať v písaní mena, zmení sa zoznam možností, t.j. s každým listom bude odoslaná nová požiadavka AJAX.

    11,1 tis

    Jednou z najobľúbenejších a najzákladnejších funkcií na akomkoľvek webe je vyhľadávanie realizované pomocou špeciálneho formulára. Táto funkcia umožňuje návštevníkom rýchlo nájsť obsah, ktorý ich na stránke zaujíma.

    Dnes vám chceme povedať, ako vykonať vyhľadávanie na stránke pomocou špeciálneho formulára, ktorý bude vyhľadávať databázové tabuľky a zobrazovať informácie o aktuálnych manažéroch na stránke. Naučíte sa vytvárať databázové tabuľky, ktoré budú obsahovať informácie o aktuálnom personáli.

    Vyvíjajte vyhľadávacie formuláre pomocou PHP a tiež sa oboznámte s SQL ( Štruktúrovaný Dopytovací Jazyk) - špeciálny jazyk na zhromažďovanie, zaznamenávanie a úpravu informácií obsiahnutých v databázach. Skôr ako začnete, odporúčame vám stiahnuť súbory projektu.

    Čo potrebuješ

    • Nástroj na prácu s databázami MySQL.
    • Lokálny alebo vzdialený server s podporou PHP.
    • Textový editor.

    Vytvárame databázu

    Ak si nie ste úplne istí, že viete zistiť databázu na svojom hostingu, kontaktujte poskytovateľa hostingu a požiadajte ho o príslušné pokyny alebo pomoc. Po vytvorení databázy ju budete musieť pripojiť, vytvoriť tabuľku a zapísať do nej potrebné údaje.

    Najpopulárnejším nástrojom na správu MySQL je PHP My Admin. Tento nástroj bude pre náš dnešný tutoriál stačiť.

    Vytvorenie tabuľky

    Naša tabuľka by mala byť vytvorená v nasledujúcom formáte:

    Názov stĺpca Dátový typ Dĺžka Null or Not Null Primárny kľúč? Automatický prírastok
    ID INT 1 Nie Null Áno Áno
    Krstné meno Varchar 50 Nie Null Nie Nie
    Priezvisko Varchar 50 Nie Null Nie Nie
    Email Varchar 50 Nie Null Nie Nie
    Telefónne číslo Varchar 15 Nie Null Nie Nie

    Databázová tabuľka sa skladá zo stĺpcov a riadkov, rovnako ako v Exceli. Prvý stĺpec umožňuje identifikovať údaje podľa názvu. Nasleduje stĺpec Typy údajov, ktorý nám udáva typ údajov obsiahnutých v stĺpci. Pole Dĺžka určuje maximálne množstvo pamäte (úložného priestoru) pre stĺpec tabuľky. Používame premenné, ktoré poskytujú väčšiu flexibilitu. Inými slovami, ak je dĺžka celého mena menšia ako 50 znakov, zaberie sa iba časť prideleného priestoru.

    A medzi personálnymi údajmi nemôžu byť žiadne prázdne hodnoty ( null, prázdny). Prvý riadok je zvýraznený žltou farbou, pretože stĺpec ID je naším primárnym kľúčom. Hlavný kľúč v databáze zabezpečuje, že každý záznam je jedinečný. Tento stĺpec sa tiež automaticky zvyšuje, čo znamená, že každému záznamu v našej databáze bude automaticky pridelené jedinečné číslo.

    Do tabuľky zapisujeme zástupcov zamestnancov

    Keď pochopíte tabuľku, začnite ju plniť údajmi. Na zafixovanie postupu vo vašej mysli stačí 6 záznamov. Nižšie je môj vlastný príklad:

    ID stĺpca Krstné meno Priezvisko Email Telefónne číslo
    2 Ryan Butler [e-mail chránený] 417-854-8547
    3 Brent Callahan [e-mail chránený] 417-854-6587

    Dizajn formulára

    Ak chcete vytvoriť formulár na vyhľadávanie na stránkach pomocou Google, otvorte akýkoľvek vhodný textový editor. Odporúčam používať bezplatný PSPad. Môžete použiť ľubovoľný textový editor, ktorý poskytuje zvýraznenie syntaxe. To značne uľahčí proces písania a ladenia PHP kódu. Keď vytvárate stránku pre vyhľadávací formulár, nezabudnite ju uložiť vo formáte .php, inak nebude kód PHP analyzovaný podľa očakávania. Po uložení dokumentu doň skopírujte nasledujúce označenie:

    Hľadať kontakty:

    Podrobné vyhľadávanie kontaktov

    Môžete vyhľadávať podľa mena alebo priezviska

    Ak sa vyznáte v HTML, tak by vám malo byť všetko jasné aspoň po úvodnú značku formulára. Vo vnútri tohto tagu je najdôležitejší prvok celého kódu – atribút action. Ako akciu pre náš formulár sme zadali názov nášho súboru a potom sme použili reťazec dopytu „ ísť”.

    Kontrola súladu s kritériom

    Keď používateľ zadá meno alebo priezvisko a potom klikne na tlačidlo Odoslať, formulár odovzdá údaje sebe a pridá reťazec dopytu „ ísť“. V tomto bode skontrolujeme prítomnosť reťazca dotazu go. Ak je výsledok pozitívny, zobrazíme výsledky vyhľadávania.

    Pred zobrazením požadovaných výsledkov musíme ešte raz skontrolovať: (1) bol formulár odoslaný, (2) obsahoval reťazec dopytu go, (3) bol vyhľadávací dopyt zadaný malými alebo veľkými písmenami? Ak žiadna z kontrol neposkytuje pozitívny výsledok ( pravda), potom nie sme povinní vykonávať žiadne akcie.

    Najprv pridajte malý blok kódu PHP na vyhľadávanie na stránkach za uzatváraciu značku.:

    Najprv otvoríme blok PHP kódu so značkou „“.

    Akýkoľvek PHP kód v tejto dvojici značiek bude vykonaný serverom. Potom skontrolujeme, či bol formulár odoslaný:

    Zadajte hľadaný výraz

    "; } ?>

    Použijeme vstavanú funkciu isset, ktorá vráti bool a vložíme do nej pole $ _POST. Booleovský výraz v programovaní nám umožňuje získať hodnotu true alebo false.

    Preto, ak funkcia vráti hodnotu true, formulár bol odoslaný a musíme pokračovať vo vykonávaní kódu ďalej. Ak funkcia vráti hodnotu false, zobrazí sa chybové hlásenie. Uložte celý napísaný kód do súboru search_submit.php.

    Zadajte hľadaný výraz

    "; } } } ?>

    Do hlavného výrazu vnoríme ďalší podmienený booleovský výraz, ale iba tentoraz použijeme pole $ _GET spolu s hodnotou „ ísť“. Uložte zmeny do súboru search_go.php.

    Teraz sa musíme uistiť, že návštevníci môžu zadať prvé písmeno v reťazci dopytu iba veľké alebo len malé. Musíme tiež poskytnúť spôsob, ako zohľadniť kritériá vyhľadávania zadané návštevníkom. Najlepšie je overiť údaje zadané návštevníkom pomocou regulárneho výrazu:

    Do našich dvoch vložíme ďalší podmienený booleovský výraz. Tentoraz na overenie vstupu používame regulárny výraz. Používame vstavanú funkciu preg_match s dvoma parametrami: regulárny výraz a pole formulára, ktoré sa má overiť.

    V našom prípade to bude pole „Názov“ ( názov). Aby sme získali parametre vyhľadávania poskytnuté návštevníkom, vytvoríme premennú $ name a naviažeme na ňu hodnotu POST s názvom poľa z formulára, ktorý sa použije v dotaze SQL. Teraz sme implementovali: (1) odoslanie údajov formulára, (2) reťazec dopytu obsahuje hodnotu go a (3) návštevník zadal prvé veľké alebo malé písmeno. A všetky tieto kontroly sa dejú ešte pred vykonaním zmien v databáze. Uložte všetky zmeny.

    Pripojiť, vybrať, dotazovať a vrátiť výsledky z databázovej tabuľky

    Ak chcete získať údaje z tabuľky, musíte sa najprv pripojiť k serveru v skripte vyhľadávania na lokalite. Na to používame nasledujúci kód:

    ", "") alebo zomrieť (" Nemôžem sa pripojiť k databáze, pretože: ". mysql_error ()); else (echo"

    Zadajte hľadaný výraz

    "; } } }?>

    Vytvoríme premennú $ db a naviažeme ju na vstavanú funkciu MySQL mysql_connect, ktorá má tri parametre: server s databázou ( localhost, ak pracujete lokálne), prihlasovacie meno a heslo.

    Potom spustíme vstavanú funkciu PHP die, ktorá zastaví ďalšie spúšťanie kódu, ak nie je pripojenie k databáze. A informáciu o chybe zobrazíme spustením vstavanej funkcie MySQL mysql_error, ktorá vráti dôvod chyby. Uložte súbor search_connectdb.php.

    Zadajte hľadaný výraz

    "; } } } ?>

    Vytvorte premennú s názvom mydb a naviažte ju na vstavanú Funkcie MySQL mysql_select_db a potom uvedieme názov databázy, ktorú sme vytvorili predtým. Ďalej dotazujeme databázovú tabuľku pomocou SQL dotazu s premennou name, ktorá obsahuje parametre vyhľadávania zadané návštevníkom:

    Zadajte hľadaný výraz

    "; } } } ?>

    Pri dotazovaní databázovej tabuľky vytvoríme premennú $ sql a naviažeme ju na riadok obsahujúci dotaz SQL. Na získanie hodnôt zo stĺpcov id a mena a priezviska z tabuľky kontaktov používame príkaz SELECT. Na zúženie vyhľadávania potom použijeme klauzulu WHERE spolu s hodnotami mena a priezviska.

    Spolu s operátorom LIKE používame znak percenta (%) – špeciálny znak, ktorý vracia 0 alebo viac znakov, ako aj premennú názvu z hľadaného reťazca. Výsledkom je LIKE ( v kombinácii so špeciálnym znakom) nájde akékoľvek zodpovedajúce meno v tabuľke databázy. Celý proces možno opísať takto: „ Z tabuľky kontaktov vyberieme meno a priezvisko, ktoré sa zhodujú s tými, ktoré zadal návštevník". Uložte súbor search_query.php.

    Zadajte hľadaný výraz

    "; } } } ?>

    Vytvoríme premennú $ result a priradíme jej hodnotu funkcie mysql_query () a vložíme ju do $ query. Teraz je naša požiadavka uložená v premennej result. Na výstup výsledku v PHP vytvoríme slučku a potom vydáme údaje v neusporiadanom zozname:

    n "; echo"

  • " . "
  • n "; echo"";)) inak (echo"

    Zadajte hľadaný výraz

    "; } } } ?>

    Najprv vytvoríme while cyklus, v ňom vytvoríme premennú s názvom row a inicializujeme ju návratovou hodnotou funkcie mysql_fetch_array, ktorá prevezme výslednú premennú, ktorá obsahuje náš SQL dotaz. V rámci cyklu while priraďujeme každú hodnotu stĺpca premennej s rovnakým názvom. Potom vypíšeme hodnoty v neusporiadanom zozname.

    Tu je dôležité venovať pozornosť dvom bodom: (1) vo vnútri cyklu while nemusíte priraďovať hodnoty premenným poľa riadkov, pretože hodnoty možno prevziať priamo z poľa riadkov; (2) kotviaca značka, ktorú používame v názve súboru spolu s id a primárnym kľúčom. Dôvodom je, že mnohé položky vyhľadávania spočiatku nezobrazujú nič.

    Keďže zobrazujeme iba meno a priezvisko, pričom ID pripojíme na koniec nášho kotviaceho štítku, môžeme ID použiť na dodatočnú žiadosť, ktorá zobrazí ďalšie informácie o zamestnancoch. Uložte súbor a otestujte formulár vyhľadávania na stránkach PHP ( search_display.php).

    Odstráňte záložky

    Výsledky sa zobrazujú ako neusporiadaný zoznam, no podstatou je, že nepotrebujeme karty. Aby ste sa toho zbavili, pridajte nasledujúce pravidlo CSS na úplný začiatok súboru v hlave:

    Hľadajte podľa písmena

    Na implementáciu vyhľadávania podľa písmen je potrebných len niekoľko riadkov kódu navyše. Pridajme túto pohodlnú funkciu pre návštevníkov. Takto budú môcť zástupcov zamestnancov hláskovať krstným menom alebo priezviskom.

    Za koncovú značku formulára pridajte nasledujúci riadok kódu:

    A | B | K

    Zviažeme štítok na reťazec dotazu pomocou kotvy a nastavte ho na konkrétne písmeno. Na implementáciu funkcie vyhľadávania podľa písmen musíme pridať nasledujúci kód hneď za uzatváraciu zloženú zátvorku v pôvodnom skripte, ako je uvedené nižšie:

    ) // Koniec skriptu vyhľadávacieho formulára if (isset ($ _ GET ["by"])) ($ písmeno = $ _ GET ["by"]; // Pripojenie k databáze $ db = mysql_connect ("názov servera" , "username" , "password") alebo zomrieť ("Nemôžem sa pripojiť k databáze, pretože:". mysql_error ()); // - Vyberte databázu $ mydb = mysql_select_db ("vašaDatabáza"); // - Vyhľadajte databázu tabuľka $ sql = "SELECT ID, First Name, LastName FROM Contacts WHERE FirstName LIKE"% ". $ letter."% "OR LastName LIKE"% ". $ letter."% ""; // - Spustenie MySQL Query $ function query výsledok = mysql_query ($ sql); // - Výsledky počítania $ numrows = mysql_num_rows ($ výsledok); echo "

    Pre výraz ". $ letter." sa našli výsledky ". $ numrows."

    "; // - Spustite cyklus a zoraďte výsledky počas ($ riadok = mysql_fetch_array (výsledok $)) ($ krstné meno = $ riadok [" krstné meno "]; $ Priezvisko = $ riadok [" Priezvisko "]; $ ID = $ riadok [ "ID"]; // - Vytlačí výsledok v poli echo "
      n "; echo"
    • "." ". $ Krstné meno." ". $ Priezvisko."
    • n "; echo"
    "; } }

    Tu sme zmenili štyri úryvky skriptu vyhľadávania na stránke:

    • Použijeme funkciu isset () a naplníme pole $ _GET a potom skontrolujeme hodnotu by;
    • Vytvorte premennú $ písmeno a inicializujte jej hodnotu pomocou poľa $ _GET;
    • Pridajte premennú písmeno do dotazu SQL;
    • Vo vnútri výrazu špecifikujeme premennú písmeno, v ktorej dostaneme spočítaný počet riadkov.

    Uložte súbor search_byletter.php a skontrolujte výsledok.

    Vyhľadajte konkrétneho zamestnanca

    Ak chcete zobraziť informácie o zvyšku personálu, ktoré sa prenášajú cez jedinečné ID v rámci nášho odkazu, musíme pridať nasledujúci kód hneď za uzatváraciu zloženú zátvorku v skripte písmen, ako je uvedené nižšie:

    ) // Koniec skriptu if (isset ($ _ GET ["id"])) ($ contactid = $ _ GET ["id"]; // Pripojenie k databáze $ db = mysql_connect ("názov servera", " užívateľské meno", " heslo ") alebo zomrieť (" Nemôžem sa pripojiť k databáze, pretože: ". mysql_error ()); // - vyberte databázu na použitie $ mydb = mysql_select_db (" yourDatabase "); // - Dopyt do databázy tabuľkové údaje $ sql = "SELECT * FROM Contacts WHERE ID =". $ contactid; // - Spustite dotaz na funkciu mysql_query () $ result = mysql_query ($ sql); // - Spustite cyklus a zoraďte výsledky počas ($ row = mysql_fetch_array ($ result)) ($ FirstName = $ riadok ["FirstName"]; $ LastName = $ riadok ["Priezvisko"]; $ PhoneNumber = $ riadok ["PhoneNumber"]; $ Email = $ riadok [ "E-mail"]; // - Vytlačí výsledok v poli echo "

    "; } }

    Tu sme zmenili štyri časti kódu:

    • Používame funkciu isset () a pomocou nej kontrolujeme hodnotu ID v poli $ _GET;
    • Vytvorte premennú $ contactid a inicializujte ju pomocou poľa $ _GET;
    • V tabuľke vyberte všetko označené hviezdičkou *. Hviezdička je skratka v SQL, ktorá znamená " dajte mi všetky stĺpce a riadky z tabuľky"... Aby sme určili, aké informácie sa majú zobraziť, uvádzame premennú contactid na konci príkazu SQL;
    • Zobrazujeme ďalšie informácie o každom zástupcovi personálu.

    Uložte súbor search_byid.php a skontrolujte výsledok.

    Upozorňujeme, že naša funkcia funguje podľa očakávania. Keď do poľa zadáte meno alebo priezvisko, alebo keď vyberiete písmeno ako hypertextový odkaz, zobrazia sa iba mená zástupcov zamestnancov. Ak umiestnite kurzor myši na odkaz, v stavovom riadku uvidíte jedinečné ID. Ak kliknete na konkrétnu osobu, panel s adresou sa zmení a zobrazia sa ďalšie informácie o tomto zamestnancovi.

    SQL injekcia

    Dôvod, prečo sme do nášho vyhľadávacieho poľa pridali regulárny výraz, je ten, že nikto nemôže zasahovať do nášho dopytu SQL. Tento problém bol bežný a hackerom sa podarilo spustiť svoje vlastné SQL dotazy pri manipulácii s vašou aplikáciou. Napríklad, ak by sme povolili možnosť použitia apostrofu v našom poli, hacker by mohol jednoducho odstrániť databázu pomocou dotazu:

    „PUSTITE TABUĽKU

    Ako bolo uvedené, regulárny výraz zaisťuje, že návštevník môže ako prvý znak zadať iba malé alebo veľké písmená.

    Na záver

    V dnešnom článku sme sa pozreli na to, ako vykonať vyhľadávanie na stránke, ako aj na:

    • Vytvárajte databázy a súvisiace tabuľky;
    • Používajte nástroje na správu databáz, vytváranie stĺpcov a zadávanie údajov;
    • Vyvíjajte vyhľadávacie formuláre založené na PHP, ktoré dokážu kontrolovať vstupné údaje, prítomnosť premenných v dotaze, ako aj pripojenie k databáze a zobrazenie výsledkov z tabuľky;
    • Ako ochrániť vašu aplikáciu a databázu pred SQL injection.

    Pomocou znalostí získaných z tohto článku môžete ľahko upraviť kód niekoho iného a v prípade potreby rozšíriť funkčnosť vyhľadávacieho formulára.

    Táto publikácia je prekladom článku " Ako vytvoriť funkciu vyhľadávania pomocou PHP a MySQL„Pripravil priateľský projektový tím