Presný registračný formulár php. Skripty PHP na spracovanie formulárov HTML. Vytvorenie databázy

Naposledy upravené 23. júla 2019, Vincy.

Registrácia alebo registrácia používateľa je neoddeliteľnou súčasťou mnohých webových aplikácií a pre úspech aplikácie je rozhodujúce správne nastavenie. Je to začiatočný bod interakcie používateľov s vašou aplikáciou.

Malo by to byť čo najjednoduchšie s najlepšími UI / UX. Implementácia funkcií registrácie používateľov pomocou PHP je jednoduchá úloha a ja vás prevediem krokmi s príkladom v tomto článku.

Čo je vo vnútri?

Ako funguje tento príklad registrácie používateľov PHP?

Tento príkladový kód je možné rozdeliť na 3 časti.

  1. Získanie informácií o používateľovi prostredníctvom formulára HTML.
  2. Potvrdzovanie informácií odoslaných používateľom pri odoslaní formulára.
  3. Spracovanie databázy na uloženie registrovaného používateľa do databázy po overení.

Tretí krok sa vykoná po overení, že používateľ už nebol pridaný. Toto overenie jedinečnosti údajov sa vykoná na základe ich e-mailu a používateľského mena, ktoré zadali.

Počas registrácie spravidla zhromažďujeme informácie o používateľoch, ktorí sú pripravení na registráciu pomocou našej aplikácie. Niektoré z nich budú povinné a niektoré budú voliteľné.

Táto funkcionalita teda môže obsahovať aj overovaciu časť na zaistenie prázdnoty a formátu užívateľských údajov. Overenie je možné vykonať na strane klienta alebo servera.

Overenie na strane servera je vždy lepšie. Môžete si zvoliť, že ho budete mať na strane klienta, a to aj pre ľahšie použitie používateľov. Ale mať na strane servera nie je voliteľné a minimálna požiadavka.

Štruktúra súborov

Formulár HTML, ktorý umožňuje používateľovi zaregistrovať sa

V tomto príklade registračný formulár obsahuje polia Používateľské meno, Meno (zobrazované meno), Heslo a E-mail. Má tiež pole Potvrdiť heslo, ktoré umožňuje používateľovi znovu zadať heslo na potvrdenie. Tieto dve heslá budú porovnané neskôr v čase a.

Odoslaním tohto formulára sa od používateľa očakáva, že vyjadrí súhlas s obchodnými podmienkami. Za účelom zaistenia je teda pred tlačidlo Registrovať pridané políčko.

Registračný formulár používateľa PHP

Prihlásiť Se
"; } ?>
">
">
">
Prijímam zmluvné podmienky

A štýly sú,

Body (rodina fontov: Arial; farba: # 333; veľkosť písma: 0,95em;) .form-head (farba: # 191919; váha písma: normálne; váha písma: 400; okraj: 0; zarovnanie textu) : center; size-font: 1.8em;). error-message (padding: 7px 10px; background: # fff1f2; border: # ffd5da 1px solid; color: # d6001c; border-radius: 4px; margin: 30px 0px 10px 0px ) #ffffff; medzery medzi okrajmi: počiatočné; okraj: 15px auto; zalomenie slova: zalomenie slova; rozloženie tabuľky: auto; výška riadku: 1,8em; farba: # 333; polomer okraja: 4px; polstrovanie: 20px 40px ; width: 380px; border: 1px solid; border-color: # e5e6e9 # dfe0e4 # d0d1d5;) .demo-table .label (color: # 888888;) .demo-table .field-column (padding: 15px 0px;) .demo-vstupný box (výplň: 13px; okraj: #CCC 1px pevný; polomer okraja: 4px; šírka: 100%;) .btnRegister (výplň: 13px; farba pozadia: # 5d9cec; farba: # f5f7fa; kurzor: ukazovateľ; polomer hranice: 4px; šírka: 100%; orámovanie: # 5791da 1px pevný; veľkosť písma: 1.1em; ) .text odpovede (max-šírka: 380px; veľkosť písma: 1,5em; zarovnanie textu: stred; pozadie: # fff3de; výplň: 42px; okraj: 3px; okraj: # f5e9d4 1px pevný; rodina fontov) : arial; výška riadku: 34px; okraj: 15px automaticky;). termíny (spodný okraj: 5px;)

Ako overiť informácie o používateľovi pri odoslaní formulára

V tomto príklade je pridaný overovací skript formulára na strane servera na overenie registračných údajov používateľa. Tento overovací skript PHP sa vyvolá pri odoslaní registračného formulára.

Tento skript validuje všetky polia formulára, aby skontroloval prázdnotu pre každé pole. Potom pomocou funkcie PHP filter_var () overí formát e-mailu používateľa.

Pretože registrácia zahŕňa funkciu potvrdenia hesla, porovnanie hesiel sa uskutoční v tejto časti tohto príkladu.

Nakoniec overovací skript skontroluje, či používateľ akceptuje podmienky, začiarknutím príslušného políčka vo formulári.

Po dokončení celej validácie vrátením logickej hodnoty true bude prebiehať skutočný proces registrácie.

Funkcia validateMember () ($ valid = true; $ errorMessage = array (); foreach ($ _POST ako $ key => $ value) (ak (prázdny ($ _ POST [$ key]))) ($ valid = false;) ) if ($ valid == true) (if ($ _POST ["heslo"]! = $ _POST ["confirm_password"]) ($ errorMessage = "Heslá by mali byť rovnaké."; $ valid = false;) if (! isset ($ error_message)) (if (! filter_var ($ _ POST ["userEmail"], FILTER_VALIDATE_EMAIL)) ($ errorMessage = "neplatná e-mailová adresa."; $ valid = false;)) if (! isset ($ error_message) ) (if (! isset ($ _ POST ["terms"])) ($ errorMessage = "Prijať podmienky."; $ valid = false;))) else ($ errorMessage = "Všetky polia sú povinné."; ) if ($ valid == false) (návrat $ errorMessage;) návrat;)

PHP MySQL kód na prístup do databázy na uloženie registrovaného užívateľa

Overenie formulára používateľa na strane servera

Toto je vstupný bod PHP na spracovanie celého skriptu na strane servera na overenie formy a na spracovanie databázových operácií na základe výsledku overenia.

validateMember ($ používateľské meno, $ displayName, $ heslo, $ email); if (prázdny ($ errorMessage)) ($ memberCount = $ member-> isMemberExists ($ username, $ email); if ($ memberCount == 0) ($ insertId = $ member-> insertMemberRecord ($ username, $ displayName, $ heslo, $ email); if (! empty ($ insertId)) (header ("Location: thankyou.php");)) else ($ errorMessage = "Používateľ už existuje.";)))?>

Skontrolujte, či používateľ už existuje

Funkcia isMemberExists () sa používa na kontrolu jedinečnosti údajov používateľa na základe jeho e-mailu a používateľského mena. Pokiaľ zadané užívateľské meno alebo e-mail existuje v databáze používateľov, registračný proces sa zastaví vrátením a potvrdením.

Toto potvrdenie upozorní, že „používateľ už existuje“. Kód je,

Funkcia isMemberExists ($ username, $ email) ($ query = "select * FROM registered_users WHERE user_name =? OR email =?"; $ ParamType = "ss"; $ paramArray = array ($ username, $ email); $ memberCount = $ this-> ds-> numRows ($ query, $ paramType, $ paramArray); return $ memberCount;)

Vložte údaje členov do databázy

Ak vráti 0, znamená to, že so zadaným e-mailom alebo používateľským menom takíto používatelia neexistujú. A tak sa registračné údaje vložia do databázy. Nasledujúci kód zobrazuje metódu vkladania členov.

Funkcia insertMemberRecord ($ username, $ displayName, $ password, $ email) ($ passwordHash = md5 ($ password); $ query = "INSERT INTO registered_users (user_name, display_name, password, email) VALUES (?,?,?,? ) "; $ paramType =" ssss "; $ paramArray = pole ($ username, $ displayName, $ passwordHash, $ email); $ insertId = $ this-> ds-> insert ($ query, $ paramType, $ paramArray); vrátiť $ insertId;)

DataSource.php

Toto je generická trieda zdroja údajov v PHP na vykonávanie databázových operácií. Zahŕňa funkcie na pripojenie databázy a vykonávanie rôznych dotazov na získanie výsledku databázy, počtu riadkov, vykonania vloženia a ďalších.

Táto trieda zdrojov údajov je všeobecná a je udržiavaná čo najjednoduchšie. Je efektívny a používam ho vo svojich väčšine mikroprojektov a cvičení. Môžete si ho zadarmo stiahnuť a použiť.

Dôležitá vec je nikdy nezabudnite použiť pripravené výkazy... Pomáha vám chrániť sa pred útokmi SQL Injection a je to prvý krok z hľadiska implementácie zabezpečenia do webovej aplikácie.

conn = $ this-> getConnection (); ) / ** * Ak je potrebný objekt pripojenia, použite túto metódu a získajte k nej prístup. * V opačnom prípade použite na vloženie / aktualizáciu / atď. Nasledujúce metódy. * * @return \ mysqli * / public function getConnection () ($ conn = new \ mysqli (self :: HOST, self :: USERNAME, self :: PASSWORD, self :: DATABASENAME); if (mysqli_connect_errno ()) (trigger_error ("Problém s pripojením k databáze.");) $ Conn-> set_charset ("utf8"); návrat $ conn;) / ** * Získanie výsledkov z databázy * @param string $ query * @param string $ paramType * @ param pole $ paramArray * @return array * / public function select ($ query, $ paramType = "", $ paramArray = array ()) ($ stmt = $ this-> conn-> prepare ($ query); if (! empty ($ paramType) &&! empty ($ paramArray)) ($ this-> bindQueryParams ($ sql, $ paramType, $ paramArray);) $ stmt-> execute (); $ result = $ stmt-> get_result (); if ($ result-> num_rows> 0) (while ($ row = $ result-> fetch_assoc ()) ($ resultset = $ row;)) if (! empty ($ resultset)) (return $ resultset;)) / ** * Na vloženie * @param reťazec $ dotaz * @param reťazec $ paramType * @param pole $ paramArray * @return int * / verejná funkcia vložiť ($ dopyt, $ paramType, $ p aramArray) (tlačiť $ dopyt; $ stmt = $ this-> conn-> prepare ($ query); $ this-> bindQueryParams ($ stmt, $ paramType, $ paramArray); $ stmt-> execute (); $ insertId = $ stmt-> insert_id; vrátiť $ insertId; ) / ** * Na vykonanie dotazu * @param string $ query * @param string $ paramType * @param array $ paramArray * / public function execute ($ query, $ paramType = "", $ paramArray = array ()) ($ stmt = $ this-> conn-> prepare ($ query); if (! empty ($ paramType) &&! empty ($ paramArray)) ($ this-> bindQueryParams ($ stmt, $ paramType = "", $ paramArray = array ());) $ stmt-> execute ();) / ** * 1. Pripraví väzbu parametrov * 2. Zviaže prameters k príkazu sql * @param string $ stmt * @param string $ paramType * @param array $ paramArray * / verejná funkcia bindQueryParams ($ stmt, $ paramType, $ paramArray = array ()) ($ paramValueReference = & $ paramType; for ($ i = 0; $ i< count($paramArray); $i ++) { $paramValueReference = & $paramArray[$i]; } call_user_func_array(array($stmt, "bind_param"), $paramValueReference); } /** * To get database results * @param string $query * @param string $paramType * @param array $paramArray * @return array */ public function numRows($query, $paramType="", $paramArray=array()) { $stmt = $this->conn-> pripraviť ($ dopyt); if (! empty ($ paramType) &&! empty ($ paramArray)) ($ this-> bindQueryParams ($ stmt, $ paramType, $ paramArray);) $ stmt-> execute (); $ stmt-> store_result (); $ recordCount = $ stmt-> num_rows; vrátiť $ recordCount; ))

Skript databázy

Tento databázový skript obsahuje príkaz create pre tabuľku registered_users. Importujte tento skript do svojho vývojového prostredia a spustite tento kód.

Štruktúra tabuľky pre tabuľku `registrovaní_uživatelia` - VYTVORIŤ TABUĽKU, AK NIE JE `varchar (255) NOT NULL,` heslo` varchar (25) NOT NULL, `email` varchar (55) NOT NULL,` gender` varchar (20) NOT NULL, PRIMARY KEY (`id`));

Ak overenie registračného formulára zlyhá, chybové hlásenie sa používateľovi zobrazí nižšie uvedeným spôsobom.

Komentáre k „Registračnému formuláru používateľa PHP (registrácia) s databázou MySQL“

    Ahoj Vincy, pri spustení kódu registra sa vyskytujú nasledujúce chyby, pomôžte mi.

    INSERT INTO registered_users (user_name, display_name, password, email) VALUES (?,?,?,?)
    Varovanie: call_user_func_array () očakáva, že parameter 1 bude platné spätné volanie, prvý člen poľa nie je platný názov triedy alebo objekt v C: \ xampp \ htdocs \ PHP \ JAMII-CASH \ DataSource.php na riadku 136

    Fatal error: Uncaught Error: Call to a member function execute () on boolean in C: \ xampp \ htdocs \ PHP \ JAMII-CASH \ DataSource.php: 99 Stack trace: # 0 C: \ xampp \ htdocs \ PHP \ JAMII -CASH \ Member.php (83): Phppot \ DataSource-> insert ('INSERT INTO reg ...', 'ssss', Array) # 1 C: \ xampp \ htdocs \ PHP \ JAMII-CASH \ index.php (20): Phppot \ Member-> insertMemberRecord ('chuki10', 'Ray', '202020', ' [chránené e-mailom]... “) # 2 (hlavný) uvedený v C: \ xampp \ htdocs \ PHP \ JAMII-CASH \ DataSource.php na riadku 99

Rád sem zverejním svoje vedomosti a techniky používané v PHP a MySQL. Ako všetci viete, PHP a MySQL sú najbežnejšie používaným otvoreným zdrojom pre webové stránky. Dnešný milión webov a aplikácií používa tento bezplatný softvér. Osobne mám pocit, že by to mohla byť ďalšia úroveň pre front-endových vývojárov, ktorí pomocou PHP a MySQL môžu vývojári HTML urobiť web dynamickejším. Poďme diskutovať o tom, ako vytvoriť základný registračný formulár v PHP s databázou. Je to jednoduché a veľmi užitočné pre základnú dynamickú registráciu používateľov na webových stránkach. Každá kreatíva môže implementovať svoju základnú štruktúru na svoje webové stránky. Teraz postupujte podľa týchto jednoduchých krokov a zistíte, že sa váš prvý dynamický funkčný registračný formulár so vstupom do databázy na každom formulári plní.

KROK 1: Vytvorenie databázy na vkladanie hodnôt

Prejsť na MySQL, vytvoriť databázu študent; Qurey OK, ovplyvnený 1 riadok (0,00 s) mysql> použitie študenta Databáza zmenená mysql> vytvorenie tabuľky študenta (id int, meno varchar (40), email varchar (80), heslo varchar (40)); Dotaz v poriadku, ovplyvnené 0 riadkov (0,05 s)

KROK 2: Front-end kód, vytvorte štruktúru HTML registračného formulára

Vytvorte nový súbor registration.html, ktorý vytvoríme v PHP neskôr, štruktúra bude: REGISTRAČNÝ FORMULÁR
USERNAME:
E-MAILOVÉ ID:
HESLO:
ZNOVU HESLO:

KROK 3: Pre pripojenie k databáze pomocou MySQL

Vytvorte súbor connect.php pre základné pripojenie k databáze, použite predvolený kód uvedený nižšie

KROK 4: Nakoniec vytvorte stránku registration.php, aby ste získali hodnotu všetkých polí zobrazených na stránke HTML

Tu môže vývojár front-endu napísať nejaký vlastný kód v PHP. Prečítajte si kód a pochopte túto základnú štruktúru po riadkoch, zistíte, že je to veľmi jednoduché.

Záver

Postupom podľa postupu uvedeného vyššie je možné vytvoriť základný registračný formulár. Takže veľa šťastia pre váš prvý kód PHP Získajte kód

Veľa z týchto webov má registračný formulár, pomocou ktorého sa môžu vaši používatelia zaregistrovať, a môžu tak využívať výhody určitého privilégia v rámci webu. V tomto článku uvidíme, ako vytvoriť registračný formulár v PHP a MySQL.

Použijeme jednoduché značky a tiež použijeme tabuľkovú značku na vytvorenie webovej stránky Sign-Up.html. Začnime:

Zoznam 1: sign-up.html

Prihlásiť Se

Registračný formulár
názov
Email
UserName
Heslo
Potvrďte heslo


Postava 1:

Popis webovej stránky sing-in.html:

Ako vidíte na obrázku 1, existuje registračný formulár, ktorý vyžaduje od používateľa niekoľko údajov. Toto sú bežné údaje, ktoré ľubovoľná webová stránka žiada od svojich používateľov alebo návštevníkov o vytvorenie a identifikáciu a heslo. Značku tabuľky sme použili, pretože na to, aby sme zobrazili polia formulára na webovej stránke v usporiadanom tvare, ako ich vidíte na obrázku 1. Vyzerá to tak jednoducho, pretože sme na ne ešte nepoužili štýl CSS, poďme teda použiť štýly CSS a prepojiť Súbor štýlu CSS s webovou stránkou sing-up.html.

Zoznam 2: style.css

/ * Súbor CSS pre webovú stránku registrácie * / # body-color (background-color: # 6699CC;) # Sign-Up (background-image: url ("sign-up.png"); veľkosť pozadia: 500px 500px ; background-repeat: no-repeat; background-attachment: fixed; background-position: center; margin-top: 150px; margin-bottom: 150px; margin-right: 150px; margin-left: 450px; padding: 9px 35px; ) # tlačidlo (polomer okraja: 10px; šírka: 100px; výška: 40px; pozadie: # FF00FF; váha písma: tučné; veľkosť písma: 20px;)

Zoznam 3: Prepojte stránku style.css s webovou stránkou sign-up.html



Obrázok 2:

Popis súboru style.css:

V externom súbore CSS sme použili niektoré štýly, ktoré by pre vás mohli vyzerať ako nové. Pretože sme použili obrázok na pozadí a umiestnili sme ho do stredu webovej stránky. Ktoré sa ľahko používa pomocou značky html div. Pretože sme použili tri značky div tagu. #button, # sing-up a # body-color a použili sme na ne všetky štýly CSS. Teraz môžete vidieť obrázok 2, ako veľmi vyzerá nádherne a atraktívne. Môžete na ňom použiť mnoho ďalších štýlov CSS, ako napríklad štýly 2D a 3D CSS. Bude to vyzerať krajšie ako teraz.

Po týchto jednoduchých prácach teraz vytvoríme databázu a tabuľku na ukladanie všetkých údajov do databázy nových používateľov. Než začneme vytvárať tabuľku, mali by sme vedieť, čo od používateľa požadujeme. Keď sme navrhli formulár, vytvoríme tabuľku podľa registračného formulára, ktorý vidíte na obrázkoch 1 a 2.

Zoznam 3: Dopyt na tabuľku v MySQL

CREATE TABLE WebsiteUsers (userID int (9) NOT NULL auto_increment, fullname VARCHAR (50) NOT NULL, userName VARCHAR (40) NOT NULL, email VARCHAR (40) NOT NULL, pass VARCHAR (40) NOT NULL, PRIMARY KEY (userID) );

Popis záznamu 3:

Jedna vec, ktorú by ste mali vedieť, že ak nemáte MySQL na použitie tohto dotazu, mali by ste sa riadiť mojím predchádzajúcim článkom o. z tohto odkazu budete schopní porozumieť inštalácii a požiadavkám. A ako to môžeme využiť.

V dotaze na výpis 3 sme použili všetky tie veci, ktoré potrebujeme pre registračný formulár. Pretože existujú premenné e-mail, celé meno, heslo a meno používateľa. Tieto premenné ukladajú údaje používateľa, ktoré sám zadá do registračného formulára na obrázku 2.

Po týchto všetkých prácach budeme pracovať s programovaním PHP, čo je programovací jazyk na strane servera. Preto je potrebné vytvoriť spojenie s databázou.

Výpis 4: Pripojenie k databáze

Popis záznamu 4:

Vytvorili sme spojenie medzi databázou a našimi webovými stránkami. Ak ale neviete, či to funguje, alebo nie, v poslednej kontrolnej položke 5 pre ňu použijete ešte jednu vec.

Zoznam 5: kontrola pripojenia k databáze

Výpis popisu 5:

V zozname 5 som sa vám pokúsil ukázať, že môžete skontrolovať a potvrdiť spojenie medzi databázou a PHP. A ešte jedna vec, že ​​nebudeme používať kód výpisu 5 na našej samostatnej webovej stránke. Pretože je to len kvôli tomu, aby ste pochopili, ako môžete skontrolovať pripojenie MySQL.

Teraz napíšeme programátorskú aplikáciu PHP, aby sme najskôr skontrolovali dostupnosť používateľa a potom ho uložili, ak je novým používateľom na webovej stránke.

Výpis 6: connectivity-sign-up.php

Popis connectivity-sign-up.php

V tejto aplikácii PHP som najjednoduchším spôsobom vytvoril registračnú aplikáciu pre webové stránky. Ako vidíte najskôr, vytvoríme spojenie ako výpis 4. A potom sme použili dve funkcie, prvou funkciou je SignUP (), ktorá je volaná príkazom if z poslednej aplikácie, kde jej prvá potvrdzuje stlačenie prihlásenia tlačidlo. Ak je stlačené, zavolá funkciu SingUp a táto funkcia použije dopyt SELECT na načítanie údajov a ich porovnanie s userName a e-mailom, ktorý je momentálne zadaný používateľom. Ak je meno používateľa a e-mail v databáze už prítomné, bude ľúto, že ste už zaregistrovaní

Ak je používateľ nový ako jeho aktuálne meno používateľa a e-mailový identifikátor sa nenachádza v databáze, príkaz If zavolá NewUser (), kde uloží všetky informácie o novom používateľovi. A užívateľ sa stane súčasťou webovej stránky.



Obrázok 3

Na obrázku 3 užívateľ zadáva údaje na registráciu, ak je podľa záznamov v databáze starým používateľom tejto webovej stránky. Takže na webovej stránke sa zobrazí správa, že používateľ je už registrovaný, ak je nový používateľ, takže sa na webovej stránke bude zobrazovať správa, že registrácia používateľa je dokončená.



Obrázok 4:

Keď sme zadali údaje do registračného formulára (obrázok 4), podľa databázy, ktoré používateľské meno a e-mail sme zadali do registračného formulára, aby sme zistili, či už je v databáze. Mali by sme teda vyskúšať nové používateľské meno a e-mailovú adresu na registráciu s novým ID a heslom.



Obrázok 5

Na obrázku 5 nás potvrdzuje, ktoré meno používateľa a ID e-mailu zadali. Oba sa nenachádzajú v záznamoch databázy. Teraz je teda vytvorené nové ID a heslo a používateľ je schopný použiť svoje nové ID a heslo na prihlásenie nabudúce.

Záver:

V tomto článku sme sa naučili najjednoduchší spôsob, ako vytvoriť registračnú webovú stránku. Dozvedeli sme sa tiež, že ako pracuje s databázou, ak používame PHP a MySQL. Snažil som sa vám dať základné vedomosti o funkcii registrácie webových stránok. Ako to funguje na zadnej strane a ako môžeme zmeniť jej vzhľad na prednej strane. V prípade akýchkoľvek otázok neváhajte a komentujte.

Jednou z najväčších silných stránok PHP je to, ako narába s formami HTML. Hlavné je, že každý prvok formulára je automaticky sprístupnený vašim programom PHP. Viac informácií o používaní formulárov v PHP nájdete v tejto časti. Tu je príklad formulára HTML:

Príklad č. 1 Základný formulár HTML

Tvoje meno:

Tvoj vek:

Na tomto formulári nie je nič zvláštne. Toto je bežný formulár HTML bez akýchkoľvek špeciálnych značiek. Keď používateľ vyplní formulár a klikne na tlačidlo odoslať, zavolá sa stránka action.php. Tento súbor môže obsahovať niečo ako:

Príklad č. 2 Zobrazenie údajov formulára

Ahoj, .
Vyrokov.

Príklad výstupu tohto programu:

Ahoj Sergey. Máte 30 rokov.

Ak neberiete do úvahy kúsky kódu s htmlspecialchars () a (int), princíp fungovania tohto kódu by mal byť jednoduchý a priamy. htmlspecialchars () Zaisťuje, aby boli „špeciálne“ znaky HTML správne kódované, aby sa na vašu stránku nevložil škodlivý HTML alebo Javascript. Vekové pole, o ktorom vieme, že to musí byť číslo, môžeme jednoducho previesť celé číslo, ktoré nás automaticky zachránia pred nechcenými znakmi. PHP to dokáže aj automaticky pomocou rozšírenia filtra. Premenné $ _POST ["name"] a $ _POST ["age"] sú pre vás automaticky nastavené pomocou PHP. Predtým sme používali superglobál $ _SERVER, ale tu používame aj superglobál $ _POST, ktorý obsahuje všetky údaje POST. Všimni si spôsob odoslania(metóda) nášho formulára je POST. Keby sme použili metódu ZÍSKAJTE potom by informácie o našom formulári boli v superglobále $ _GET. Ak je zdroj údajov irelevantný, môžete použiť premennú $ _REQUEST. Táto premenná obsahuje zmes údajov GET, POST a COOKIE.

Pred 16 rokmi

Podľa špecifikácie HTTP by ste mali použiť metódu POST, keď používate formulár na zmenu stavu obsahu na konci servera. Napríklad, ak má stránka formulár, ktorý používateľom umožňuje pridávať vlastné komentáre, napríklad tento Ak tu kliknete na tlačidlo „Načítať znova“ alebo „Obnoviť“ na stránke, na ktorú ste sa dostali prostredníctvom POST, je to takmer vždy chyba - nemali by ste uverejňovať rovnaký komentár dvakrát - čo je prečo tieto stránky nie sú záložkami alebo v pamäti.

Metódu GET by ste mali použiť, keď je váš formulár dobrý, dostať niečo zo servera a vlastne nič nemeniť. Napríklad formulár pre vyhľadávací modul by mal používať GET, pretože prehľadávanie webových stránok by nemalo meniť nič, na čom by klientovi mohlo záležať, a ukladanie alebo ukladanie výsledkov dotazu do vyhľadávacieho modulu je rovnako užitočné ako ukladanie do záložiek alebo ukladanie do vyrovnávacej pamäte. statická stránka HTML.

pred 2 rokmi

Mali by ste objasniť:

POST nie je bezpečnejší ako GET.

Dôvody pre voľbu GET vs POST zahŕňajú rôzne faktory, ako napríklad zámer žiadosti („odosielate“ informácie?), Veľkosť žiadosti (existujú obmedzenia týkajúce sa dĺžky adresy URL a parametre GET sa odosielajú do URL) a ako ľahko chcete, aby sa akcia dala zdieľať - napríklad Vyhľadávania Google sú ZÍSKAVAŤ, pretože uľahčuje kopírovanie a zdieľanie vyhľadávacieho dopytu s niekým iným jednoducho zdieľaním adresy URL.

Bezpečnosť je tu iba úvahou, pretože GET je ľahšie zdieľateľný ako POST. Príklad: Nechcete, aby vám GET posielal heslo, pretože používateľ môže zdieľať výslednú adresu URL a neúmyselne vystaviť svoje heslo.

GET a POST sú však rovnako ľahko zachytiteľné dobre umiestnenou škodlivou osobou, ak nepoužívate protokol TLS / SSL na ochranu samotného sieťového pripojenia.

Všetky formuláre odosielané cez HTTP (zvyčajne port 80) sú nezabezpečené a dnes (2017) nie je veľa dobrých dôvodov na to, aby verejný web nepoužíval HTTPS (čo je v podstate HTTP + Transport Layer Security).

Ako bonus, ak používate protokol TLS, minimalizujete riziko, že vaši používatelia dostanú do vašej prevádzky kód (AD), ktorý ste tam nedostali.

Reg.ru: domény a hosting

Najväčší registrátor a poskytovateľ hostingu v Rusku.

V prevádzke viac ako 2 milióny doménových mien.

Propagácia, pošta pre doménu, obchodné riešenia.

Viac ako 700 tisíc zákazníkov po celom svete si už vybralo.

* Posunutím kurzora pozastavíte rolovanie.

Naspäť vpred

Vytvorenie jednoduchého systému registrácie používateľov v PHP a MySQL

Vytvorenie registračného systému je veľa práce. Musíte napísať kód, ktorý overí e-mailové adresy, pošle e-mail s potvrdením, overí ostatné polia formulára a oveľa viac.

A aj potom, čo toto všetko napíšete, sa používatelia budú zdráhať registrovať, tk. vyžaduje si to určité úsilie z ich strany.

V tomto tutoriáli vytvoríme veľmi jednoduchý registračný systém, ktorý nevyžaduje alebo vôbec neukladá heslá! Výsledok bude možné ľahko upraviť a pridať na existujúcu stránku PHP. Chcete zistiť, ako to funguje? Prečítajte si nižšie.



Takto bude fungovať náš super jednoduchý systém:

Spojíme prihlasovací formulár a registráciu. Tento formulár bude mať pole na zadanie e-mailovej adresy a registračné tlačidlo;
- Pri vypĺňaní poľa e-mailovou adresou sa kliknutím na tlačidlo registrácie vytvorí záznam o novom používateľovi, ale iba vtedy, ak sa zadaná e-mailová adresa nenašla v databáze.

Potom sa vytvorí určitá náhodná jedinečná sada symbolov (token), ktorá sa odošle na e-mail špecifikovaný používateľom vo forme odkazu, ktorý bude relevantný po dobu 10 minút;
- Používateľ nasleduje odkaz na našu webovú stránku. Systém určuje prítomnosť tokenu a autorizuje používateľa;

Výhody tohto prístupu:

Nie je potrebné ukladať heslá a overovať pole;
- Nie je potrebné obnovenie hesla, bezpečnostné otázky atď .;
- Od okamihu, keď je používateľ registrovaný / autorizovaný, môžete si byť vždy istí, že sa tento užívateľ bude nachádzať vo vašej zóne prístupu (či je e-mailová adresa pravdivá);
- neuveriteľne jednoduchý proces registrácie;

Nevýhody:

Zabezpečenie používateľského účtu. Ak má niekto prístup k pošte používateľa, môže sa prihlásiť.
- E-mail nie je bezpečný a môže byť zachytený. Pamätajte, že táto otázka je relevantná aj v prípade, že ste zabudli heslo a je potrebné ho obnoviť, alebo v akomkoľvek autorizačnom systéme, ktorý nepoužíva na prenos dát HTTPS (prihlasovacie meno / heslo);
- Pokiaľ nakonfigurujete poštový server podľa potreby, je pravdepodobné, že správy s odkazmi na autorizáciu skončia v spamu;

Pri porovnaní výhod a nevýhod nášho systému môžeme povedať, že systém má vysokú použiteľnosť (najpohodlnejšiu pre koncového používateľa) a zároveň má nízky indikátor zabezpečenia.

Navrhuje sa teda použiť ho na registrácie na fórach a v službách, ktoré nepracujú s dôležitými informáciami.

Ako používať tento systém

V prípade, že stačí systém použiť na autorizáciu používateľov na vašom webe a nechcete túto lekciu rozoberať, postupujte takto:

Musíte si stiahnuť zdroje pripojené k lekcii
- Nájdite súbor v archíve stoly.sql Importujte ho do svojej databázy pomocou možnosti importu v phpMyAdmin. Alternatívny spôsob: otvorte tento súbor pomocou textového editora, skopírujte dotaz SQL a spustite ho;
- Otvorené obsahuje / main.php a vyplňte nastavenia pre pripojenie k vašej databáze (uveďte používateľa a heslo pre pripojenie k databáze, ako aj hostiteľa a názov databázy) V rovnakom súbore musíte tiež určiť e-mail, ktorý sa použije ako pôvodná adresa pre správy odosielané systémom. Niektorí hostitelia blokujú odchádzajúce e-maily, kým vo formulári, ktorý bol vytvorený z ovládacieho panela hostiteľa, nezadáte skutočnú e-mailovú adresu, takže zadajte skutočnú adresu;
- Stiahnite si všetky súbory index.php, chránený.php a aktíva a zahŕňajú priečinky cez FTP na vášho hostiteľa;
- Pridajte kód nižšie na každú stránku PHP, na ktorej chcete zobraziť autorizačný formulár;

Vyžadovať_once „includes / main.php“; $ user = new User (); if (! $ user- & gtloggedIn ()) (redirect ("index.php");)
- Hotovo!

Pre tých, ktorých zaujíma, ako to celé funguje - čítajte ďalej!

Prvým krokom je napísanie HTM kódu autorizačného formulára. Tento kód sa nachádza v súbore index.php... Tento súbor obsahuje aj kód PHP, ktorý spracúva údaje z formulárov a ďalšie užitočné funkcie autorizačného systému. Viac sa o tom dozviete v sekcii Kontrola kódu PHP nižšie.

index.php

Výukový program: Super jednoduchý registračný systém s PHP a MySQL

Prihláste sa alebo zaregistrujte

Vyššie zadajte svoju e-mailovú adresu a pošleme vám
ty prihlasovací odkaz.

V záhlaví (medzi značkami a) Zahrnul som hlavné štýly (týmto tutoriálu sa nimi nerozumejú, takže ich môžete vidieť sami. Priečinok assets / css / style.css). Pred uzatváracou značkou Zahrnul som knižnicu jQuery a súbor script.js, ktoré napíšeme a analyzujeme nižšie.


JavaScript

jQuery pomocou funkcie sleduje stav tlačidla Registrovať / Prihlásiť sa e.preventDefault () a odošle požiadavky AJAX. V závislosti na odozve servera zobrazí konkrétnu správu a určí ďalšie akcie /

assets / js / script.js

$ (function () (var form = $ ("# login-register"); form.on ("submit", function (e) (if (form.is (". loading, .loggedIn")) (return false ;) var email = form.find ("vstup"). val (), messageHolder = form.find ("span"); e.preventDefault (); $ .post (this.action, (email: email), funkcia (m) (if (m.error) (form.addClass ("chyba"); messageHolder.text (m.message);) else (form.removeClass ("chyba"). addClass ("prihlásený"); messageHolder. text (m.message);)));)); $ (document) .ajaxStart (function () (form.addClass ("loading");)); $ (document) .ajaxComplete (function () (form. removeClass ("načítanie");));));

bol do formulára pridaný na zobrazenie aktuálneho stavu požiadavky AJAX (umožňujú to metódy ajaxStart ()) a ajaxComplete () ktoré nájdete na konci súboru).

Táto trieda zobrazuje rotujúci animovaný súbor GIF (akoby nám naznačoval, že sa požiadavka spracováva) a tiež slúži ako príznak, ktorý zabraňuje opätovnému odoslaniu formulára (keď už bolo raz stlačené tlačidlo registrácie). Trieda .prihlásený- toto je ďalší príznak - nastavený pri odoslaní e-mailu. Tento príznak okamžite blokuje všetky ďalšie akcie s formulárom.

Schéma databázy

Náš neuveriteľne jednoduchý systém protokolovania používa 2 tabuľky MySQL (v súbore je SQL stoly.sql). Prvý ukladá údaje o používateľských účtoch. Druhá uchováva informácie o počte pokusov o prihlásenie.


Schéma tabuľky používateľov.

Systém nepoužíva heslá, ako je to znázornené na obrázku. Môžete na ňom vidieť aj stĺpec token so žetónmi susediacimi so stĺpcom token_validita... Token je nainštalovaný, akonáhle sa používateľ pripojí k systému, nastaví svoj e-mail na odoslanie správy (viac v ďalšom bloku). Stĺpec token_validita nastaví čas o 10 minút neskôr, po uplynutí ktorého token už nie je platný.


Tabuľková schéma, ktorá počíta počet pokusov o autorizáciu.

V oboch tabuľkách je adresa IP uložená v spracovanej podobe pomocou funkcie ip2long v celočíselnom poli.

Teraz môžeme napísať nejaký PHP kód. Triede je pridelená hlavná funkčnosť systému User.class.php ktoré môžete vidieť nižšie.

Táto trieda vo veľkej miere využíva idorm (dokumenty), tieto knižnice sú minimálnym požadovaným nástrojom na prácu s databázami. Zaoberá sa prístupom do databázy, generovaním a overovaním tokenov. Poskytuje jednoduché rozhranie na jednoduché pripojenie registračného systému k vašej stránke, ak používa PHP.

User.class.php

Používateľ triedy (// Súkromný prípad ORM súkromný $ orm; / ** * Nájsť používateľa podľa tokenu. Na zváženie sú akceptované iba platné tokeny. Token sa vygeneruje iba 10 minút od okamihu jeho vytvorenia * @param reťazec $ token. Toto je požadovaný token * @return User. Vráti hodnotu funkcie User * / public static function findByToken ($ token) (// vyhľadá token v databáze a skontroluje, či je nastavená správna časová značka $ result = ORM :: for_table ("reg_users") -> where ("token", $ token) -> where_raw ("token_validity> NOW ()") -> find_one (); if (! $ Result) (return false;) vrátiť nového používateľa ($ result);) / ** * Autorizovať alebo zaregistrovať používateľa * @param string $ email. Vlastná emailová adresa * @return User * / verejná statická funkcia loginOrRegister ($ email) (// Ak už taký užívateľ je existuje, vráti hodnotu funkcie Používateľ zo zadanej e-mailovej adresy uloženej v databáze, ak (Používateľ :: existuje ($ e-mail)) (vrátiť nového používateľa ($ e-mail);) // V opačnom prípade vytvorte nového používateľa telo v databáze a vrátiť hodnotu funkcie User :: create zo zadaného e-mailu návrat User :: create ($ email); ) / ** * Vytvorte nového používateľa a uložte do databázy * @param reťazec $ email. Custom email address * @return User * / private static function create ($ email) (// Napíšte nového používateľa a z týchto hodnôt vrátime výsledok funkcie User $ result = ORM :: for_table ("reg_users") - > create (); $ result-> email = $ email; $ result-> save (); return new User ($ result);) / ** * Skontrolujte, či taký používateľ v databáze existuje, a vráťte booleovskú hodnotu premenná * @param reťazec $ email. Vlastná e-mailová adresa * @return boolean * / existuje verejná statická funkcia ($ email) (// Existuje používateľ v databáze? $ Result = ORM :: for_table ("reg_users") -> kde ("email", $ email ) -> count (); návrat $ result == 1;) / ** * Vytvorenie nového vlastného objektu * @param instance $ param ORM, id, email alebo 0 * @return User * / public function __construct ($ param = null) (if ($ param instanceof ORM) (// Kontrola ORM prešla $ this-> orm = $ param;) else if (is_string ($ param)) (// Kontrola e-mailu prešla $ this-> orm = ORM :: for_table ("reg_users") -> where ("email", $ param) -> find_one ();) else ($ id = 0; if (is_numeric ($ param)) (// hodnota $ param $ id premenná sa odovzdá používateľovi ID = $ param;) else if (isset ($ _ SESSION ["loginid"])) (// Inak sledujte reláciu $ id = $ _SESSION ["loginid"];) $ this-> orm = ORM :: for_table ("reg_users") -> where ("id", $ id) -> find_one ();)) / ** * Generovať nový autorizačný token SHA1, píše do základne a vráti jej hodnotu * @return string * / public function generateToken () (// Generuje token pre oprávneného používateľa a uloží ho do základne $ token = sha1 ($ this-> email.time (). rand (0, 10 000 000)); // Uložte token do databázy // A označte ho ako platný iba nasledujúcich 10 minút $ this-> orm-> set („token“, $ token); $ this-> orm-> set_expr ("token_validity", "ADDTIME (NOW ()," 0:10 ")"); $ this-> orm-> save (); vrátiť $ token; ) / ** * Autorizovať používateľa * @return void * / verejná funkcia login () (// Označiť používateľa ako autorizovaného $ _SESSION ["loginid"] = $ this-> orm-> id; // Aktualizovať hodnotu základné pole last_login $ this-> orm-> set_expr ("last_login", "NOW ()"); $ this-> orm-> save ();) / ** * Zničiť reláciu a odhlásiť používateľa * @ return void * / public function logout () ($ _SESSION = array (); unset ($ _ SESSION);) / ** * Skontrolujte, či je používateľ prihlásený * @return boolean * / public function logIn () (return isset ($ this-> orm-> id) && $ _SESSION ["loginid"] == $ this-> orm-> id;) / ** * Skontrolujte, či je používateľ správcom * @return boolean * / verejná funkcia je Admin () (return $ this-> rank () = = "administrator";) / ** * Nájdite typ používateľa, môže to byť buď administrátor alebo bežný * @return string * / public function rank () (if ($ this -> orm-> rank == 1) (return "administrator";) return "normal";) / ** * Táto metóda umožňuje získať súkromné ​​informácie používateľské meno ako * vlastnosti objektu User * @param string $ key Názov pristupovanej vlastnosti * @return mixed * / public function __get ($ key) (if (isset ($ this-> orm -> $ key)) ( vrátiť $ this -> orm -> $ key; ) vrátiť null; ))

Tokeny sa generujú pomocou algoritmu SHA1 a ukladajú sa do databázy. Na nastavenie 10-minútového limitu platnosti tokenu používam funkcie časovania MySQL.

Keď token prejde procedúrou overenia, priamo povieme obslužnej rutine, že berieme do úvahy iba tokeny, ktorých platnosť ešte nevypršala, uložené v stĺpci token_validity.

Upozorňujeme, že používam magickú metódu __get knižnicu dokumentov na konci súboru na zachytenie vlastností objektu User.

Vďaka tomu je vďaka vlastnostiam možný prístup k informáciám uloženým v databáze $ user-> email, $ user-> token a ďalšie. V nasledujúcom útržku kódu sa pozrime, ako možno tieto triedy použiť ako príklad.


Chránená stránka

Ďalším súborom, ktorý uchováva užitočné a potrebné funkcie, je súbor functions.php... Nachádza sa tu niekoľko takzvaných pomocníkov - pomocných funkcií, ktoré umožňujú vytvárať čistejší a čitateľnejší kód v iných súboroch.

functions.php

Funkcia send_email ($ od, $ do, $ predmet, $ správa) (// Pomocník pri odosielaní e-mailov $ headers = "MIME-verzia: 1.0". "\ R \ n"; $ headers. = "Content-type: text / obyčajný; charset = utf-8 "." \ r \ n "; $ headers. =" Od: ". $ od." \ r \ n "; vrátiť poštu ($ to, $ predmet, $ správa, $ hlavičky) ;) funkcia get_page_url () (// Definujte URL súboru PHP $ url = "http". (prázdny ($ _ SERVER ["HTTPS"])? "": "s"). ": //". $ _ SERVER ["SERVER_NAME"]; if (isset ($ _ SERVER ["REQUEST_URI"]) && $ _SERVER ["REQUEST_URI"]! = "") ($ Url. = $ _SERVER ["REQUEST_URI"];) else ($ url. = $ _SERVER ["PATH_INFO"];) vrátiť $ url;) funkcia rate_limit ($ ip, $ limit_hour = 20, $ limit_10_min = 10) (// Počet pokusov o prihlásenie na túto IP adresu za poslednú hodinu. $ count_hour = ORM:: for_table ("reg_login_attempt") -> where ("ip", sprintf ("% u", ip2long ($ ip))) -> where_raw ("ts> SUBTIME (NOW ()," 1: 00 ")") -> count (); // Počet pokusov o prihlásenie za posledných 10 minút na tejto IP adrese $ count_10_min = ORM :: for_table ("reg_login_attempt") -> kde ("ip", sprint f ("% u", ip2long ($ ip))) -> where_raw ("ts> SUBTIME (NOW ()," 0:10 ")") -> count (); if ($ count_hour> $ limit_hour || $ count_10_min> $ limit_10_min) (hodiť novú výnimku („Príliš veľa pokusov o prihlásenie!“);)) function rate_limit_tick ($ ip, $ email) (// Vytvoriť nový záznam v tabuľke ktorá číta počet pokusov o prihlásenie $ login_attempt = ORM :: for_table ("reg_login_attempt") -> create (); $ login_attempt-> email = $ email; $ login_attempt-> ip = sprintf ("% u", ip2long ($ ip) )); $ login_attempt-> save ();) presmerovanie funkcie ($ url) (hlavička ("Umiestnenie: $ url"); výstup;)

Funkcie miera_limit a rate_limit_tick sledovať počet pokusov o autorizáciu za uplynulé časové obdobie od prvého pokusu. Pokus o prihlásenie je zaznamenaný v databáze v stĺpci reg_login_attempt. Tieto funkcie sa volajú, keď sa údaje formulára spracúvajú a odosielajú, ako vidíte z nasledujúceho útržku kódu.

Kód uvedený nižšie je prevzatý zo súboru index.php a vybavuje odoslanie formulára. Vráti odpoveď JSON, ktorú následne spracuje jQuery v súbore assets / js / script.js, ktoré sme už predtým analyzovali.

index.php

Try (if (! Empty ($ _ POST) && isset ($ _ SERVER ["HTTP_X_REQUESTED_WITH"]))) (// Výstup hlavičky hlavičky JSON ("Content-type: application / json"); // Je táto e-mailová adresa valid if (! isset ($ _ POST ["email"]) ||! filter_var ($ _ POST ["email"], FILTER_VALIDATE_EMAIL)) (vyvolať novú výnimku ("Zadajte platný e-mail.");) // Skontrolujte. Je používateľovi dovolené prihlásiť sa, prekročil počet povolených pripojení? (Súbor Functions.php, kde získate ďalšie informácie) rate_limit ($ _ SERVER ["REMOTE_ADDR"])); // Zaznamenať tento pokus o autorizáciu rate_limit_tick ($ _ SERVER ["REMOTE_ADDR"], $ _POST ["email"]); // Poslať e-mail používateľovi $ message = ""; $ email = $ _POST ["email"]; $ subject = "Váš prihlasovací odkaz"; if ( ! Užívateľ :: existuje ($ email)) ($ subject = "Ďakujeme, že ste sa zaregistrovali!"; $ Message = "Ďakujeme vám za registráciu na našom webe! \ N \ n";) // Pokus o autorizáciu alebo registráciu používateľa $ user = User :: loginOrRegister ($ _ POST ["email"]); $ message. = "Môžete sa prihlásiť z tejto adresy URL: \ n" ; $ message. = get_page_url (). "? tkn =". $ user-> generateToken (). "\ n \ n"; $ message. = "Platnosť odkazu vyprší automaticky po 10 minútach."; $ result = send_email ($ fromEmail, $ _POST ["email"], $ subject, $ message); if (! $ result) (vyvolať novú výnimku ("Pri odosielaní vášho e-mailu sa vyskytla chyba. Skúste to znova.");) die (json_encode (pole ("správa" => "Ďakujem! Poslali sme odkaz) do svojej doručenej pošty. Skontrolujte aj svoj priečinok so spamom. ")));)) catch (Výnimka $ e) (die (json_encode (pole (" chyba "=> 1," správa "=> $ e-> getMessage ()) )));)

Po úspešnej autorizácii / registrácii zašle kód vyššie používateľovi autorizačný odkaz. Token bude k dispozícii, pretože metódou sa odovzdáva ako premenná v generovanom prepojení $ _GET značkovačom tkn

index.php

If (isset ($ _ GET ["tkn"]))) // // Je tento token platný pre autorizáciu? $ User = User :: findByToken ($ _ GET ["tkn"])); if ($ user) (// Áno, je. Presmerovanie na chránenú stránku $ user-> login (); redirect ("protected.php");) // Nie, token je neplatný. Presmerovanie na stránku s presmerovaním autorizačného / registračného formulára (" index.php ");)

$ user-> login ()

vytvorí potrebné premenné pre reláciu, aby používateľ pri prezeraní nasledujúcich stránok webu zostal neustále prihlásený.

Funkcia odhlásenia sa rieši podobným spôsobom.

index.php

If (isset ($ _ GET ["logout"])) ($ user = new User (); if ($ user-> loggedIn ()) ($ user-> logout ();) redirect ("index.php" );)

Na konci kódu som znova presmeroval na index.php, teda parameter ? odhlásenie = 1 odovzdané webovou adresou sa nevyžaduje.

Náš spis index.php vyžaduje pridať. ochrana - nechceme, aby ľudia, ktorí sa niekedy prihlásili do systému, videli opäť registračný formulár. Na tieto účely používame túto metódu $ user-> prihlásený ().

index.php

$ user = new User (); if ($ user-> loggedIn ()) (redirect ("protected.php");)

Na záver je tu časť kódu, ktorá vám umožňuje chrániť stránky vášho webu a sprístupniť ich až po autorizácii.

chránený.php

// Na ochranu každej stránky vášho webu vložte súbor // main.php a vytvorte nový objekt používateľa. Aké je to ľahké! require_once "includes / main.php"; $ user = new User (); if (! $ user-> loggedIn ()) (redirect ("index.php");)

Po tejto kontrole si môžete byť istí, že používateľ bol úspešne autorizovaný. K uloženým informáciám v databáze môžete pristupovať aj pomocou vlastností objektu $ užívateľ... Ak chcete zobraziť e-mail a stav používateľa, použite tento kód:

Echo „Váš e-mail:“. $ Používateľ-> e-mail; echo "Vaše hodnotenie:". $ user-> hodnotenie ();

Metóda poradie () používa sa tu, pretože čísla sa zvyčajne ukladajú do databázy (0 pre bežného používateľa, 1 pre správcu) a tieto údaje musíme previesť na stavy, ku ktorým patria, s čím nám táto metóda pomáha.

Ak sa chcete z bežného používateľa stať administrátorom, jednoducho upravte jeho vstup cez phpMyAdmin (alebo akýkoľvek iný program, ktorý vám umožní spravovať databázy). Stav správcu neposkytuje žiadne oprávnenia, v tomto príklade sa na stránke zobrazí, že ste správcom - to je všetko.

Čo s tým však urobíte, je len na vás, sami si môžete napísať a zložiť kód, ktorý nastavuje určité privilégiá a možnosti pre správcov.

Skončili sme!

Hotovo s týmto neuveriteľne super kvázi jednoduchým tvarom! Môžete ho použiť na svojich stránkach PHP, je to celkom jednoduché. Môžete si ich tiež upraviť a vytvoriť tak, ako chcete.

Materiál pripravil Denis Malyshok špeciálne pre danú lokalitu

P.S. Chcete pokračovať v práci s PHP a OOP? Vyskúšajte prémiové výukové programy o rôznych aspektoch budovania webov vrátane programovania v PHP, ako aj bezplatný kurz budovania vášho systému CMS v PHP od nuly pomocou OOP:

Páčil sa vám materiál a chceli by ste sa vám poďakovať?
Stačí zdieľať so svojimi priateľmi a kolegami!