Zobrazenie registračného formulára indexu php bez vášne. Vytvorenie jednoduchého systému registrácie používateľov v PHP a MySQL. Takto bude fungovať náš super jednoduchý systém

Väčšina webových stránok má registračný formulár, aby sa vaši používatelia mohli zaregistrovať, a preto môžu mať na stránke výhody. V tomto článku uvidíme, ako vytvoriť registračný formulár v PHP a MySQL.

Použijeme jednoduché tagy a tiež tabuľkový tag použijeme na návrh webovej stránky Sign-Up.html. Začnime:

Výpis 1:registrácia.html

Prihlásiť Se

Registračný formulár
názov
Email
užívateľské meno
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 a vyžaduje len málo údajov o používateľovi. Toto sú bežné údaje, ktoré si ktorákoľvek webová stránka od svojich používateľov alebo návštevníkov vyžiada na vytvorenie a ID a heslo. Použili sme značku tabuľky, pretože na zobrazenie polí formulára na webovej stránke v usporiadanej forme, ako ich môžete vidieť na obrázku 1. Vyzerá to tak jednoducho, pretože sme na nej ešte nepoužili štýl CSS, teraz použijeme štýly CSS a prepojíme Súbor v štýle CSS s webovou stránkou sing-up.html.

Výpis 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"); background-size:500px 500px ; opakovanie na pozadí: bez opakovania; príloha na pozadí: pevné; poloha na pozadí: stred; okraj-hore: 150 pixelov; okraj-dole: 150 pixelov; pravý okraj: 150 pixelov; ľavý okraj: 450 pixelov; padding: 9 pixelov 35 pixelov; ) #button( border-radius:10px; width:100px; height:40px; background:#FF00FF; font-weight:bold; font-size:20px; )

Výpis 3: Prepojte 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 niekoľko štýlov, ktoré by mohli byť pre vás nové. Keďže sme použili obrázok na pozadí a umiestnili ho do stredu webovej stránky. Čo sa ľahko používa pomocou značky html div. Ako sme použili tri div tag id. #button, #sing-up a #body-color a použili sme na ne všetky štýly CSS a teraz môžete vidieť na obrázku 2, ako krásne a atraktívne to vyzerá. Môžete na ňom použiť mnoho ďalších CSS štýlov, napríklad 2D a 3D CSS štýly. Bude to vyzerať krajšie, ako vyzerá teraz.

Po týchto všetkých jednoduchých prácach teraz vytvoríme databázu a tabuľku na uloženie všetkých údajov do databázy nových používateľov. Pred vytvorením tabuľky by sme mali vedieť, čo od používateľa požadujeme. Ako sme navrhli formulár, vytvoríme tabuľku podľa registračného formulára, ktorý môžete vidieť na obrázku 1 a 2.

Výpis 3: Dopyt na tabuľku v MySQL

CREATE TABLE WebsiteUsers (userID int(9) NOT NULL auto_increment, celé meno VARCHAR(50) NOT NULL, username VARCHAR(40) NOT NULL, email VARCHAR(40) NOT NULL, pass VARCHAR(40) NOT NULL, PRIMARY KEY(userID) );

Popis ponuky 3:

Jedna vec, ktorú by ste mali vedieť, že ak nemáte MySQL zariadenie na použitie tohto dotazu, mali by ste postupovať podľa môjho predchádzajúceho článku o . z tohto odkazu budete môcť pochopiť inštaláciu a požiadavky. A ako to môžeme využiť.

V dotaze na výpis 3 sme použili všetky veci, ktoré potrebujeme pre registračný formulár. Keďže existujú premenné Email, Celé meno, Heslo a Používateľské meno. Tieto premenné budú uchovávať údaje užívateľa, ktoré zadá do registračného formulára na obrázku 2 pre prihlásenie.

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 ponuky 4:

Vytvorili sme prepojenie medzi databázou a našimi webovými stránkami. Ale ak neviete, či to funguje alebo nie, použite na to ešte jednu vec v poslednom kontrolnom zozname 5.

Výpis 5: kontrola pripojenia databázovej konektivity

Popis 5:

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

Teraz napíšeme PHP programovaciu aplikáciu, ktorá najprv skontroluje dostupnosť používateľa a potom používateľa uloží, ak je nový používateľ na webovej stránke.

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

Popis konektivity-sign-up.php

V tejto PHP aplikácii som použil najjednoduchší spôsob vytvorenia prihlasovacej aplikácie pre webové stránky. Ako môžete vidieť, najprv vytvoríme spojenie ako výpis 4. A potom sme použili dve funkcie, prvá funkcia je SignUP(), ktorá je volaná príkazom if z poslednej aplikácie, kde jej prvé potvrdenie stlačenia sign up tlačidlo. Ak ho stlačíte, vyvolá funkciu SingUp a táto funkcia použije dotaz SELECT na načítanie údajov a ich porovnanie s užívateľským menom a emailom, ktorý je aktuálne zadaný od užívateľa. Ak sa už používateľské meno a e-mail nachádza v databáze, zobrazí sa správa Prepáčte, už ste zaregistrovaný

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



Obrázok 3

Na obrázku 3 používateľ zadáva údaje na prihlásenie, ak je používateľ podľa záznamov databázy starým používateľom tejto webovej stránky. Takže webová stránka zobrazí správu, že používateľ je už zaregistrovaný, ak je používateľ nový, takže webová stránka zobrazí správu, že registrácia používateľa je dokončená.



Obrázok 4:

Keďže sme zadávali údaje do registračného formulára (obrázok 4), podľa databázy, aké užívateľské meno a email sme zadali do registračného formulára na prihlásenie sa už v databáze nachádza. 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ám potvrdzuje, ktoré používateľské meno a e-mailové ID zadal používateľ. Obidve sa nenachádzajú v záznamoch databázy. Takže teraz je vytvorené nové ID a heslo a používateľ môže 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 vytvorenia webovej stránky na registráciu. Dozvedeli sme sa tiež, ako to funguje s databázou, ak používame PHP a MySQL. Pokúsil som sa vám poskytnúť základné znalosti o funkciách registrácie webovej stránky. 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.

V tomto článku sa to dozviete ako vytvoriť registračný a autorizačný formulár pomocou HTML, JavaScript, PHP a MySql. Takéto formuláre sa používajú takmer na každej stránke bez ohľadu na jej typ. Sú vytvorené pre fórum, pre internetový obchod a pre sociálne siete(ako napríklad Facebook, Twiter, Odnoklassniki) a pre mnoho ďalších typov stránok.

Ak máte stránku na svojom lokálnom počítači, dúfam, že už máte . Bez toho nebude nič fungovať.

Vytvorenie tabuľky v databáze

Aby sme mohli implementovať registráciu používateľov, najprv potrebujeme Databázu. Ak ho už máte, je to skvelé, inak si ho musíte vytvoriť. V článku podrobne vysvetľujem, ako to urobiť.

A tak máme Databázu (skrátene DB), teraz musíme vytvoriť tabuľku používateľov do ktorých budeme pridávať našich registrovaných užívateľov.

Ako vytvoriť tabuľku v databáze som vysvetlil aj v článku. Pred vytvorením tabuľky si musíme definovať, aké polia bude obsahovať. Tieto polia sa budú zhodovať s poliami z registračného formulára.

Pomysleli sme si, predstavili sme si, aké polia bude mať náš formulár a vytvorili sme tabuľku používateľov s týmito poliami:

  • id- Identifikátor. Lúka id by mal byť v každej tabuľke z databázy.
  • krstné meno- Ak chcete uložiť meno.
  • priezvisko- Ak chcete uložiť priezvisko.
  • e-mailom- Na uloženie poštovej adresy. Ako prihlásenie použijeme e-mail, takže toto pole musí byť jedinečné, to znamená, že musí mať UNIKÁTNY index.
  • stav_e-mailu- Pole označujúce, či je e-mail potvrdený alebo nie. Ak je mail potvrdený, potom bude mať hodnotu 1, inak bude mať hodnotu 0. Štandardne bude mať toto pole hodnotu 0.
  • heslo- Na uloženie hesla.

Všetky polia typu "VARCHAR" musia mať predvolenú hodnotu NULL.


Ak chcete, aby váš registračný formulár obsahoval ďalšie polia, môžete ich pridať aj sem.

To je všetko, náš stôl používateľov pripravený. Prejdime k ďalšiemu kroku.

Pripojenie k databáze

Vytvorili sme databázu, teraz sa k nej potrebujeme pripojiť. Pripojíme sa pomocou rozšírenia MySQLi PHP.

V priečinku našej stránky vytvorte súbor s názvom dbconnect.php a napíšeme do neho nasledujúci skript:

Chyba pripojenia k databáze. Popis chyby: ".mysqli_connect_error()."

"; exit(); ) // Nastavte kódovanie pripojenia $mysqli->set_charset("utf8"); //Pre pohodlie sem pridajte premennú, ktorá bude obsahovať názov našej stránky $address_site = "http://testsite .miestne" ; ?>

Tento súbor dbconnect.php bude potrebné pripojiť k obslužným programom formulárov.

Venujte pozornosť premennej $address_site, tu som uviedol názov mojej testovacej stránky, na ktorej budem pracovať. Podľa toho uvediete názov svojej stránky.

Štruktúra stránky

Teraz sa pozrime na štruktúru HTML našej stránky.

Presuňte hlavičku a pätu lokality do samostatných súborov, hlavička.php A footer.php. Spojíme ich na všetkých stránkach. Konkrétne na hlavnom (súbor index.php), na stránku s registračným formulárom (súbor formulár_register.php) a na stránke s autorizačným formulárom (súbor form_auth.php).

Blokujte pomocou našich odkazov, registrácia A autorizáciu, pridajte do hlavičky webu, aby sa zobrazovali na všetkých stránkach. Vstúpi jeden odkaz stránku registračného formulára(súbor formulár_register.php) a druhý na stránku s autorizačný formulár(súbor form_auth.php).

Obsah súboru header.php:

Názov našej stránky

V dôsledku toho naša hlavná stránka vyzerá takto:


Samozrejme, vaša stránka môže mať úplne inú štruktúru, ale to pre nás teraz nie je dôležité. Hlavná vec je, že existujú odkazy (tlačidlá) na registráciu a autorizáciu.

Teraz prejdime k registračnému formuláru. Ako ste už pochopili, máme to v súbore formulár_register.php.

Ideme do databázy (v phpMyAdmin), otvoríme štruktúru tabuľky používateľov a uvidíme, aké polia potrebujeme. Potrebujeme teda polia na zadanie mena a priezviska, pole na zadanie poštovej adresy (E-mail) a pole na zadanie hesla. A z bezpečnostných dôvodov pridáme vstupné pole captcha.

Na serveri sa v dôsledku spracovania registračného formulára môžu vyskytnúť rôzne chyby, kvôli ktorým sa používateľ nebude môcť zaregistrovať. Preto, aby používateľ pochopil, prečo registrácia zlyhá, je potrebné, aby sa mu zobrazovali správy o týchto chybách.

Pred zobrazením formulára pridáme blok na zobrazenie chybových hlásení z relácie.

A ďalší moment, ak je používateľ už autorizovaný, a pre zaujímavosť vstúpi na registračnú stránku priamo napísaním do adresného riadku prehliadača website_url/form_register.php, potom mu v tomto prípade namiesto registračného formulára zobrazíme názov, že už je zaregistrovaný.

Vo všeobecnosti kód súboru formulár_register.php dostali sme to takto:

Už si zaregistrovaný

V prehliadači vyzerá registračná stránka takto:


Používaním povinný atribút, všetky polia sú povinné.

Venujte pozornosť kódu registračného formulára, kde zobrazí sa captcha:


V hodnote atribútu src pre obrázok sme zadali cestu k súboru captcha.php, ktorý generuje tento captcha.

Pozrime sa na kód súboru captcha.php:

Kód je dobre komentovaný, takže sa sústredím len na jeden bod.

Vo vnútri funkcie imageTtfText(), je určená cesta k písmu verdana.ttf. Aby captcha fungovala správne, musíme vytvoriť priečinok fonty a vložte tam súbor písma verdana.ttf. Môžete si ho nájsť a stiahnuť z internetu alebo si ho vziať z archívu s materiálmi tohto článku.

So štruktúrou HTML sme skončili, je čas posunúť sa ďalej.

Overenie e-mailu pomocou jQuery

Každý formulár potrebuje validáciu zadaných údajov, a to na strane klienta (pomocou JavaScriptu, jQuery) aj na strane servera.

Osobitnú pozornosť musíme venovať poľu Email. Je veľmi dôležité, aby bola zadaná e-mailová adresa platná.

Pre toto vstupné pole nastavíme typ email (type="email"), to nás trochu varuje pred nesprávnym formátom. To však nestačí, pretože prostredníctvom inšpektora kódu, ktorý nám prehliadač poskytuje, môžete ľahko zmeniť hodnotu atribútu typu s e-mailom na text, a to je všetko, náš šek už nebude platný.


A v takom prípade musíme vykonať spoľahlivejšiu kontrolu. Na to nám poslúži knižnica jQuery z JavaScriptu.

Ak chcete pripojiť knižnicu jQuery, v súbore hlavička.php medzi značkami , pred záverečnou značkou , pridajte tento riadok:

Hneď za tento riadok pridajte kontrolný kód overenia e-mailu. Tu pridávame kód pre kontrolu dĺžky zadaného hesla. Musí mať aspoň 6 znakov.

Pomocou tohto skriptu skontrolujeme platnosť zadanej emailovej adresy. Ak používateľ zadal nesprávny e-mail, zobrazíme o ňom chybu a deaktivujeme tlačidlo odoslania formulára. Ak je všetko v poriadku, odstránime chybu a aktivujeme tlačidlo odoslať formulára.

A tak sme s validáciou formulára na strane klienta hotoví. Teraz to môžeme poslať na server, kde tiež urobíme pár kontrol a pridáme dáta do databázy.

Registrácia používateľa

Formulár posielame na spracovanie do súboru register.php, prostredníctvom metódy POST. Názov tohto súboru obslužného programu určený v hodnote atribútu akcie. A metóda odoslania je špecifikovaná v hodnote atribútu metóda.

Otvorte tento súbor register.php a prvá vec, ktorú musíme urobiť, je napísať funkciu spustenia relácie a zahrnúť súbor, ktorý sme vytvorili predtým dbconnect.php(V tomto súbore sme vytvorili pripojenie k databáze). A napriek tomu okamžite vyhlásiť bunky chybové_správy A úspešné_správy v globálnom poli relácie. IN error_mesages zaznamenáme všetky chybové hlásenia, ktoré sa vyskytnú počas spracovania formulára a v úspešné_správy Píšme si veselé správy.

Pred pokračovaním musíme skontrolovať či bol formulár vôbec odoslaný. Útočník sa môže pozrieť na hodnotu atribútu akcie z formulára a zistite, ktorý súbor tento formulár spracúva. A môže prísť s nápadom prejsť priamo na tento súbor zadaním nasledujúcej adresy do panela s adresou prehliadača: http://site_site/register.php

Musíme teda skontrolovať, či sa v globálnom poli POST nachádza bunka, ktorej názov sa zhoduje s názvom nášho tlačidla „Registrovať“ z formulára. Takto skontrolujeme, či bolo stlačené tlačidlo "Registrovať" alebo nie.

Ak sa útočník pokúsi prejsť priamo k tomuto súboru, zobrazí sa mu chybové hlásenie. Pripomínam, že premenná $address_site obsahuje názov stránky a bola deklarovaná v súbore dbconnect.php.

Chyba! Hlavná stránka .

"); } ?>

Hodnota captcha v relácii bola pridaná počas jej generovania do súboru captcha.php. Na pripomenutie ešte raz ukážem tento kúsok kódu zo súboru captcha.php, kde sa k relácii pridá hodnota captcha:

Teraz poďme k samotnému testu. V súbore register.php, vo vnútri bloku if, kde skontrolujeme, či bolo stlačené tlačidlo „Registrovať“, alebo skôr, kde je komentár „ // (1) Miesto pre ďalšiu časť kódu"píšeme:

//Skontrolujte prijaté captcha //Orezajte medzery od začiatku a od konca reťazca $captcha = trim($_POST["captcha"]); if(isset($_POST["captcha"]) && !empty($captcha))( //Porovnajte prijatú hodnotu s hodnotou z relácie. if(($_SESSION["rand"] != $captcha) && ($_SESSION ["rand"] != ""))( // Ak captcha nie je správny, vráťte používateľa na registračnú stránku a tam sa zobrazí chybové hlásenie, že zadal nesprávne captcha. $error_message = "

Chyba! Zadali ste nesprávny obrázok captcha

"; // Uložte chybovú správu do relácie. $_SESSION["error_messages"] = $error_message; // Vráťte používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: " .$address_site ."/form_register.php"); //Zastavenie skriptu exit(); ) // (2) Miesto pre ďalšiu časť kódu )else( //Ak captcha neprejde alebo je prázdny, ukončite ("

Chyba! Neexistuje žiadny overovací kód, teda captcha kód. Môžete prejsť na hlavnú stránku.

"); }

Ďalej musíme spracovať prijaté dáta z poľa POST. V prvom rade musíme skontrolovať obsah globálneho poľa POST, teda či sa tam nachádzajú bunky, ktorých názvy sa zhodujú s názvami vstupných polí z nášho formulára.

Ak bunka existuje, odrežeme medzery od začiatku a od konca reťazca z tejto bunky, v opačnom prípade používateľa presmerujeme späť na stránku s registračným formulárom.

Ďalej po orezaní medzier do premennej pridáme reťazec a skontrolujeme, či je táto premenná prázdna, ak nie je prázdna, pokračujeme ďalej, v opačnom prípade používateľa presmerujeme späť na stránku s registračným formulárom.

Prilepte tento kód na určené miesto // (2) Miesto pre ďalšiu časť kódu".

/* Skontrolujte, či globálne pole $_POST obsahuje údaje odoslané z formulára a uzatvorte odoslané údaje do bežných premenných.*/ if(isset($_POST["first_name"]))( // Orezať medzery od začiatku a konca reťazec $first_name = trim($_POST["first_name"]); //Skontrolujte, či je premenná prázdna if(!empty($first_name))( // Pre istotu skonvertujte špeciálne znaky na entity HTML $first_name = htmlspecialchars( $first_name, ENT_QUOTES) ; )else( // Uloženie chybovej správy do relácie. $_SESSION["error_messages"] .= "

Zadajte svoje meno

Chýba pole s názvom

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); //Zastavenie skriptu exit(); ) if( isset($_POST["priezvisko"]))( // Orezanie medzier od začiatku a konca reťazca $priezvisko = trim($_POST["priezvisko"]); if(!empty($priezvisko)) ( // Pre istotu konvertujte špeciálne znaky na HTML entity $last_name = htmlspecialchars($last_name, ENT_QUOTES); )else( // Uložte chybovú správu do relácie. $_SESSION["error_messages"] .= "

Zadajte svoje priezvisko

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); //Zastavenie skriptu exit(); ) )else ( // Uložte chybovú správu do relácie. $_SESSION["error_messages"] .= "

Chýba pole s názvom

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); //Zastavenie skriptu exit(); ) if( isset($_POST["e-mail"]))( // Orezanie medzier od začiatku a konca reťazca $email = trim($_POST["email"]); if(!empty($email)) ( $email = htmlspecialchars ($email, ENT_QUOTES); // (3) Miesto kódu na kontrolu formátu e-mailovej adresy a jej jedinečnosti )else( // Uložte chybovú správu do relácie. $_SESSION["error_messages" ] .="

Zadajte svoj e-mail

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); //Zastavenie skriptu exit(); ) )else ( // Uložte chybovú správu do relácie. $_SESSION["error_messages"] .= "

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); //Zastavenie skriptu exit(); ) if( isset($_POST["heslo"]))( // Orezanie medzier od začiatku a konca reťazca $password = trim($_POST["password"]); if(!empty($password)) ( $password = htmlspecialchars ($password, ENT_QUOTES); //Zašifrovať heslo $password = md5($password."top_secret"); )else( // Uložiť chybovú správu do relácie. $_SESSION["error_messages"] .="

Zadajte svoje heslo

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); //Zastavenie skriptu exit(); ) )else ( // Uložte chybovú správu do relácie. $_SESSION["error_messages"] .= "

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); //Zastavenie skriptu exit(); ) // (4) Miesto pre kód na pridanie užívateľa do databázy

Pole má osobitný význam. e-mailom. Musíme skontrolovať formát prijatej poštovej adresy a jej jedinečnosť v databáze. Teda či už je zaregistrovaný používateľ s rovnakou emailovou adresou.

Na určenom mieste" // (3) Miesto kódu na kontrolu formátu poštovej adresy a jej jedinečnosti“ pridajte nasledujúci kód:

//Skontrolujte formát prijatej emailovej adresy pomocou regulárneho výrazu $reg_email = "/^**@(+(*+)*\.)++/i"; //Ak sa formát prijatej e-mailovej adresy nezhoduje s regulárnym výrazom if(!preg_match($reg_email, $email))( // Uložte chybovú správu do relácie. $_SESSION["error_messages"] .= "

Zadali ste neplatný email

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); //Zastavenie skriptu exit(); ) // Skontrolujte, či už takáto adresa v databáze nie je $result_query = $mysqli->query("SELECT `email` FROM `users` WHERE `email`="".$email."""); Ak existuje sú presne jeden riadok, potom je používateľ s touto e-mailovou adresou už zaregistrovaný if($result_query->num_rows == 1)( //Ak výsledok nie je nepravdivý if(($row = $result_query->fetch_assoc()) ! = false) ( // Uložte chybovú správu do relácie. $_SESSION["error_messages"] .= "

Používateľ s touto e-mailovou adresou je už zaregistrovaný

"; //Vrátiť používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); )else( //Uložiť chybové hlásenie do relácie .$_SESSION["error_messages"] .= "

Chyba v databázovom dotaze

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); ) /* zatvorte výber */ $ result_query-> close(); //Zastavenie skriptu exit(); ) /* zatvorenie výberu */ $result_query->close();

A tak sme skončili so všetkými kontrolami, je čas pridať používateľa do databázy. Na určenom mieste" // (4) Miesto pre kód na pridanie užívateľa do databázy“ pridajte nasledujúci kód:

//Dopyt na pridanie používateľa do databázy $result_query_insert = $mysqli->query("INSERT INTO `users` (first_name, last_name, email, password) VALUES ("".$first_name."", "".$last_name ." ", ".$email.", ".$password."")"); if(!$result_query_insert)( // Uloženie chybovej správy do relácie. $_SESSION["error_messages"] .= "

Chybová požiadavka na pridanie používateľa do databázy

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); //Zastavenie skriptu exit(); )else( $_SESSION["success_messages"] = "

Registrácia úspešne dokončená!!!
Teraz sa môžete prihlásiť pomocou svojho používateľského mena a hesla.

"; //Odoslanie používateľa na hlavičku prihlasovacej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_auth.php"); ) /* Dokončite požiadavku */ $ result_query_insert-> close(); //Zatvorte pripojenie k databáze $mysqli->close();

Ak sa v požiadavke na pridanie používateľa do databázy vyskytne chyba, do relácie pridáme správu o tejto chybe a používateľa vrátime na registračnú stránku.

V opačnom prípade, ak všetko prebehlo v poriadku, pridáme k relácii aj správu, ale už je to príjemnejšie, konkrétne povieme používateľovi, že registrácia prebehla úspešne. A presmerujeme ho na stránku s autorizačným formulárom.

Skript na kontrolu formátu emailovej adresy a dĺžky hesla je v súbore hlavička.php, takže to ovplyvní aj polia z tohto formulára.

Relácia sa spustí aj v súbore hlavička.php, teda v súbore form_auth.php reláciu nie je potrebné spustiť, pretože dostaneme chybu.


Ako som povedal, funguje tu aj skript na kontrolu formátu mailovej adresy a dĺžky hesla. Ak teda používateľ zadá nesprávnu e-mailovú adresu alebo krátke heslo, okamžite dostane chybové hlásenie. Tlačítko vstúpiť sa stane neaktívnym.

Po odstránení chýb tlačidlo vstúpiť sa stane aktívnym a používateľ môže odoslať formulár na server, kde bude spracovaný.

Autorizácia používateľa

Pripisovať hodnotu akcie autorizačný formulár má súbor auth.php, čo znamená, že formulár bude spracovaný v tomto súbore.

Otvorme teda súbor auth.php a napíšte kód na spracovanie autorizačného formulára. Prvá vec, ktorú musíte urobiť, je spustiť reláciu a zahrnúť súbor dbconnect.php na pripojenie k databáze.

//Deklarujte bunku a pridajte chyby, ktoré sa môžu vyskytnúť počas spracovania formulára. $_SESSION["error_messages"] = ""; //Vyhlásenie bunky na pridanie úspešných správ $_SESSION["success_messages"] = "";

/* Skontrolujte, či bol formulár odoslaný, teda či ste klikli na tlačidlo Prihlásiť. Ak áno, ideme ďalej, ak nie, potom používateľovi zobrazíme chybové hlásenie, že prešiel priamo na túto stránku. */ if(isset($_POST["btn_submit_auth"]) && !empty($_POST["btn_submit_auth"]))( //(1) Miesto pre ďalšiu časť kódu )else( exit("

Chyba! Na túto stránku ste sa dostali priamo, takže neexistujú žiadne údaje na spracovanie. Môžete prejsť na hlavnú stránku.

"); }

//Skontrolujte prijaté captcha if(isset($_POST["captcha"]))( //Orezajte medzery od začiatku a konca reťazca $captcha = trim($_POST["captcha"]); if(!empty ($captcha ))( //Porovnajte prijatú hodnotu s hodnotou z relácie. if(($_SESSION["rand"] != $captcha) && ($_SESSION["rand"] != ""))( // Ak je captcha neplatný, vrátime používateľa na autorizačnú stránku a tam sa zobrazí chybové hlásenie, že zadal nesprávne captcha. $error_message = "

Chyba! Zadali ste nesprávny obrázok captcha

"; // Uložte chybovú správu do relácie. $_SESSION["error_messages"] = $error_message; // Vráťte používateľa na hlavičku autorizačnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: " .$address_site ."/form_auth.php"); //Zastavenie skriptu exit(); ) )else( $error_message = "

Chyba! Vstupné pole captcha nesmie byť prázdne.

"; // Uložte chybovú správu do relácie. $_SESSION["error_messages"] = $error_message; // Vráťte používateľa na hlavičku autorizačnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: " .$address_site ."/form_auth.php"); //Zastavenie skriptu exit(); ) //(2) Miesto na spracovanie poštovej adresy //(3) Miesto na spracovanie hesla //(4) Miesto na vykonanie dotazu do databázy )else ( //Ak sa neprejde captcha exit("

Chyba! Neexistuje žiadny overovací kód, teda captcha kód. Môžete prejsť na hlavnú stránku.

"); }

Ak používateľ zadal overovací kód správne, pokračujeme ďalej, inak ho vrátime na autorizačnú stránku.

Overenie e-mailovej adresy

// Orezať medzery od začiatku a konca reťazca $email = trim($_POST["email"]); if(isset($_POST["e-mail"]))( if(!empty($email))( $email = htmlspecialchars($email, ENT_QUOTES); //Skontrolujte formát prijatej e-mailovej adresy pomocou regulárneho výrazu $ reg_email = " /^**@(+(*+)*\.)++/i"; //Ak sa formát prijatej e-mailovej adresy nezhoduje s regulárnym výrazom if(!preg_match($reg_email, $email ))( // Uložiť do chybovej správy relácie.$_SESSION["error_messages"] .= "

Zadali ste neplatný email

"; //Vrátenie používateľa na hlavičku autorizačnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_auth.php"); //Zastavenie skriptu exit(); ) )else ( // Uložte chybovú správu do relácie. $_SESSION["error_messages"] .= "

Pole na zadanie poštovej adresy (e-mailu) by nemalo byť prázdne.

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_register.php"); //Zastavenie skriptu exit(); ) )else ( // Uložte chybovú správu do relácie. $_SESSION["error_messages"] .= "

Neexistuje žiadne pole na zadanie e-mailu

"; //Vrátenie používateľa na hlavičku autorizačnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_auth.php"); //Zastavenie skriptu exit(); ) // (3) Miesto na spracovanie hesla

Ak používateľ zadal e-mailovú adresu v nesprávnom formáte alebo je hodnota v poli e-mailovej adresy prázdna, vrátime ho na autorizačnú stránku, kde o tom zobrazíme správu.

Kontrola hesla

Ďalším poľom na spracovanie je pole s heslom. Na určené miesto" //(3) Miesto na spracovanie hesla", píšeme:

If(isset($_POST["heslo"]))( // Orezať medzery od začiatku a konca reťazca $password = trim($_POST["password"]); if(!empty($password))( $password = htmlspecialchars($password, ENT_QUOTES); // Zašifrovať heslo $password = md5($password."top_secret"); )else( // Uložiť chybovú správu do relácie. $_SESSION["error_messages"] . = "

Zadajte svoje heslo

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_auth.php"); //Zastavenie skriptu exit(); ) )else ( // Uložte chybovú správu do relácie. $_SESSION["error_messages"] .= "

Neexistuje žiadne pole na zadanie hesla

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_auth.php"); //Zastavenie skriptu exit(); )

Tu pomocou funkcie md5 () zašifrujeme prijaté heslo, keďže v databáze máme heslá v zašifrovanej podobe. Ďalšie tajné slovo v šifrovaní, v našom prípade " Prísne tajné“ musí byť ten, ktorý bol použitý pri registrácii používateľa.

Teraz musíte zadať dotaz do databázy na výber používateľa, ktorého e-mailová adresa sa rovná prijatej e-mailovej adrese a heslo sa rovná prijatému heslu.

//Dopyt do databázy podľa výberu užívateľa. $result_query_select = $mysqli->query("SELECT * FROM `users` WHERE email = "".$email."" A heslo = "".$password."""); if(!$result_query_select)( // Uložiť chybovú správu do relácie. $_SESSION["error_messages"] .= "

Chyba dotazu pri výbere používateľa z databázy

"; //Vrátenie používateľa na hlavičku registračnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_auth.php"); //Zastavenie skriptu exit(); )else( //Skontrolujte, či sa v databáze nenachádza žiadny používateľ s takýmito údajmi, potom zobrazí chybové hlásenie if($result_query_select->num_rows == 1)( // Ak sa zadané údaje zhodujú s údajmi z databázy, potom uložte prihlasovacie meno a heslo do poľa relácie. $_SESSION["email"] = $email; $_SESSION["password"] = $password; //Vrátenie používateľa na hlavičku hlavnej stránky("HTTP/1.1 301 Trvalo presunuté" ); header("Umiestnenie: ".$address_site ."/index.php"); )else( // Uloženie chybovej správy do relácie. $_SESSION["error_messages"] .= "

Nesprávne používateľské meno a/alebo heslo

"; //Vrátenie používateľa na hlavičku autorizačnej stránky("HTTP/1.1 301 Presunuté natrvalo"); header("Umiestnenie: ".$address_site."/form_auth.php"); //Zastavenie skriptu exit(); ))

Výstup zo stránky

A posledná vec, ktorú implementujeme, je výstupná procedúra. Momentálne v hlavičke zobrazujeme odkazy na autorizačnú stránku a registračnú stránku.

V hlavičke stránky (súbor hlavička.php), pomocou relácie skontrolujeme, či je používateľ už prihlásený. Ak nie, zobrazíme odkazy na registráciu a autorizáciu, v opačnom prípade (ak je autorizovaný) namiesto odkazov na registráciu a autorizáciu zobrazíme odkaz VÝCHOD.

Upravený kus kódu zo súboru hlavička.php:

Registrácia

VÝCHOD

Keď kliknete na výstupný odkaz zo stránky, dostaneme sa do súboru odhlásiť.php, kde jednoducho zničíme bunky s emailovou adresou a heslom z relácie. Potom vrátime používateľa späť na stránku, na ktorej bol odkaz kliknutý VÝCHOD.

Kód súboru logout.php:

To je všetko. Teraz už viete ako implementovať a spracovávať registračné a autorizačné formuláre používateľa na vašom webe. Tieto formuláre sa nachádzajú takmer na každej stránke, takže každý programátor by mal vedieť, ako ich vytvoriť.

Naučili sme sa tiež validovať vstupné dáta, a to ako na strane klienta (v prehliadači, pomocou JavaScriptu, jQuery), tak aj na strane servera (pomocou jazyka PHP). Tiež sme sa učili implementovať postup odhlásenia.

Všetky skripty sú testované a fungujú. Archív so súbormi tejto malej stránky si môžete stiahnuť z tohto odkazu.

V budúcnosti napíšem článok, kde popíšem. A tiež plánujem napísať článok, kde vysvetlím (bez opätovného načítania stránky). Takže, aby ste boli informovaní o vydaní nových článkov, môžete sa prihlásiť na odber mojej stránky.

Ak máte nejaké otázky, kontaktujte ma, ak si všimnete nejakú chybu v článku, dajte mi vedieť.

Plán lekcie (5. časť):

  1. Vytvorenie štruktúry HTML pre autorizačný formulár
  2. Prijaté údaje spracovávame
  3. Pozdrav používateľa zobrazujeme v hlavičke stránky

Páčil sa vám článok?

Reg.ru: domény a hosting

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

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

Propagácia, mail pre doménu, riešenia pre podnikanie.

Svoj výber si už vybralo viac ako 700 tisíc zákazníkov po celom svete.

*Prejdením myšou pozastavíte rolovanie.

Späť dopredu

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, odošle e-mail s potvrdením registrácie, overí ostatné polia formulára a oveľa viac.

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

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



Náš super jednoduchý systém by fungoval takto:

Spojíme autorizačný formulár a registráciu. Tento formulár bude obsahovať pole na zadanie e-mailovej adresy a tlačidlo registrácie;
- Pri vyplnení poľa emailovou adresou sa kliknutím na tlačidlo registrovať vytvorí záznam o novom užívateľovi, avšak len v prípade, že zadaná emailová adresa nebola nájdená v databáze.

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

Výhody tohto prístupu:

Nie je potrebné ukladať heslá a overovať polia;
- Nie je potrebné obnovenie hesla, tajné otázky atď.;
- Od momentu registrácie/prihlásenia používateľa si môžete byť vždy istý, že tento používateľ bude vo vašej prístupovej zóne (že e-mailová adresa je pravdivá);
- Neuveriteľne jednoduchý proces registrácie;

nedostatky:

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 možno ho zachytiť. Majte na pamäti, že táto otázka je relevantná aj v prípade, keď bolo heslo zabudnuté a je potrebné ho obnoviť, alebo v akomkoľvek autorizačnom systéme, ktorý nepoužíva HTTPS na prenos dát (login / heslo);
- Pokiaľ nastavíte poštový server podľa potreby, existuje šanca, že správy s autorizačnými odkazmi skončia v spame;

Pri porovnaní výhod a nevýhod nášho systému môžeme konštatovať, že systém má vysokú využiteľnosť (maximálny komfort pre koncového užívateľa) a zároveň má nízky bezpečnostný indikátor.

Preto sa navrhuje používať ho na registrácie na fórach a službách, ktoré nepracujú s dôležitými informáciami.

Ako používať tento systém

V prípade, že len potrebujete použiť systém na autorizáciu používateľov na vašom webe a nechcete túto lekciu rozoberať, musíte urobiť toto:

Musíte si stiahnuť zdrojové súbory priložené k lekcii
- Nájdite súbor v archíve tables.sql Importujte ho do svojej databázy pomocou možnosti importu v phpMyAdmin. Alternatívny spôsob: otvorte tento súbor v textovom editore, skopírujte SQL dotaz 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 tom istom súbore musíte zadať aj e-mailovú adresu, ktorá sa použije ako pôvodná adresa pre správy odoslané systémom. Niektorí hostitelia budú blokovať odchádzajúce e-maily, kým sa vo formulári nezobrazí skutočná e-mailová adresa, ktorá bola vygenerovaná z ovládacieho panela hostiteľa, takže zadajte skutočnú adresu;
- Stiahnite si všetky súbory index.php, protected.php a aktíva a zložky cez FTP do vášho hostiteľa;
- Pridajte nižšie uvedený kód na každú stránku PHP, kde chcete zobraziť autorizačný formulár;

Require_once "includes/main.php"; $user = novy User(); if(!$user->loggedIn())( redirect("index.php"); )
- Pripravený!

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

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

index.php

Návod: Super jednoduchý registračný systém s PHP a MySQL

Prihláste sa alebo Registrujte sa

Vyššie zadajte svoju e-mailovú adresu a my vám pošleme
odkaz na prihlásenie.

V sekcii hlavy (medzi značkami A) Zahrnul som hlavné štýly (v tomto návode nie sú analyzované, takže si ich môžete pozrieť sami. Priečinok aktív/css/style.css). Pred záverečnou značkou Zahrnul som knižnicu jQuery a súbor script.js, ktoré napíšeme a analyzujeme nižšie.


JavaScript

jQuery sleduje stav tlačidla „Sign Up/Login“ s funkciou e.preventDefault() a odosiela požiadavky AJAX. V závislosti od odpovede servera zobrazí konkrétnu správu a určí ďalšie akcie /

aktíva/js/script.js

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

bol pridaný do formulára na zobrazenie aktuálneho stavu požiadavky AJAX (toto bolo možné vďaka metódam ajaxStart()) A ajaxComplete(), ktorý nájdete na konci súboru).

Táto trieda zobrazuje otáčajúci sa animovaný súbor gif (akoby nám naznačoval, že požiadavka sa spracováva) a tiež funguje ako príznak, ktorý zabraňuje opätovnému odoslaniu formulára (keď sa už raz kliklo na tlačidlo registrácie). Trieda .prihlásený- toto je iný príznak - nastavený pri odoslaní e-mailu. Tento príznak okamžite zablokuje akúkoľvek ďalšiu akciu vo formulári.

Schéma databázy

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


Schéma užívateľskej tabuľky.

Systém nepoužíva heslá, čo je vidieť na diagrame. Na ňom môžete vidieť stĺpec žetón so žetónmi susediacimi so stĺpcom platnosť_tokenu. Token sa nastaví hneď, ako sa používateľ pripojí k systému, nastaví svoj e-mail na odoslanie správy (o tom trochu viac v ďalšom bloku). Stĺpec platnosť_tokenu nastaví čas o 10 minút neskôr, po ktorom už token nie je platný.


Schéma tabuľky, ktorá počíta počet pokusov o autorizáciu.

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

Teraz môžeme napísať nejaký PHP kód. Hlavná funkcionalita systému je priradená triede user.class.php ktoré môžete vidieť nižšie.

Táto trieda aktívne používa idorm (docs), tieto knižnice sú minimálne potrebné nástroje, na prácu s databázami. Zaoberá sa prístupom k databáze, generovaním tokenov a validáciou. Je to jednoduché rozhranie, ktoré uľahčuje pripojenie registračného systému k vašej stránke, ak používa PHP.

user.class.php

Class User( // Súkromný prípad ORM private $orm; /** * Vyhľadanie používateľa podľa tokenu. Do úvahy sa berú len platné tokeny. Token sa generuje iba 10 minút od okamihu, keď bol vytvorený * @param string $token . Toto je ten, ktorý hľadáte token * @return User. Vráťte hodnotu funkcie Používateľ */ verejná statická funkcia findByToken($token)( // nájdite token v databáze a uistite sa, že je nastavená správna časová pečiatka $ vysledok = ORM::for_table("reg_users") ->where ("token", $token) ->where_raw("platnost_tokenu > TERAZ()") ->find_one(); if(!$result)( return false; ) return new User($result); ) /** * Autorizácia alebo registrácia používateľa * @param string $email.E-mailová adresa používateľa * @return User */ verejná statická funkcia loginOrRegister($email)( // Ak takýto používateľ už existuje, vráťte hodnotu funkcie Používateľ zo zadanej e-mailovej adresy uloženej v databáze if(User::exists($email))( return new User($email); ) // V opačnom prípade vytvorte nového používateľa tel v databáze a vráti hodnotu funkcie User::create zo zadaného emailu return User::create($email); ) /** * Vytvorenie nového užívateľa a uloženie do databázy * @param string $email. E-mailová adresa používateľa * @return User */ súkromná statická funkcia create($email)( // Zaregistrujte nového používateľa a vráťte výsledok funkcie Používateľ z týchto hodnôt $result = ORM::for_table("reg_users")- >create(); $result->email = $email; $result->save(); return new User($result); ) /** * Skontrolujte, či takýto používateľ existuje v databáze a vráťte boolovskú hodnotu premenná * @param reťazec $email. E-mailová adresa používateľa * @return boolean */ existuje verejná statická funkcia ($email)( // Existuje používateľ v databáze? $result = ORM::for_table("reg_users") ->where("email", $email ) ->count(); return $result == 1; ) /** * Vytvorenie nového používateľského objektu * @param inštancia $param ORM , id, email alebo 0 * @return User */ verejná funkcia __construct($param = null) ( if($param instanceof ORM)( // kontrola ORM prebehla $this->orm = $param; ) else if(is_string($param))( // Kontrola e-mailu prebehla $this->orm = ORM:: for_table ("reg_users") ->where("e-mail", $param) ->find_one(); ) else( $id = 0; if(is_numeric($param))( // ID používateľa je odovzdaná hodnota $ param premenná $id = $param; ) else if(isset($_SESSION["loginid"]))( // Inak pozri reláciu $id = $_SESSION["loginid"]; ) $this->orm = ORM:: for_table( "reg_users") ->where("id", $id) ->find_one(); ) ) /** * Vygeneruje nový autorizačný token SHA1, píše do databázy a vráti svoju hodnotu * @return string */ verejná funkcia vygenerovaťToken()( // Vygenerovať token pre oprávneného používateľa a uložiť ho do databázy $token = sha1($this->email.time().rand (0,1000000)); // Uložte token do databázy // A označte ho ako platný iba na nasledujúcich 10 minút $this->orm->set("token", $token); $this->orm->set_expr("platnosť_tokenu", "ADDTIME(NOW(),"0:10")"); $this->orm->save(); vrátiť $token; ) /** * Autorizácia používateľa * @return void */ public function login()( // Označenie používateľa ako prihláseného $_SESSION["loginid"] = $this->orm->id; // Aktualizácia hodnoty databázového poľa last_login $this->orm->set_expr("last_login", "NOW()"); $this->orm->save(); ) /** * Zničiť reláciu a odhlásiť používateľa * @return void */ odhlásenie z verejnej funkcie ()( $_SESSION = array(); unset($_SESSION); ) /** * Skontrolujte, či je používateľ prihlásený * @return boolean */ verejná funkcia prihlásený()( return isset($) this->orm->id) && $_SESSION["loginid"] == $this->orm->id; ) /** * Skontrolujte, či je používateľ správcom * @return boolean */ public function isAdmin() ( return $this->rank() = = "administrator"; ) /** * Nájdite typ používateľa, môže to byť správca alebo bežný * @reťazec návratu */ public function rank()( if($this->orm- >rank == 1)( return "administrator"; ) return "regular"; ) /** * Metóda, ktorá vám umožňuje získať súkromné ​​informácie * ako vlastnosti objektu používateľa * @param string $key Názov vlastnosti, ku ktorej sa pristupuje * @return mixed */ public function __get($key)( if(isset($this->orm->$key)) ( return $this->orm->$key; ) return null; ))

Tokeny sa generujú pomocou algoritmu SHA1 a ukladajú sa do databázy. Používam časové funkcie MySQL na nastavenie 10-minútového limitu vypršania platnosti tokenu.

Keď token prejde overovacou procedúrou, priamo informujeme obsluhu, že berieme do úvahy len tokeny, ktorým ešte neskončila platnosť, uložené v stĺpci token_validity.

Upozorňujeme, že používam magickú metódu __získať knižnicu dokumentov na konci súboru na zachytenie prístupu k vlastnostiam objektu používateľa.

Vďaka tomu je možné vďaka vlastnostiam pristupovať k informáciám uloženým v databáze $user->e-mail, $user->token atď. V nasledujúcom úryvku kódu si uveďme príklad použitia týchto tried.


Chránená stránka

Ďalším súborom, v ktorom sú uložené užitočné a potrebné funkcie, je súbor funkcie.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.

funkcie.php

Funkcia send_email($from, $to, $subject, $message)( // Pomocník, ktorý odosiela e-maily $headers = "MIME-Verzia: 1.0" . "\r\n"; $headers .= "Typ obsahu: text /plain; charset=utf-8" . "\r\n"; $headers .= "Od: ".$from . "\r\n"; return mail($to, $subject, $message, $headers ); ) function get_page_url()( // Získanie URL súboru PHP $url = "http".(prázdne($_SERVER["HTTPS"])?"":"s")."://".$_SERVER [ "SERVER_NAME"]; if(isset($_SERVER["REQUEST_URI"]) && $_SERVER["REQUEST_URI"] != "")( $url.= $_SERVER["REQUEST_URI"]; ) else( $url. = $_SERVER["PATH_INFO"]; ) return $url; ) funkcia rate_limit($ip, $limit_hour = 20, $limit_10_min = 10)( // Počet pokusov o prihlásenie za poslednú hodinu na tejto IP adrese $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") ->where("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)( throw new Exception("Príliš veľa pokusov o prihlásenie!"); ) ) funkcia rate_limit_tick($ip, $email)( // Vytvorenie novej položky v tabuľke počítanie počtu 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(); ) function redirect($url)( header("Location: $url"); exit; )

Funkcie sadzba_limit A rate_limit_tick sledovať počet pokusov o autorizáciu za časové obdobie, ktoré uplynulo od prvého pokusu. Pokus o prihlásenie sa zaznamená do databázy v stĺpci reg_login_attempt. Tieto funkcie sa volajú pri spracovávaní a odosielaní údajov formulára, ako môžete vidieť z nasledujúceho útržku kódu.

Nižšie uvedený kód je prevzatý zo súboru index.php a spracováva odoslanie formulára. Vracia odpoveď JSON, ktorá je následne spracovaná jQuery v súbore aktíva/js/script.js o ktorých sme už hovorili skôr.

index.php

Try( if(!empty($_POST) && isset($_SERVER["HTTP_X_REQUESTED_WITH"]))( // Výstup hlavičky JSON("Content-type: application/json"); // Je táto e-mailová adresa platná, ak (!isset($_POST["e-mail"]) || !filter_var($_POST["email"], FILTER_VALIDATE_EMAIL))( throw new Exception("Zadajte platný e-mail."); ) // Skontrolujte. Je používateľ sa môže prihlásiť, prekročil počet povolených pripojení? (viac informácií v súbore functions.php) rate_limit($_SERVER["REMOTE_ADDR"]); // Zaznamenať tento pokus o prihlásenie rate_limit_tick($_SERVER["REMOTE_ADDR"] , $ _POST["e-mail"]); // Odoslať e-mail používateľovi $message = ""; $email = $_POST["e-mail"]; $subject = "Váš odkaz na prihlásenie"; if(!User:: existuje($email) )( $subject = "Ďakujeme za registráciu!"; $message = "Ďakujeme za registráciu na našej stránke!\n\n"; ) // Pokus o autorizáciu alebo registráciu používateľa $user = Používateľ ::loginOrRegister($_POST[ "e-mail"]); $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."; $vysledok = send_email($fromEmail, $_POST["e-mail"], $predmet, $sprava); if(!$result)( throw new Exception("Pri odosielaní vášho e-mailu sa vyskytla chyba. Skúste to znova."); ) die(json_encode(array("message" => "Ďakujeme! Poslali sme odkaz) do svojej doručenej pošty. Skontrolujte si aj priečinok so spamom.")))); ) ) catch(Exception $e)( die(json_encode(array("error"=>1, "message" => $e->getMessage( )))))

Po úspešnej autorizácii/registrácii pošle vyššie uvedený kód užívateľovi odkaz na autorizáciu. Token sa stáva dostupným, pretože je odovzdaná ako premenná vo vygenerovanom odkaze metódou $_GET s fixkou tkn

index.php

If(isset($_GET["tkn"]))( // Je tento token platný na autorizáciu? $user = User::findByToken($_GET["tkn"]); if($user)( // Áno , je. Presmerujte na chránenú stránku $user->login(); redirect("protected.php"); ) // Nie, token nie je platný. Presmerujte na stránku s prihlasovacím/registračným formulárom redirect("index. php");)

$user->login()

vytvorí potrebné premenné pre reláciu, takže používateľ, ktorý si prezerá nasledujúce stránky webu, zostane po celý čas autorizovaný.

Podobne je usporiadané spracovanie funkcie na ukončenie systému.

index.php

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

Na konci kódu som opäť presmeroval na index.php, teda parameter ?logout=1 odovzdaný URL nie je povinný.

Náš súbor index.php vyžaduje dodatočné ochrana - nechceme, aby ľudia, ktorí sa niekedy prihlásili do systému, znova videli registračný formulár. Na tieto účely používame metódu $user->loggedIn().

index.php

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

Nakoniec je tu kúsok kódu, ktorý vám umožní chrániť stránky vášho webu a sprístupniť ho až po autorizácii.

protected.php

// Na zabezpečenie každej stránky na vašom webe zahrňte súbor // main.php a vytvorte nový objekt používateľa. Takto je to jednoduché! require_once "includes/main.php"; $user = novy 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 $user. Ak chcete zobraziť e-mail a stav používateľa, použite tento kód:

echo "Váš email: ".$user->email; echo "Vaša hodnosť: ".$user->rank();

Metóda rank() sa tu používa preto, lebo čísla sú zvyčajne uložené v databáze (0 pre bežného používateľa, 1 pre administrátora) a tieto údaje potrebujeme previesť do stavov, ku ktorým patria, v čom nám tento spôsob pomáha.

Ak chcete z bežného používateľa urobiť administrátora, jednoducho upravte záznam používateľa cez phpMyAdmin (alebo akýkoľvek iný program, ktorý vám umožňuje spravovať databázy). Stav správcu nedáva žiadne privilégiá, v tomto príklade sa na stránke zobrazí, že ste správcom – a to je všetko.

Ale čo s tým robiť - zostáva na vašom uvážení, môžete sami napísať a zostaviť kód, ktorý nastaví určité privilégiá a príležitosti pre správcov.

Skončili sme!

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

Materiál pripravil Denis Malyshok špeciálne pre túto stránku

P.S. Chcete sa posunúť ďalej v ovládaní PHP a OOP? Pozrite si prémiové návody o rôznych aspektoch tvorby webových stránok vrátane programovania PHP, ako aj bezplatný kurz budovania systému PHP CMS od nuly pomocou OOP:

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


V zásade sa na odovzdávanie parametrov používajú metódy. POST A GET.
Hlavný rozdiel medzi metódami POST A GET je spôsob prenosu informácií. V metóde GET parametre sa prenášajú cez panel s adresou ( URL), t.j. V HTTP-požiadavka hlavičky v metóde POST parametre prechádzajú cez telo HTTP-request a v paneli s adresou sa nijakým spôsobom neodrážajú.

1. Tlačidlá - Tag

Tag požadovaný.
Možnosti:
zdravotne postihnutých– blokuje prístup a úpravu prvku.
typu- typ tlačidla
hodnotu– Hodnota tlačidla, ktorá bude odoslaná na server alebo načítaná pomocou spritov.


Parameter ZAKÁZANÉ
Blokuje prístup a úpravu tlačidla. V tomto prípade je zobrazená sivá a nie je k dispozícii na aktiváciu používateľom. Okrem toho takéto tlačidlo nemôže zaostriť stlačením klávesu. Tab, myš alebo inak. Tento stav tlačidla je však možné zmeniť pomocou skriptov.

Parameter TYP
Určuje typ tlačidla, ktorý nastavuje jeho správanie vo formulári. Tlačidlá rôznych typov sa nelíšia vzhľadom, ale každé takéto tlačidlo má svoje funkcie. Predvolená hodnota: tlačidlo.
Argumenty:
tlačidlo- Normálne tlačidlo.
resetovať– Tlačidlo na vymazanie zadaných údajov formulára a vrátenie hodnôt do pôvodného stavu.

Odoslať – tlačidlo na odoslanie údajov formulára na server.

Parameter VALUE Určuje hodnotu tlačidla, ktorá bude odoslaná na server. Pár " meno=hodnota“, kde názov je daný parametrom name tagu

1.1. Tlačidlo (typ vstupu = tlačidlo)
1.2. Tlačidlo obrázka (typ vstupu = obrázok)

Tlačidlá s obrázkami sú v činnosti podobné ako tlačidlo Predložiť, ale sú kresbou. Na to sme sa nastavili typ=obrázok A src="obrazok.gif".

Keď používateľ klikne niekde na obrázok, na server sa odošle príslušný formulár s dvoma ďalšími premennými − sub_x A sub_y. Obsahujú súradnice používateľa, ktorý klikol na obrázok. Skúsení programátori si môžu všimnúť, že názvy premenných odosielané prehliadačom v skutočnosti obsahujú bodku, nie podčiarkovník, ale PHP bodku automaticky prevádza na podčiarkovník.

1.3. Tlačidlo na odoslanie formulára (typ vstupu = odoslať)

Používa sa na odoslanie formulára do skriptu. Pri vytváraní tlačidla na odoslanie formulára musíte zadať 2 atribúty: type="submit" A value="Text tlačidla" !}. Atribút názvu sa vyžaduje, ak existuje viac ako jedno tlačidlo, ale niekoľko a všetky sú vytvorené pre rôzne operácie, napríklad tlačidlá "Uložiť", "Vymazať", "Upraviť" atď. Po stlačení tlačidla sa skriptu odovzdá text string name=button.


PHP skript sa nevyžaduje.

1.4. Pole tlačidiel (odoslať) na výber možnosti akcie
2. Tlačidlo Reset

Keď stlačíte tlačidlo reset ( resetovať), všetky prvky formulára sa nastavia do stavu, ktorý bol nastavený v predvolených atribútoch, a formulár sa neodošle.


PHP skript sa nevyžaduje.

3. Začiarkavacie políčko

Začiarkavacie políčka ponúkajú používateľovi celý rad možností a umožňujú ľubovoľný výber (žiadnu, jednu alebo viacero).

biely
zelená
Modrá
Červená
čierna
$go) ( echo $index." -> ".$go."
"; }; };

4. Vypínač (rádio)

Rádiové spínače ponúkajú užívateľovi množstvo možností, ale umožňujú vybrať len jednu z nich.
Príklad 1

biely
zelená
Modrá
Červená
čierna

Príklad 2
// prvá skupina tlačidiel
// druhá sada tlačidiel
// tretia sada tlačidiel
\n"; ?>

5. Textové pole (text)

Pri vytváraní bežného textového poľa s veľkosťou veľkosti a maximálnou povolenou dĺžkou maximálna dĺžka znakov, atribút type nadobúda hodnotu text. Ak je parameter špecifikovaný hodnotu, potom pole zobrazí hodnotu zadanú v premennej. Pri vytváraní poľa nezabudnite uviesť názov poľa, pretože tento atribút je povinný.

6. Pole na zadanie hesla (hesla)

Je to úplne rovnaké ako textové pole, ibaže znaky zadané používateľom sa na obrazovke nezobrazia.

7. Skryté textové pole (skryté)

Umožňuje vám odovzdať niektoré informácie o službe do skriptu bez toho, aby sa zobrazili na stránke.

8. Rozbaľovací zoznam (vyberte)

Tag . značky umožňujú určiť obsah zoznamu a parameter hodnotu definuje hodnotu reťazca. Ak je v značke špecifikovaný parameter vybraný, potom sa riadok najprv vyberie. Parameter size určuje, koľko riadkov bude zoznam zaberať. Ak veľkosť rovná sa 1 , potom bude zoznam rozbaľovací. Ak je zadaný atribút viacnásobný, je povolené vybrať viacero položiek zo zoznamu. Ale táto schéma sa prakticky nepoužíva a kedy veľkosť = 1 nedáva zmysel.

Ak je potrebné vytvoriť rozbaľovaciu ponuku s predvídateľnou sekvenciou. Napríklad zoznam s rokmi 2000 až 2050. Potom sa použije nasledujúci trik.

9. Viacriadkové pole na zadávanie textu (textová oblasť)

Viacriadkové textové vstupné pole vám umožňuje odoslať nie jeden riadok, ale niekoľko naraz. Voliteľne môžete zadať atribút iba na čítanie, ktorý zakazuje upravovať, mazať a meniť text, t.j. text bude len na čítanie. Ak chcete, aby sa text na začiatku zobrazil vo viacriadkovom vstupnom poli, musíte ho umiestniť medzi značky .
Existuje možnosť obal– úloha ovíjania riadkov. Možné hodnoty:
vypnuté- deaktivuje zalamovanie riadkov;
virtuálne– zobrazuje konce riadkov, ale odosiela text tak, ako je zadaný;
fyzické- Zalomenia riadkov sú ponechané tak, ako sú.
Predvolená značka

Aby bolo dodržané formátovanie html vo viacriadkovom textovom poli (zalomenie riadkov pomocou značky
alebo
), potom použite funkciu nl2br():

10. Tlačidlo na sťahovanie súborov (prehliadať)

Používa sa na nahrávanie súborov na server. Pri vytváraní textového poľa musíte zadať aj typ poľa typu Ako "súbor".

Stiahnuť súbor:

Ako prehliadač komunikuje so serverom

Metódy uvedené v protokole HTTP, Málo. Toto je dôležitá informácia. Neexistujú žiadne iné spôsoby. V praxi sa používajú dva:
GET- to je, keď sa údaje prenášajú v paneli s adresou, napríklad keď používateľ klikne na odkaz.
POST– keď klikne na tlačidlo vo formulári.

GET metóda

Na odovzdávanie údajov metódou GET nie je potrebné vytvárať formulár na stránke HTML (použite formuláre pre požiadavky pomocou GET nikto ti to nezakazuje) - len odkaz na dokument s doplnením reťazca dotazu, ktorý môže vyzerať ako premenná=hodnota. Páry sú spojené znakom & a reťazec je pripojený k adrese URL stránky s otáznikom " ? ».
Ale nemôžete použiť páry kľúč = hodnota, ak potrebujete odovzdať iba jednu premennú - na to musíte za otáznik napísať VALUE (nie názov) premennej.
Výhoda odovzdávanie parametrov týmto spôsobom je, že klienti, ktorí nemôžu použiť metódu POST(napríklad vyhľadávače) budú stále môcť jednoducho sledovať odkaz, odovzdať parametre skriptu a získať obsah.
Chyba spočíva v tom, že jednoduchou zmenou parametrov v adresnom riadku môže používateľ otočiť skript nepredvídateľným spôsobom, čo vytvára obrovskú bezpečnostnú dieru v kombinácii s nedefinovanými premennými a register_globals zapnutý alebo niekto môže zistiť hodnotu dôležitej premennej (napr ID-sessions), len pri pohľade na obrazovku monitora.
:
- prístup k verejným stránkam s odovzdávaním parametrov (vylepšená funkčnosť)
- prenos informácií, ktoré neovplyvňujú úroveň bezpečnosti
:
- na prístup k chráneným stránkam s odovzdávaním parametrov
- prenášať informácie, ktoré ovplyvňujú úroveň bezpečnosti
- na prenos informácií, ktoré nepodliehajú zmenám zo strany používateľa (niektoré prenášajú text SQL dotazov.

Metóda POST

Odovzdajte údaje podľa metódy POST Formulár môžete použiť iba na stránke HTML. Hlavný rozdiel POST od GET tým, že údaje sa neprenášajú v hlavičke požiadavky, ale v tele, preto ich používateľ nevidí. Úpravu je možné vykonať len zmenou samotného formulára.
Výhoda:
- Väčšia bezpečnosť a funkčnosť žiadostí pomocou formulárov metódou POST.
Chyba:
- menšia dostupnosť.
Na čo sa má použiť:
- na prenos veľkého množstva informácií (text, súbory ..);
- sprostredkovať všetky dôležité informácie;
- obmedziť prístup (napríklad používať iba formulár na navigáciu – funkcia, ktorá nie je dostupná všetkým robotom alebo zachytávačom obsahu).
Prečo by ste nemali používať:

PHP je schopné prijať súbor nahraný pomocou akéhokoľvek prehliadača. To umožňuje nahrávať textové aj binárne súbory. Spolu s PHP autentifikáciou a funkciami súborového systému máte úplnú kontrolu nad tým, kto môže nahrávať súbory a čo robiť so súborom po jeho nahratí.
Stránka nahrávania súboru môže byť implementovaná pomocou špeciálna forma, ktorý vyzerá asi takto:

//Formulár na nahrávanie súborov

Odoslať tento súbor:

V príklade vyššie "URL" musí byť nahradený odkazom na skript PHP. skryté pole MAX_FILE_SIZE(hodnota musí byť špecifikovaná v bajtoch) musí byť pred poľom výberu súboru a jeho hodnota je maximálna povolená veľkosť súboru, ktorú je možné akceptovať. Mali by ste sa tiež uistiť, že atribúty formulára, ktoré ste zadali enctype="multipart/form data", inak sa súbory nenahrajú na server.
Pozornosť
Možnosť MAX_FILE_SIZE je odporúčanie prehliadaču, aj keď PHP tiež skontrolovalo túto podmienku. Obídenie tohto obmedzenia na strane prehliadača je pomerne jednoduché, takže by ste sa nemali spoliehať na túto funkciu pri blokovaní všetkých väčších súborov. Limit maximálnej veľkosti PHP však nemožno obísť. Aj tak by ste mali pridať premennú formulára MAX_FILE_SIZE pretože bráni používateľom v napätom čakaní pri prenose veľkých súborov, len aby zistili, že súbor je príliš veľký a prenos v skutočnosti neprebehol.

Ako definovať metódu požiadavky?

Priamy:

getenv("POŽIADAVKA_METÓDA");

vráti sa GET alebo POST.

Ktorá metóda by sa mala použiť?

Ak sa formulár používa na vyžiadanie niektorých informácií, napríklad pri vyhľadávaní, potom by sa mal odoslať pomocou metódy GET. Aby ste mohli obnoviť stránku, môžete si pridať záložku a/alebo poslať odkaz priateľovi.
Ak sa v dôsledku odoslania formulára zapíšu alebo zmenia údaje na serveri, mali by byť odoslané metódou POST a uistite sa, že po spracovaní formulára musíte prehliadač presmerovať pomocou metódy GET. tiež POST môže byť potrebné, ak je potrebné preniesť veľké množstvo dát na server (napr GET je to veľmi obmedzené), ako aj to, či by ste si prenášané údaje nemali „svietiť“ v adresnom riadku (napríklad pri zadávaní prihlasovacieho mena a hesla).
V každom prípade po spracovaní POST vždy by ste mali prehliadač presmerovať na nejakú stránku, aj tú istú, ale bez údajov formulára, aby sa pri obnovení stránky neprepísali.

Ako preniesť dáta do iného súboru priamo z tela PHP programu pomocou metód GET a POST?

Príklad na demonštráciu odosielania údajov pomocou metód POST a GET súčasne a prijímania odpovede zo servera.

Som rád, že tu môžem zverejniť svoje znalosti a techniky používané v PHP a MySQL. Ako všetci viete, PHP a MySQL sú najpoužívanejším open source pre webové stránky. Dnešné milióny webových stránok a aplikácií využívajú tento bezplatný softvér. Osobne sa domnievam, že by to mohla byť ďalšia úroveň pre vývojárov frontendu, pretože pomocou PHP a MySQL môže vývojár 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 webovej stránke. Každý kreatívec môže implementovať svoju základnú štruktúru na svoj web. Teraz postupujte podľa týchto jednoduchých krokov a zistíte, že váš prvý dynamický funkčný registračný formulár so záznamom do databázy na každom formulári sa vyplní.

KROK 1: Vytvorte databázu na vkladanie hodnôt

Prejdite na MySQL, vytvorte databázu študenta; Qurey OK, ovplyvnený 1 riadok (0,00 s) mysql> použiť študentskú databázu zmenené mysql> vytvoriť tabuľku študent(id int,meno varchar(40),e-mail varchar(80),heslo varchar(40)); Dopyt je v poriadku, ovplyvnených 0 riadkov (0,05 s)

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

Vytvorte nový súbor registration.html, ktorý neskôr vytvoríme v PHP, štruktúra by bola: REGISTRAČNÝ FORMULÁR
USERNAME:
ID e-mailu:
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, ako je uvedené nižšie

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

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

Záver

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