Robimo registravimo sistemą valdo PHP, MySQL ir jQuery wikis. Pokrokova registracija naudojant jQuery PHP registracijos formą su Facebook stiliumi

Jei jums reikia padaryti vieną iš savo svetainės skyrių prieinamą svetimam, bet nenurodytam osibų skaičiui, tai lengviau padaryti papildomai registruojant ir autorizuojant koristuvachus. Yra daug būdų leisti koristuvachams. Galite nulaužti žiniatinklio serverio įrankius ir programavimo įrankius. Pakalbėkime apie teigiamus balsus, jei PHP sesijos buvo patvirtintos.

Imovirno, norėtumėte rasti geresnį būdą sukurti tokią formą. Išskyrus tai, šis faktinis pasireiškimas vis dar yra mano planuose, tačiau galite manyti, kad apverstos nuorodos forma gali būti skatinama naudoti papildomus PHP objektinės orientacijos metodus.

Dėl burbuolės aptarsime visas detales, yakі zrobimo davė. Ko mums reikia? Mums reikia scenarijaus, pavyzdžiui, užregistruoti koristuvach, įgalioti koristuvach, nukreipti koristuvach kur po autorizacijos. Taigi turėsime sukurti šoninę juostą, nes ji bus apsaugota nuo neteisėtos koristuvachivinės prieigos. Norėdami užsiregistruoti ir suteikti leidimą, turėsime sukurti HTML formos. Informaciją apie koronerių registraciją renkame iš duomenų bazės. Tse reiškia, kad mums vis tiek reikia scenarijaus, kad galėtume prisijungti prie DBVS. Naudojame miconuvatimemo funkcijų darbą, kaip ir patys rašysime. Funkcijos Išsaugome ocremy failą.

Otzhe, mums reikia šių failų:

  • skambutis iš DBVS;
  • koristuvach funkcijos;
  • leidimas;
  • Registracija;
  • šonas pavogtas;
  • koristuvacho darbo užbaigimo scenarijus;
  • scenarijus, pakeičiantis koristuvach leidimo būseną;
  • stiliaus lapas, skirtas paprasčiausiam šonų dizainui.

Viskas bus kvaila, nes duomenų bazėje neturite atitinkamų lentelių. Paleiskite DBVS valdymo įrankį (PhpMyAdmin arba komandinė eilutė, yak zruchnіshe) i vykonayte naujame įžeidžiančiame klausime:

KURTI LENTELĘ "naudotojai" ("id" int(11) NOT NULL AUTO_INCREMENT, "prisijungimo" simbolis(16) NOT NULL, "slaptažodis" char(40) NOT NULL, "reg_date" laiko žyma NOT NULL NUMATYTOJI CURRENT_TIMESTAMP, ID )) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Mūsų failus pavadinsiu tokiais scenarijais (visos smarvės bus tame pačiame kataloge):

  • duomenų bazė.php
  • funkcijos.php
  • prisijungti.php
  • registracija.php;
  • index.php;
  • logout.php;
  • checkAuth.php;
  • stilius.css

Odos paskyrimas iš jų, dainuok, supranti. Pažiūrėkime scenarijų iš DBVS. Wee joga jau bachili. Tiesiog išsaugokite šio scenarijaus kodą duomenų bazėje.php faile. Funkcijas iššifruosime functions.php faile. Kaip viskas pracyuvatime? Neautorizuotas coristuvach bando prieiti prie šifruoto index.php dokumento, sistema tikrina coristuvach autorizacijas, neva koristuvach neautorizuotas, vynas nukreipiamas į autorizacijos pusę. Įgaliojimo pusėje galite pateikti įgaliojimo formą. Leiskite zrobimo її.

Koristuvachiv leidimas

Registruotis.

Dabar mūsų forma yra būtina įdėti į išvaizdą. Tuo pačiu metu reikšmingos kitų elementų taisyklės. Aš, šokinėdamas į priekį, įnešiu stilių lenteles per viršų.

/* style.css failas */ .row ( margin-bottom:10px; width:220px; ) .row label ( display:block; font-weight:bold; ) .row input.text ( šrifto dydis:1.2em; padding:2px 5px; ) .to_reg ( font-size:0.9em; ) .instruction ( šrifto dydis:0.8em; color:#aaaaaa; margin-left:2px; cursor:default; ) .error ( spalva:raudona; paraštė-kairė: 3 pikseliai;

Kadangi viskas nustatyta teisingai, jūsų naršyklėje gali būti:

Akivaizdu, kad vis dar neturime registruotų koristuvachų, o norint gauti leidimą, būtina užsiregistruoti. Užpildykime registracijos formą.

Korespondentų registracija

" />

Jūs, dainuojate, nukreipėte pagarbą tiems, kurie turi PHP pakeitimų HTML kode. Smarvė – vietoj formų teksto laukelių atributų, vietoje konteinerių – atleidimo ženklai. Alemy nepakeitė pakeitimų. Susmulkinkime.

Korespondentų registracija

" />
Koristuvach pavadinime gali būti daugiau nei lotyniškos abėcėlės simboliai, skaičiai, simboliai „_“, „-“, „.“. Koristuvach vardo Dovžina kalta, bet ne trumpa 4 simbolių ir neilga 16 ženklų
Prie slaptažodžio galite pakeisti tik lotyniškos abėcėlės simbolius, skaičius, simbolius „_“, „!“, „(“, „)“. Slaptažodis yra kaltas dėl to, kad jis nėra trumpas 6 simbolių ir nepasiekia 16 simbolių
Pakartokite slaptažodžio įvedimą

Formos žymos veiksmo atribute parametras nenurodytas. Tokiu atveju, užvaldant šias formas, smarvė bus obroblyatsya pagal tą patį scenarijų, dėl kurio smarvė buvo ištaisyta. Taigi, turime parašyti kodą, kuris apdoros šias formas. Ale, pradėkime nuo їhnoyї apdorojimo algoritmo.

Turime užtikrinti, kad prisijungimo ir slaptažodžio laukai nebūtų tušti. Tada reikia patikrinti prisijungimo galiojimą, kol galėsime. Slaptažodis taip pat atsakingas už pakartotinį slaptažodžio įvedimą, o slaptažodžio pakartotinis įvedimas yra atsakingas už tai, be to, smarvė gali būti identiška. Lyg iš šitų minčių nemušami, šių formų apdorojimas kaltas, bet pririštas, masyve prisiminimas apie atleidimą gali būti įrašytas išpažintyje, o tai galima padaryti Koristuvačiovo atveju. Koristuvacho patogumui išsaugome jo prisijungimo įvedimą (taip pat ir prisijungimo vardą), užrašydami jo reikšmę į $laukų masyvą.

Viskas gerai, naršyklėje, grįžus į registracija.php dokumentą, matosi maždaug taip:

Dabar, tarkime, koristuvachas paspaudė registracijos mygtuką neužpildęs formos laukelių. Priklausomai nuo mūsų algoritmo, prisijungimo vardas ir slaptažodis negali būti tušti. Kadangi protas nėra pergalingas, registracija neįmanoma. Prisimename, kad šios formos apdorojamos pagal srautinio perdavimo scenarijų. Tai reiškia, kad turime pakeisti šį kodą, pridedant papildomų pataisų. Nedelsdami pakeisime ir patikrinkime. Įvedę prisijungimo vardą ir slaptažodį, turite patikrinti priskirtų kredencialų galiojimą. Norėdami iš naujo patvirtinti prisijungimo vardą ir slaptažodį, faile functions.php sukuriame coristuvacha funkciją.

/** * functions.php * Failas su koristuvach funkcijomis */ // Prijungti failą su DBMS ryšio parametrais request_once("database.php"); // Pakartotinis koristuvach funkcijos pavadinimo tikrinimas checkLogin($str) ( // Iš pradžių pakeiskite, jei galime prisiminti atleidimą $error = ""; // Tarsi prisijungimo eilutės nėra, galime pasukti apie atleidimą if(!$str) ( $error = " Neįvedėte pavadinimo "coristuvacha"; return $error; ) /** * Dar kartą patikrinsime, ar nėra papildomų reguliarių reiškinių ir naudosime simbolius "_", "- ", "." */ $pattern = "/^[- _.az\d](4,16)$/i"; $result = preg_match($pattern, $str) ; // Kadangi pakartotinis patvirtinimas nebuvo atliktas praeiti, atsigręžkime apie atleidimą if(!$result) ( $error = " Neteisingi simboliai koristuvach pavadinime arba koristuvach vardas per trumpas (ilgas)"; return $error; ) // Viskas gerai , paverskite reikšmę true return true; ) // Pakartotinai tikrinamas koristuvach funkcijos checkPassword($str) slaptažodis ( // Inicijuojimo keitimas, jei yra galimas atleidimo įspėjimas $error = ""; // Vis dar ta pati diena kaip ir prisijungimo eilutę, galime paversti atleidimo įspėjimą if(!$str) ( $error = "Neįvedėte slaptažodžio"; grįžti $error; ) /** * Patvirtinti slaptažodį koristuvach papildomiems įprastiems virusams * Slaptažodis yra kaltas, bet ne trumpas 6, ne iki 16 simbolių * Kai kuriais atvejais lotyniškos abėcėlės simboliai, skaičiai, * kitais atvejais gali būti simbolių "_", "!", " (", ") " */ $pattern = "/^[_!)(.az\d](6,16)$/i"; $rezultatas = preg_match($modelis, $str); // Darant prielaidą, kad patvirtinimas nepavyko, grįžkime prie atleidimo if(!$result) ( $error = "Nepriimtini simboliai slaptažodžio slaptažodyje arba slaptažodis per trumpas (ilgas)"; return $error; ) / / Viskas gerai, paversk tiesa grįžti tiesa; )

Dabar reikia redaguoti registracija.php failą, kad įjungtumėte funkcijas, apie kurias paskelbėme. Prieš scenarijų pridėsiu savo mintis, tarsi iškreipčiau registracijos mygtuko puolimą. Viduryje proto pradedamas pakartotinis prisijungimo vardo ir slaptažodžių tikrinimas. Žvelgiant atgal, tarsi pakartotinis patikrinimas pasibaigtų nesėkme, atnaujiname formą ir rodome priminimą apie atleidimą. Atsiprašymo nebėra, bet registruojamės, registracijos formos nebematome, primename apie sėkmingą registraciją, o papildomai antraštės() funkcijai nukreipiama į įgaliojimo formą.

Sėkmingai užsiregistravote sistemoje. Iš karto būsite nukreipti į leidimo pusę. Lyg nieko nebūtų nutikę, eikite pas ją tiesioginio prašymo.

"; header("Refresh: 5; URL = login.php"); ) // Pakalbėkime apie atleidimą kitur ( $errors["full_error"] = $reg; ) ) )> ?> Korespondentų registracija
" />
Koristuvach pavadinime gali būti daugiau nei lotyniškos abėcėlės simboliai, skaičiai, simboliai „_“, „-“, „.“. Koristuvach vardo Dovžina kalta, bet ne trumpa 4 simbolių ir neilga 16 ženklų
Prie slaptažodžio galite pakeisti tik lotyniškos abėcėlės simbolius, skaičius, simbolius „_“, „!“, „(“, „)“. Slaptažodis yra kaltas dėl to, kad jis nėra trumpas 6 simbolių ir nepasiekia 16 simbolių
Pakartokite slaptažodžio įvedimą

Scenarijuje paminėjome vieną naują funkciją registracija() . Ir dar nesame apstulbę. Susmulkinkime.

// Registravimo žurnalo funkcijos registracija ($login, $slaptažodis) ( // Inicijuoti galimų atleidimo įspėjimų pakeitimą $error = ""; // Nėra prisijungimo eilutės, pasukite malonės įspėjimą if(!$ login) ( $ error = "Prisijungimas nenurodytas"; // Parašykite užklausos eilutę $sql = "SELECT `id` FROM `users` WHERE `login`="" . $login . """; // Robimo užklausa į duomenų bazę $query = mysql_query ($sql) arba die( ""); // Mes žiūrime į eilučių skaičių su tokiu prisijungimu, jei yra tik viena, // galime kreiptis dėl atleidimo if(mysql_num_rows( $query) > 0) ( $error = " prisijungimas jau registruotas"; grąžinti $ klaidą; ) // Kadangi tokio koristuvach nėra, galima jį užregistruoti // Parašykite eilutę $sql = "INSERT INTO `vartotojai ` (`id`,`login`,`slaptažodis`) VERTĖS (NULL, "" . $login ." ","". $slaptažodis. "")"; // Robimo klausia bazinės $query = mysql_query( $sql) arba mirti ("

Nepavyko pridėti coristuvach: " . mysql_error() . ". Atsiprašau, stovėjo eilėje ". __LINE__."

"); // Nepamirškite prisijungti prie DBVS mysql_close(); // Pasukite reikšmę true, kad praneštumėte apie sėkmingą serverio registraciją, grąžinkite true; )

Jei viskas gerai, jūsų koristuvach bus užregistruotas. Galite išbandyti formą. Pabandykite užregistruoti korystuvakus su tais pačiais prisijungimais. Po sėkmingos registracijos būsite nukreipti į įgaliojimo formą. Anksčiau kūrėme maketą, skirtą formos patobulinimui. Jei veiksmo atribute nenurodytas reikalingas parametras, formos siunčiami duomenys bus apdorojami pagal šį scenarijų. Taigi, turime parašyti kodą apdorojimui ir pridėti jį prie login.php dokumento.

Koristuvachiv leidimas

;">

Jei nesate užsiregistravę sistemoje, prašome užsiregistruoti.

Jūs, ko gero, minėjote, kad autorizacijos scenarijus turi dar vieną nežinomą funkciją – autorizaciją (). Ši funkcija yra atsakinga už koristuvach autorizavimą, prieš tai patikrinusi, kas yra koristuvach registracijos duomenų bazėje su tokiu prisijungimo vardu ir slaptažodžiu. Jei toks blogiukas nebus rastas, autorizacija bus nutraukta, ekrane bus rodomas pranešimas apie gedimą. Po sėkmingo pakartotinio patikrinimo funkcija autorizacijos() pradeda seansą ir įrašo joje koristuvach prisijungimo vardo ir slaptažodžio reikšmę, primena scenarijų apie autorizavimo sėkmę, o scenarijus nukreipia koristuvach į apsaugotą pusę. išteklius.

/** * Corystuvach autorizacijos funkcija. * Įgaliojimas koristuvachiv mes būsime zdіysnyuvatisya * už pagalbą PHP sesijoje. */ funkcijos autorizacija($login, $slaptažodis) ( // Inicijuoti pakeitimą su galimais įspėjimais apie malonę $error = ""; // Vis dar nėra prisijungimo eilutės, pasukite atleidimo įspėjimą if(!$login) ( $error = " Prisijungimas nenurodytas"; return $klaida; ) elseif(!$slaptažodis) ( $error = "Slaptažodis nenurodytas"; return $error; ) // Patikrinkite, ar dar nėra prisijungimo // Prisijungiama prie DBMS connect(); / / Turime persvarstyti, koks yra toks trumpas registracijų sąrašas? slaptažodis """; // Galime paklausti $query = mysql_query($sql) arba die("

Viconati neįmanoma paklausti: ". mysql_error().". Atsiprašau, stovėjo eilėje ". __LINE__."

"); // Su tokiais tributais patikrinti nėra galimybės, grįžkime atgal apie atleidimą if(mysql_num_rows($query) == 0) ( $error = "Patikra, nes nepriskirta registracija"; return $error; ) // Tiesiog patikrinkite, ar nėra atleidimo , paleiskite sesiją session_start(); // Įrašau koristuvach prisijungimo vardą ir slaptažodį // Kam galime laimėti superglobalinį masyvą $_SESSION $_SESSION["prisijungti"] = $login; $_SESSION["slaptažodis"] = $slaptažodis; / Nepamirškite uždaryti seanso su duomenų baze mysql_close(); // Pasukite true, kad praneštumėte apie sėkmingą serverio autorizaciją, grąžinkite true;

Jei koristuvach įstrigo pavogtame puslapyje, pakeiskite duomenų apie savo įgaliojimą teisingumą. Kam mums reikia dar vienos koristuvach funkcijos. Pavadinkime tai checkAuth(). Mes patikrinsime šiuos įgaliojimus tiems, kurie yra išsaugoti mūsų duomenų bazėje. Jei duomenys nepasirodo, koristuvach bus nukreiptas į autorizacijos pusę.

Funkcija checkAuth($login, $password) ( // Kadangi nėra prisijungimo vardo ar slaptažodžio, jį galima paversti false if(!$login || !$slaptažodis) return false; // Tikriname tokio sutrumpinimo registracijas // Prisijungiama prie DBVS connect(); // Pridedama eilutė $sql = "SELECT `id` FROM `users` WHERE `login`="".$login."" AND `password`="".$slaptažodis."" "; // Galime paklausti $ query = mysql_query($sql) arba die("

Viconati neįmanoma paklausti: ". mysql_error().". Atsiprašau, stovėjo eilėje ". __LINE__."

"); // Jei nėra galimybės uždaryti duomenų tokiais duomenimis, jis gali būti pakeistas false; if(mysql_num_rows($query) == 0) ( return false; ) // Nepamirškite uždaryti duomenų naudojant duomenų bazė mysql_close(); // Priešingu atveju ji gali būti paversta true return true; )

Dabar, jei koristuvach nuėjo į pavogtą pusę, mes kalti dėl šių įgaliojimų pakartotinio tikrinimo funkcijos. Wiki scenarijų ir pakartotinį patvirtinimą įdėsime į checkAuth.php failą ir įtrauksime į kitą pusę, nes jis bus uždarytas viešai prieigai.

/** * Scenarijus, skirtas pakartotiniam root paskyros autorizavimo patikrinimui */ // Pradedame sesiją, kuriai paimsime įgalioto korespondento session_start() prisijungimo vardą ir slaptažodį //; // Įtraukite failą su koristuvach funkcijomis require_once("functions.php"); /** * Norėdami nustatyti, kurie įgaliojimai yra teisingi, turime * patikrinti, kurie duomenų bazės įrašai yra jūsų prisijungimo vardas * ir slaptažodis. Siekdami pagreitinti korespondento funkciją * patikrinkite įgalioto korespondento duomenų teisingumą. * Jei ši funkcija įjungta į klaidingą, leidimo nėra. * Kad būtų patvirtintas įgaliojimas, mes tiesiog nukreipiame koristuvach į autorizacijos pusę. */ // Kol sesijoje yra duomenų apie prisijungimą ir slaptažodį, // patikrinkite juos if(isset($_SESSION["login"]) && $_SESSION["login"] && isset($ _SESSION["slaptažodis" ]) && $_SESSION["slaptažodis"]) ( // Dėl to nepavyksta patikrinti esminių duomenų if(!checkAuth($_SESSION["prisijungimas"], $_SESSION["slaptažodis"]) ) ( // Prisijungimo peradresavimas į prisijungimo puslapio antraštę("vieta: login.php"); // Išėjimo scenarijaus priskyrimas scenarijui; ) ) // Jei yra kokių nors detalių apie prisijungimą, kitu atveju informacijos nėra apie slaptažodį, // Atkreipkite dėmesį, kad autorizacijos nėra, jis nukreipiamas į autorizacijos pusę // į autorizacijos pusę else ( header("location: login.php"); // Priskirta scenarijaus išėjimui;

O dabar sukurkime mūsų pavogtos pusės kodą. Vynas bus atleistas.

Korespondentų įgaliojimai ir registracija

Sėkmingas autorizavimas.

Jūs neleidote patekti į pavogtą pusę. Galite atsijungti nuo sistemos.

Kaip žinote, užšifruotas dokumentas turi tik vieną failą – checkAuth.php. Kiti failai jau įtraukti į kitus scenarijus. Todėl mūsų kodas neatrodo didelis. Organizavome korespondentų registraciją ir įgaliojimus. Dabar reikia leisti koristuvachai išeiti iš sistemos. Kam sukuriame scenarijų logout.php faile.

/** * Scenarijus, skirtas išeiti iš koristuvach iš sistemos. Pagrindinių sąskaitų turėtojai yra įgalioti per seansus, jų prisijungimo vardas ir slaptažodis saugomi $_SESSION superglobaliame masyve. Norėdami * atsijungti nuo sistemos, tiesiog pridėkite reikšmę * prie $_SESSION["login"] ir $_SESSION["slaptažodis"] masyvo, po kurio būsime nukreipti atgal į prisijungimo puslapį */ // Pradedame seansą session_start(); unset($_SESSION["prisijungti"]); unset($_SESSION["slaptažodis"]); header("vieta: login.php");

Dokumentų registravimo, autorizacijos ir pakartotinio tikrinimo scenarijus paruoštas. Jogą galite pasukti pas save, papildyti, keisti pagal savo poreikius. Jei turite patiekalų, galite juos įdėti į komentarus. Galite užfiksuoti visus čia paminėtus failus, supakuotus į vieną archyvą.

P.S. Žinau, kad geriau rašyti objektinį kodą, žinau, kad iš tikrinamo asmens slaptažodžio perkelti ir išsaugoti nebūtina, kad informacija, kuri įvedama į duomenų bazę, turi būti iš anksto apversta. Aš žinau. Aš čia ne apie tai.

Reaguoja su formų funkcijomis į įėjimą ir registraciją, su dinaminio perjungimo galimybe, nekeičiant pusės. Atsiradus naujai paskyrai galite lengvai persijungti iš vienos į kitą ir, jei reikia, pasirinkti slaptažodžio keitimo parinktį.
Šiandien matome, kaip viską galima įgyvendinti norint papildomai susieti nedidelį, bet net funkcionalų jQuery įskiepį ir naujus CSS3 standartus.

Šis metodas bus teisingas, jei norite dirbti taip, kad įėjimo ir registracijos forma būtų prieinama korespondentams jūsų svetainės odos pusėje. Įėjus į svetainę, ar užsiregistravus korespondentu, nebūsite nukreipti į kitą pusę, o visus reikalingus dalykus matysite „neatvykus“, viskas vienoje pusėje.

Šiuolaikiškai atrodančių formų, kurias galima sujungti CSS3 pagalba, dizainas, pagrindinė įskiepio idėja nėra puiki, modalinio vaizdo išvaizda ir pojūtis praktiškai be žagsėjimo.
Stovidsotkovo adaptyvus išdėstymas, modalinio lango aukštis ir plotis su formomis, automatiškai nustatomas pagal išplėtimo ekranų dydį.

Užpakalis nustebo, dabar pažvelkime į visų pagrindinių modalinio lango komponentų ir formų detales, kad sužinotume, kaip juos įveikti savo svetainėje.
Lango sujungimas su įvedimo ir registracijos formomis, įkvėptas populiarios JavaScript bibliotekos, jQuey papildinio ir sugeneruotų CSS stilių. Visi šie įrankiai turi būti prijungti prie jūsų svetainės. Likusią dabartinę jQuey bibliotekos versiją galima prijungti tiesiai iš Google, archyve rasite patį main.js įskiepio failą ir paruoštą style.css stilių rinkinį.
„Javascript“ rašomas prieš uždaromą žymą, CSS stilius galima nukopijuoti ir pridėti prie svetainės stylesheet.css failo.

HTML struktūra:

Modalinių vikonų bazinis konteineris tamsintame fone ir įmontuota forma su valdymo elementais dedamas šono pavadinime. Siekiant didesnio supratimo, padalinus sektorius ir pridėjus komentarus. Visi dizaino elementai, kurie yra susieti su CSS per klasių pavadinimus, kad galėtumėte be ypatingų sunkumų pakeisti formų dizainą, kad jis atitiktų jūsų svetainių dizainą.

< div class = "cd-user-modal" > < div class = "cd-user-modal-container" > < ul class = "cd-switcher" > < li>< a href= "#0" >Įeikite < li>< a href= "#0" >Registracija < div id= "cd-login" > < form class = "cd-form" > < p class = "fieldset" > < label class = "image-replace cd-email" for = "signin-email" >El. paštas < input class = id= "signin-email" type= "email" placeholder= "El. paštas" > < span class = "cd-error-message" >Štai priminimas apie atleidimą! < p class = "fieldset" > < label class = "image-replace cd-password" for = "signin-password" >Slaptažodis < input class = „viso pločio turi-padding turi-ribą“ id= "prisijungimo slaptažodis" type= "text" placeholder= "(!LANG:(!LANG:Slaptažodis" > !}!}< a href= "#0" class = "hide-password" >prihovati < span class = "cd-error-message" >Štai priminimas apie atleidimą! < p class = "fieldset" > < input type= "checkbox" id= "remember-me" checked> < label for = "remember-me" >Prisimink mane < p class = "fieldset" > < input class = "full-width" type= "submit" value= "Palikti" > < p class = "cd-form-bottom-message" >< a href= "#0" >Pamiršai slaptažodį? < div id= "cd-signup" > < form class = "cd-form" > < p class = "fieldset" > < label class = "image-replace cd-username" for = "signup-username" >Esu Koristuvacha < input class = „viso pločio turi-padding turi-ribą“ id="registravimo-naudotojo vardas" type="text" placeholder= „Im'ya Koristuvacha“> < span class = "cd-error-message" >Štai priminimas apie atleidimą! < p class = "fieldset" > < label class = "image-replace cd-email" for = "signup-email" >El. paštas < input class = „viso pločio turi-padding turi-ribą“ id= "registracijos el. paštas" type= "el. paštas" placeholder= "(!LANG:(!LANG:El." > !}!}< span class = "cd-error-message" >Štai priminimas apie atleidimą! < p class = "fieldset" > < label class = "image-replace cd-password" for = "signup-password" >Slaptažodis < input class = „viso pločio turi-padding turi-ribą“ id= "registravimo slaptažodis" type= "text" placeholder= "(!LANG:(!LANG:Slaptažodis" > !}!}< a href= "#0" class = "hide-password" >prihovati < span class = "cd-error-message" >Štai priminimas apie atleidimą! < p class = "fieldset" > < input type= "checkbox" id= "accept-terms" > < label for = "accept-terms" >Aš tinkamas< a href= "#0" >protus < p class = "fieldset" > < input class = "full-width has-padding" type= "submit" value= "Sukurti paskyrą"> < div id= "cd-reset-password" > < p class = "cd-form-message" >Pamiršai slaptažodį? Būkite malonūs, įveskite el. pašto adresą. Turite atšaukti prašymą sukurti naują slaptažodį. < form class = "cd-form" > < p class = "fieldset" > < label class = "image-replace cd-email" for = "reset-email" >El. paštas < input class = „viso pločio turi-padding turi-ribą“ id= "reset-email" type= "email" placeholder= "(!LANG:(!LANG:El." > !}!}< span class = "cd-error-message" >Štai priminimas apie atleidimą! < p class = "fieldset" > < input class = "full-width has-padding" type= "submit" value= "Atstatyti slaptažodį"> < p class = "cd-form-bottom-message" >< a href= "#0" >Pasukite į įėjimą < a href= "#0" class = "cd-close-form" >Uždaryti

  • Įeikite
  • Registracija

Štai priminimas apie atleidimą!

prihovati Štai priminimas apie atleidimą!

Pamiršai slaptažodį?

Štai priminimas apie atleidimą!

Štai priminimas apie atleidimą!

prihovati Štai priminimas apie atleidimą!

Pamiršai slaptažodį? Būkite malonūs, įveskite el. pašto adresą. Turite atšaukti prašymą sukurti naują slaptažodį.

Štai priminimas apie atleidimą!

Pasukite į įėjimą

Uždaryti



CSS stiliai:

Pagrindinis šio formos valdymo elemento šablonas yra populiaraus plokščio stiliaus (Flat) autorius, aiškiai akcentuojant minimalizmą. Nieko zayvogo, pasaulio matymas aptemęs, šviesus spalvinimui, geras šrifto ir piktogramų pasirinkimas, įvado laistymo identifikavimui. Naudodamiesi CSS galia, galite lengvai pakeisti bet kurį formos elementą.

.cd-user-modal ( padėtis : fiksuota ; viršuje : 0 ; kairėje : 0 ; plotis : 100 % ; aukštis : 100 % ; fonas : rgba (52 , 54 , 66 , 0,9 ) ; z indeksas : 3 ; y : automatinis ; žymeklis : rodyklė ; matomumas : paslėptas ; neskaidrumas : 0 ; s 0 , matomumas 0 0,3 s ; ) 0 , matomumas 0 0 ; -moz - perėjimas : neskaidrumas 0,3 s 0 , matomumas 0 0 ; perėjimas , neskaidrumas 0,3 s matomumas 0 0 ;) .cd-user-modal . transformuoti: translateY(0) ; -ms-transformuoti: translateY(0) ; -o-transformuoti: translateY(0 ) ; transformuoti : translateY(0 ) ; 90 %; dth: 600 taškų; fonas: #FFF; paraštė: 3em auto 4em; žymeklis: automatinis; kraštinės spindulys: 0,25 em -Webkit-transform: translateY(-30px ); -moz-transform: translateY(-30px ); -ms-transformuoti: translateY(-30px ); -o-transformuoti: translateY(-30px ); transformuoti : translateY(-30px ); -webkit-transition-property: -webkit-transform; -moz-transition-property: -moz-transform; pereinamoji savybė : transformuoti; -Webkit-transition-duration: 0,3s; -moz-transition-truation: 0,3s; perėjimo trukmė: 0,3 s; ) .cd-user-modal-container .cd-switcher : after ( turinys : "" ; ekranas : lentelė ; aiškus : abu ; ) .cd-user-modal-container .cd-switcher li ( plotis : 50 % ; float : kairėje ; teksto lygiavimas : centre ; ) .cd-user-modal-container .cd-switcher li: pirmasis vaikas a (border-spindulys: .25em 0 0 0 ; ) -switcher li: paskutinis vaikas a ( kraštinė -spindulys : 0 .25em 0 0 ; ) .cd-user-modal-container .cd-switcher a ( ekranas : blokas ; plotis : 100 % ; aukštis : 50 pikselių ; linijos aukštis : 50 pikselių ; fonas : #d2d8d8 ; spalva #809191 ; ) .cd-user-modal-container .cd-switcher a.selected ( fonas : #FFF ; spalva : #505260 ; ): 600px ) ( .cd-user-modal-container ( margin : 4em auto ; ) .cd-user-modal-container .cd-switcher a ( aukštis : 70 pikselių ; linijos aukštis : 70 pikselių ; ) ) .cd-form ( užpildymas: 1. 4 em; ) .cd-form .fieldset ( padėtis : santykinis ; paraštė - dydis: 14px; šrifto dydis: 0,875r em; ) .cd-form label.image-replace( /* pakeisti tekstą piktograma */ ekranas: eilutinis blokas padėtis: absoliuti; kairėje: 15px; viršuje: 50%; dugnas: automatinis; -Webkit-transform: translateY(-50%); -moz-transformuoti: translateY(-50% ); -ms-transformuoti: translateY(-50%); -o-transformuoti: išverstiY(-50%); transformuoti : translateY(-50% ); aukštis: 20px; plotis: 20px perpildymas: paslėptas; teksto įtrauka: 100% ; balta vieta: nowrap; spalva: skaidrus; teksto šešėlis: nė vienas; fono kartojimas: nekartoti; fono padėtis: 50% 0 ; } /* Įvesties lauko piktogramos */ .cd forma etiketė .cd-vartotojo vardas { fono paveikslėlis: url("../img/cd-icon-username.svg") ; } .cd forma etiketė .cd el { fono paveikslėlis: url("../img/cd-icon-email.svg") ; } .cd forma etiketė .cd slaptažodis { fono paveikslėlis: url("../img/cd-icon-password.svg") ; } .cd formaįvestis { marža: 0 ; kamšalas: 0 ; pasienio spindulys: 0,25 em; } .cd formaįvestis .visas plotis { plotis: 100% ; } .cd formaįvestis .turi kamšalą { kamšalas: 12 piks 20 piks 12 piks 50 piks; } .cd formaįvestis .turi sieną { siena: 1px kietas #d2d8d8; -Webkit-išvaizda : nė vienas; -moz-išvaizda : nė vienas; -ms-išvaizda : nė vienas; -o-išvaizda : nė vienas; išvaizda : nė vienas; } .cd formaįvestis .turi sieną: sutelkti dėmesį { kraštinės spalva: #343642 ; dėžutės šešėlis: 0 0 5 piks rgba(52 , 54 , 66 , 0.1 ) ; kontūras: nė vienas; } .cd formaįvestis .yra klaida { siena: 1px kietas #d76666; } .cd formaįvestis [ tipo = Slaptažodis ] { /* vieta slėpimo mygtukui */ pamušalas dešinėje: 65 piks; } .cd formaįvestis [ tipo = Pateikti ] { kamšalas: 16 pikselių 0 ; žymeklį: rodyklė; fone: #2f889a; spalva: #FFF; šrifto svoris: drąsus; siena: nė vienas; -Webkit-išvaizda : nė vienas; -moz-išvaizda : nė vienas; -ms-išvaizda : nė vienas; -o-išvaizda : nė vienas; išvaizda : nė vienas; } .neliesti .cd formaįvestis [ tipo = Pateikti ] : užveskite pelės žymeklį, .neliesti .cd formaįvestis [ tipo = Pateikti ] : sutelkti dėmesį { fone: #3599ae; kontūras: nė vienas; } .cd forma .slėpti slaptažodį { ekranas: eilutinis blokas; padėtis: absoliutus; teisingai: 0 ; viršuje: 0 ; kamšalas: 6 piks 15 piks; siena-kairė: 1px kietas #d2d8d8; viršuje: 50% ; apačioje: automatinis; -Webkit-transform : išverstiY (-50% ) ; -moz-transformuoti : išverstiY (-50% ) ; -ms-transformuoti : išverstiY (-50% ) ; -o-transformuoti : išverstiY (-50% ) ; transformuoti: išverstiY (-50% ) ; šrifto dydis: 14 pikselių; šrifto dydis: 0,875 rem; spalva: #343642 ; } .cd forma .cd-error-message { ekranas: eilutinis blokas; padėtis: absoliutus; paliko: -5 pikseliai; apačioje: -35 pikseliai; fone: rgba(215 , 102 , 102 , 0.9 ) ; kamšalas: .8em; z indeksas: 2 ; spalva: #FFF; šrifto dydis: 13 piks; šrifto dydis: 0,8125 rem; pasienio spindulys: 0,25 em; /* Atsisakyti paspaudimų ir taškų */ rodyklės įvykiai: nė vienas; matomumas: paslėptas; neskaidrumas: 0 ; -Webkit-transition : neskaidrumas 0,2 s 0 , matomumas 0 0,2 s; -moz-perėjimas : neskaidrumas 0,2 s 0 , matomumas 0 0,2 s; perėjimas: neskaidrumas 0,2 s 0 , matomumas 0 0,2 s; } .cd forma .cd-error-message:: po to { /* maža pastaba apie atleidimą */ turinys: "" ; padėtis: absoliutus; paliko: 22px; apačioje: 100% ; aukščio: 0 ; plotis: 0 ; siena-kairė: 8px kietas skaidrus; siena-dešinė: 8px kietas skaidrus; kraštinė-apačia: 8px kietas rgba(215 , 102 , 102 , 0.9 ) ; } .cd forma .cd-error-message.matomas { neskaidrumas: 1 ; matomumas: matomas; -Webkit-transition : neskaidrumas 0,2 s 0 , matomumas 0 0 ; -moz-perėjimas : neskaidrumas 0,2 s 0 , matomumas 0 0 ; perėjimas: neskaidrumas 0,2 s 0 , matomumas 0 0 ; } @media tik ekranas ir (min pločio: 600 taškų) { .cd forma { kamšalas: 2em; } .cd forma .fieldset { marža: 2em 0 ; } .cd forma .fieldset: pirmas vaikas { paraštė-viršus: 0 ; } .cd forma .fieldset: Paskutinis vaikas { paraštė-apačia: 0 ; } .cd formaįvestis .turi kamšalą { kamšalas: 16 pikselių 20 piks 16 pikselių 50 piks; } .cd formaįvestis [ tipo = Pateikti ] { kamšalas: 16 pikselių 0 ; } } .cd-form-message { kamšalas: 1,4 em 1,4 em 0 ; šrifto dydis: 14 pikselių; šrifto dydis: 0,875 rem; linijos aukštis: 1.4 ; teksto lygiavimas: centras; } @media tik ekranas ir (min pločio: 600 taškų) { .cd-form-message { kamšalas: 2em 2em 0 ; } } .cd-form-bottom-message { padėtis: absoliutus; plotis: 100% ; paliko: 0 ; apačioje: -30 taškų; teksto lygiavimas: centras; šrifto dydis: 14 pikselių; šrifto dydis: 0,875 rem; } .cd-form-bottom-message a { spalva: #FFF; tekstas-dekoravimas: pabraukti; } .cd-close-form { /* stiliaus X mygtukas viršuje dešinėje */ ekranas: blokas; padėtis: absoliutus; plotis: 40 piks; aukščio: 40 piks; teisingai: 0 ; viršuje: -40 taškų; fone: url("../img/cd-icon-close.svg") nekartoti centras centras; teksto įtrauka: 100% ; balta vieta: nowrap; perpildymas: paslėptas; } @media tik ekranas ir (min pločio: 1170 taškų) { .cd-close-form { ekranas: nė vienas; } } #cd prisijungimas, #cd registracija, #cd-reset-password { ekranas: nė vienas; } #cd prisijungimas.yra-pasirinktas, #cd registracija.yra-pasirinktas, #cd-reset-password.yra-pasirinktas { ekranas: blokas; }

cd-user-modal ( padėtis: fiksuota; viršuje: 0; kairėje: 0; plotis: 100%; aukštis: 100%; fonas: rgba(52, 54, 66, 0.9); z indeksas: 3; perpildymas-y : automatinis, žymeklis: rodyklė, matomumas: paslėptas, neskaidrumas: 0; 0, matomumas 0 0,3 s; ) 0, matomumas 0 0; -moz-perėjimas: neskaidrumas 0,3 s 0, matomumas 0 0; perėjimas: neskaidrumas 0,3 s 0, matomumas 0 0; ) .cd-user-modal.is-visible .cd-user-modal-container ( -webkit-transform: translateY(0); -moz-transform : translateY(0); -ms-transform: translateY (0); -o-transform: translateY(0); transformate: translateY(0); ) cd -user-modal-container ( padėtis: santykinė; %;maksimalus plotis: 600 pikselių;fonas: #FFF; marga: 3em automatinis 4em;žymeklis:automatinis;border-radius:0.25em;-webkit-transform: translateY(-30px ); translateY (-30px); -ms-transform: translateY(-30px); -o-transform: translateY(- 30 pikselių); transformuoti: translateY(-30px); -webkit-transition-property: -webkit-transform; -moz-transition-property y: -moz-transformuoti; pereinamoji savybė: transformuoti; -Webkit-transition-duration: 0,3s; -moz-transition-truation: 0,3s; perėjimo trukmė: 0,3 s; ) .cd-user-modal-container .cd-switcher:after ( turinys: ""; ekranas: lentelė; aiškus: abu; ) .cd-user-modal-container .cd-switcher li ( plotis: 50 %; float : kairėje; teksto lygiavimas: centre; .-switcher li:last-child a ( kraštinės spindulys: 0 .25em 0 0; ) .cd-user-modal-container .cd-switcher a ( ekranas: blokas; plotis: 100 %; aukštis: 50 pikselių; linijos aukštis: 50 pikselių; fonas: #d2d8d8; spalva: #809191; ) ): 600 pikselių) (.cd-user-modal-container ( paraštė: 4em auto; ) .cd-user-modal -container .cd-switcher a (aukštis: 70px; line-height: 70px; ) ) .cd-form (padding: 1.4em; ) .cd-form .fieldset ( padėtis: santykinis; paraštė: 1,4em 0; ). cd forma .fieldset:first-child ( paraštės viršus: 0; ) .cd forma .fieldset: paskutinis vaikas ( paraštės apačioje: 0; ) .cd formos etiketė ( šrifto dydis: 14 pikselių; šrifto dydis : 0.875rem; ) .cd formos etiketė. image-replace ( /* pakeisti tekstą piktograma */ ekranas: eilutinis blokas; padėtis: absoliuti; kairėje: 15 pikselių; viršuje: 50%; apačioje : automatinis; -webkit-transform: translateY (-50%); -moz-transform: translateY (-50%); -ms-transformuoti: translateY(-50%); : 20 piks., plotis: 20 piks., perpildymas: paslėptas, teksto įtrauka: 100 %; tarpas: be įvyniojimo; spalva: skaidri teksto šešėlis: nėra fono kartojimas: nekartoti; ) /* Įvesties lauko piktogramos */ .cd-form label.cd-username (background-image: url("). ./img/cd-icon-username.svg"); ) .cd-form label.cd-email ( background-image: url("../img/cd-icon-email.svg"); ) .cd -form label.cd-password (fono vaizdas: url("../img/cd-icon-password.svg"); ) .cd formos įvestis ( paraštė: 0; užpildymas: 0; kraštinės spindulys: 0,25 em;) .cd-form input.full-width (width: 100%; ) .cd-form input.has-padding ( padding: 12px 20px 12px 50px; ) solid #d2d8d8; -webkit-appearance: none; -moz -išvaizda: nėra; -ms-appearance: nėra; -o-appearance: nėra; išvaizda: nėra; ) -spalva: #343642; dėžutės šešėlis: 0 0 5px rgba(52, 54, 66, 0.1); kontūras: nėra; .form input ( /* vieta mygtukui Pridėti */ užpildymas dešinėje: 65 pikseliai; ) .cd formos įvestis ( užpildymas: 16 pikselių 0; žymeklis: žymeklis; fonas: #2f889a; spalva: #FFF; šriftas- svoris: paryškintas; kraštinė: nėra;-webkit-appearance: nėra;-moz-appearance: nėra;-ms-appearance: nėra; -o-appearance: nėra; išvaizda: nėra; ) .no-touch .cd formos įvestis : užvedimas, .no-touch .cd-form input:focus (fonas: #3599ae; kontūras: nėra; ) .cd-form .hide-pass žodis ( ekranas: inline-block; padėtis: absoliuti, dešinė: 0; viršuje: 0; pamušalas: 6px 15px; kraštinė kairėje: 1 piks. vientisas #d2d8d8; viršuje: 50%; transformuoti: translateY(-50%); -ms-transformuoti: translateY(-50%); -o-transformuoti: išverstiY(-50%); transformuoti: translateY(-50%); dydis: 0.875rem; spalva: #343642; ) .cd-form .cd-error-message ( ekranas: inline-block; 102, 0.9), užpildymas: .8em; z indeksas: 2; spalva: #FFF; šrifto dydis: 13 pikselių; šrifto dydis: 0,8125 rem kraštinės spindulys: 0,25 em -įvykiai: nėra; matomumas: paslėptas; neskaidrumas: 0 -Webkit-transition: neskaidrumas 0,2s 0, matomumas 0 0,2s; matomumas 0 0,2s; ) .cd-form .cd-error-message::after ( /* maža pastaba apie atleidimą */ turinys: ""; padėtis: absoliuti; kairėje: 22 piks.; apačioje: 100 %; aukštis: 0; plotis: 0; kraštinė -kairė: 8 piks. vientisas skaidrus; kraštinė - dešinė: 8 piks. skaidrus; 1; matomumas: matomas; - žiniatinklio rinkinys - perėjimas: neskaidrumas 0,2 s 0, matomumas 0 0; - moz - perėjimas: neskaidrumas 0,2 s 0, matomumas 0 0; perėjimas : neskaidrumas 0,2 s 0, matomumas 0 0; ) @medijos tik ekranas ir (min. plotis: 600 pikselių) ( .cd-form ( padding: 2em; ) .cd-form .fieldset ( paraštė: 2em 0; ) .cd - forma .fieldset:first-child ( paraštės viršus: 0; ) .cd-form .fieldset:paskutinis vaikas ( paraštė-apačia: 0; ). 0; ) ) .cd-form-message ( užpildymas: 1.4em 1.4 em 0; šrifto dydis: 14 pikselių; šrifto dydis: 0,875 atm; eilutės aukštis: 1,4; teksto lygiavimas: centre; ) (min. plotis: 600 pikselių) ( .cd-form-message ( užpildymas: 2em 2em 0 ; ) ) .cd-form-bottom-message ( padėtis: absoliuti; plotis: 100 %; kairėje: 0; apačioje: -30 pikselių; teksto lygiavimas: centre; šrifto dydis: 14 pikselių; šrifto dydis: 0. 875rem; ) .cd-form-bottom-message a (spalva: #FFF; tekstas-dekoravimas: pabraukimas; ) * mygtukas X stiliaus dešiniarankis */ ekranas: blokas; padėtis: absoliuti; plotis: 40px aukštis: 40px; dešinėje: 0; viršuje: -40px; ") nesikartojantis centras; teksto įtrauka: 100 %; tarpas: be įvyniojimo; perpildymas: paslėptas; ) tik @medijos ekranas ir (min. plotis: 1170 pikselių) ( .cd-close-form ( ekranas: nėra; ) ) #cd-login, #cd-signup, #cd-reset-password (rodymas: nėra; ) # cd-login.is-selected, #cd-signup.is-selected, #cd-reset-password.is -pasirinkta ( ekranas: blokuoti; )

Perėjimo metu buvo pridėtas išblukimas, kad būtų užtikrintas sklandus modalinio lango perėjimas uždarius.

Pastaba. Visų laukų šrifto dydis nustatytas į 16 pikselių. Tse zapobіgaє automatinis mastelio keitimas, jakų vіdbuvaєtsya pіd valandą peržiūrėti mobiliuosius ūkinius pastatus.

Autorinė, buržuazinė įskiepio versija yra žinoma. Ten taip pat galite atsisiųsti originalą.
Rusišką versiją, galite paimti iš mano Yandex.Disk, visi reikalingi failai, dabai supakuoti į vieną archyvą, nepamirškite tuo pasigrožėti, daugiau adaptacijų, gyvas robotiško stebuklo jQuery įskiepio užpakalis:

Su pagarba Andrius

Svetainėje sukūrėme stilingą leidimo formą, kurią galite sužinoti iš „Futurico UI Pro“, kurią sukūrė Volodymyras Kudinovas. Norėdami sukurti formą, nulaužsime CSS3 ir jQuery.

Krok 1 – HTML išdėstymas

Pradėkime nuo HTML kontūro kūrimo. Sukurkime formą su keliais įvestimis (im'ya koristuvacha, slaptažodis, žymės langelis ir mygtukas "pateikti") ensign apvyniosime span žymą, kurią naudosime formuodami ensign stilių. Apvyniokime formą ir antraštę DIV žyma ir priskirkime ją savo „prisijungimo formos“ klasei.