jQuery registračný a autorizačný formulár. Vytvorenie skvelého registračného systému pomocou PHP, MySQL a jQuery. Efektný kontaktný formulár AJAX
Všetko sa deje pod kontrolou PHP a dáta sú uložené v databáze MySQL.
Systém využíva vynikajúci posuvný panel vyvinutý spoločnosťou Web-kreation.
Krok 1 - MySQL
Najprv musíme vytvoriť tabuľku, ktorá bude obsahovať všetky údaje o registrovaných užívateľoch. Kód žiadosti dostupný v súbore table.sql v zdrojovom archíve.
table.sql
---- Štruktúra tabuľky `tz_members`
--
CREATE TABLE `tz_members` (
`id` int(11) NOT NULL auto_increment,
`usr` varchar(32) collate utf8_unicode_ci NOT NULL predvolené "",
`pass` varchar(32) collate utf8_unicode_ci NOT NULL predvolené "",
`email` varchar(255) collate utf8_unicode_ci NOT NULL predvolené "",
`regIP` varchar(15) collate utf8_unicode_ci NOT NULL predvolené "",
`dt` datetime NOT NULL predvolene "0000-00-00 00:00:00",
PRIMÁRNY KĽÚČ(`id`),
UNIKÁTNY KĽÚČ `usr` (`usr`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
ID definujeme ako celé číslo s možnosťou Automatický prírastok- bude automaticky pridelené každému novému registrovanému užívateľovi. Tiež usr definovaný ako jedinečný kľúč- V tabuľke nie sú povolené dva záznamy s rovnakým užívateľským menom.
Neskôr použijeme špecifikované vlastnosti počas procesu registrácie pri zadaní používateľského mena.
Po vytvorení tabuľky je potrebné v súbore vyplniť premenné pre pripojenie k vašej databáze pripojiť.php aby ste mohli spustiť kód na svojom serveri.
Krok 2 – XHTML
Najprv musíme na našu stránku vložiť formulár na vytvorenie webu.
demo.php
výsuvný panel jQuery
Riešenie pre registráciu / prihlásenie používateľov na stránku
if(!$_SESSION["id"]):
// Ak ešte nie ste zaregistrovaný
?>
inak:
// Ak ste prihlásený
?>
Pre registrovaných užívateľov
Demo dáta
Prejdite na stránku používateľa
Odhlásiť sa
koniec Ak;
// Zatvorte konštrukciu IF-ELSE
?>
- Ahoj!
Zavrieť panel
Na niekoľkých miestach v kóde sú príkazy PHP, ktoré kontrolujú, či je definované $_SESSION["usr"] alebo $_SESSION["id"]. Sú pravdivé iba v prípade, že návštevník stránky je registrovaný používateľ, čo nám umožňuje zobrazovať registrovaným návštevníkom skrytý obsah.
Za formulár umiestnime zvyšok obsahu stránky.
výsuvný panel jQuery
Jednoduchá správa registrácie pomocou PHP a jQuery
Nejaký text...
V kóde nie je nič zvláštne.
Krok 3 - PHP
Formulár teraz prevedieme na kompletný registračný a prihlasovací systém. Na vyriešenie úlohy budete potrebovať niečo iné ako bežný PHP kód. Celý kód je rozdelený na dve časti.
Ak plánujete niečo pridať, najlepšie je rozdeliť všetko na niekoľko jednotlivé súbory a zapnite ich podľa potreby. Tento prístup pomáha rozvíjať veľké projekty a zároveň opätovne používať kód v rôznych častiach stránky.
Tu je návod, ako sa to tu implementuje.
demo.php
define("INCLUDE_CHECK",true);vyžadovať "connect.php";
vyžadujú "functions.php";
// Tieto dva súbory môžu byť zahrnuté iba vtedy, ak je definované INCLUDE_CHECK
session_name("tzLogin");
// Spustenie relácie
session_set_cookie_params(2*7*24*60*60);
// Nastaví životnosť súboru cookie na dva týždne
session_start();
if($_SESSION["id"] && !isset($_COOKIE["tzRemember"]) && !$_SESSION["rememberMe"])
{
// Ak ste prihlásení, ale nemáte súbor cookie tzRemember (reštartovanie prehliadača)
// a nezaškrtli ste políčko Zapamätať si ma:
$_SESSION = pole ();
session_destroy();
// Odstrániť reláciu
}
if(isset($_GET["odhlásenie"]))
{
$_SESSION = pole ();
session_destroy();
header("Umiestnenie: demo.php");
VÝCHOD;
}
if($_POST["submit"]=="Prihlásenie")
{
// Skontrolujte, či požiadavka prišla z prihlasovacieho formulára
$err = pole ();
// Uložte chybu
if(!$_POST["používateľské meno"] || !$_POST["heslo"])
$err = "Všetky polia musia byť vyplnené!";
if(!count($err))
{
$_POST["heslo"] = mysql_real_escape_string($_POST["heslo"]);
$_POST["rememberMe"] = (int)$_POST["rememberMe"];
// Pripravte všetky údaje
$row = mysql_fetch_assoc(mysql_query("SELECT id,usr FROM tz_members WHERE usr="($_POST["username"])" AND pass="".md5($_POST["heslo"]).""")) ;
if($row["usr"])
{
// Ak je všetko v poriadku, prihláste sa
$_SESSION["usr"]=$row["usr"];
$_SESSION["id"] = $riadok["id"];
$_SESSION["rememberMe"] = $_POST["rememberMe"];
// Uloženie niektorých údajov v relácii
setcookie("tzRemember",$_POST["rememberMe"]);
// Vytvorenie súborov cookie tzRemember
}
else $err="Chybné užívateľské meno a/alebo heslo!";
}
if($err)
$_SESSION["msg"]["login-err"] = implode("
",$err);
// Uloženie chybovej správy do relácie
header("Umiestnenie: demo.php");
VÝCHOD;
}
Súbory cookie tu tzPamätajte slúži ako ovládací prvok na určenie, že je potrebné poskytnúť odhlásenie používateľovi, ktorý nezaškrtol políčko „Zapamätať si ma“. Ak súbor cookie chýba (z dôvodu reštartu prehliadača) a návštevník nezaškrtol možnosť „zapamätať si ma“, reláciu vymažeme.
Samotná relácia zostane aktívna dva týždne (ako je nastavené v session_set_cookie_params).
A tu je druhá časť demo.php.
Else if($_POST["submit"]=="Registrovať")
{
// Ak je žiadosť odoslaná z Registračného formulára
$err = pole ();
if(strlen($_POST["používateľské meno"])<4 || strlen($_POST["username"])>32)
{
$err="Užívateľské meno musí mať 3 až 32 znakov!";
}
if(preg_match("/[^a-z0-9\-\_\.]+/i",$_POST["používateľské meno"]))
{
$err="Používateľské meno obsahuje neplatné znaky!";
}
if(!checkEmail($_POST["e-mail")]))
{
$err="Váš emailová adresa zle!";
}
if(!count($err))
{
// Ak nie sú žiadne chyby
$pass = substr(md5($_SERVER["REMOTE_ADDR"].microtime().rand(1,100000)),0,6);
// Generovanie náhodného hesla
$_POST["e-mail"] = mysql_real_escape_string($_POST["e-mail"]);
$_POST["username"] = mysql_real_escape_string($_POST["username"]);
// pripraviť údaje
mysql_query(" INSERT INTO tz_members(usr,pass,email,regIP,dt)
VALUES(
"".$_POST["používateľské meno"]."",
".md5($pass)."",
"".$_POST["e-mail"]."",
"".$_SERVER["REMOTE_ADDR"]."",
TERAZ()
)");
if(mysql_affected_rows($link)==1)
{
poslať mail(" [e-mail chránený] webová stránka",
$_POST["e-mail"],
"Ukážka registračného systému - generovanie hesla",
"Vaše heslo: ".$pass);
$_SESSION["msg"]["reg-success"]="Poslali sme vám e-mail s vaším novým heslom!";
}
else $err="Toto používateľské meno sa už používa!";
}
if(count($err))
{
$_SESSION["msg"]["reg-err"] = implode("
",$err);
}
header("Umiestnenie: demo.php");
VÝCHOD;
}
$script = "";
if($_SESSION["správa"])
{
// Skript zobrazuje posúvač na stránke načítania
$script = "
";
}
Uložte všetky definované chyby do poľa $err, ktorá sa neskôr priradí k premennej $_SESSION. Týmto spôsobom k nemu budete mať prístup aj po presmerovaní prehliadača.
Niektoré stránky môžu dostať upozornenie pri odoslaní formulára alebo pri ďalšom obnovení stránky, že údaje už boli odoslané. Môže to byť problém, pretože to vedie k duplicitným registráciám a dodatočnému zaťaženiu servera.
Funkciu hlavičky používame na zabránenie chybe presmerovaním prehliadača na rovnakú stránku. Tým sa aktualizuje zobrazenie stránky bez toho, aby to prehliadač rozpoznal ako žiadosť o formulár. V dôsledku toho sa stránka obnoví a nedochádza k prenosu údajov.
Ale keďže používame $_SESSION na uloženie všetkých zistených chýb je veľmi dôležité, aby sme resetovali všetky premenné hneď, ako sa chyba zobrazí používateľovi. V opačnom prípade sa zobrazí pri každom zobrazení stránky.
Tiež používané dodatočný skript, ktorá zobrazuje lištu na stránke sťahovania, aby bola správa viditeľná pre používateľa.
Krok 4 – CSS
Posuvný panel používa svoj vlastný štýl. Potrebujeme teda iba vytvoriť štýl pre našu stránku.
demo.css
telo,h1,h2,h3,p,citát,malý,formulár,vstup,ul,li,ol,štítok(/* Obnoviť pravidlá */
margin:0px;
padding:0px;
}
telo(
farba:#555555;
font-size:13px;
pozadie: #eeeeee;
rodina písma:Arial, Helvetica, bezpätkové;
šírka: 100%
}
h1(
font-size:28px;
font-weight: bold;
font-family:"Trebuchet MS",Arial, Helvetica, bezpätkové;
medzi písmenami: 1px;
}
h2(
font-family:"Arial Narrow",Arial,Helvetica,sans-serif;
font-size:10px;
font-weight:normal;
medzi písmenami: 1px;
padding-left:2px;
text-transform:veľké písmená;
white-space:wrap;
margin-top:4px;
farba:#888888;
}
#hlavne p(
padding-bottom:8px;
}
.jasný(
jasné:obaja;
}
#hlavné(
šírka: 800px;
/* Stred v strede stránky */
margin:60px auto;
}
.container(
margin-top:20px;
pozadie:#FFFFFF;
border:1px solid #E0E0E0;
padding:15px;
/* Zaoblené rohy */
-moz-border-radius:20px;
-khtml-border-radius: 20px;
-webkit-border-radius: 20px;
border-radius:20px;
}
.err(
farba:červená;
}
.úspech(
farba:#00CC00;
}
a, a: navštívené (
farba:#00BBFF;
text-decoration:none;
obrys:žiadny;
}
a:hover(
text-decoration:podčiarknutie;
}
.tutorial-info(
text-align:center;
padding:10px;
}
Krok 5 - jQuery
Posuvný panel má svoj vlastný jQuery.
demo.php
Prvý riadok obsahuje knižnicu jQuery z Google CDN. Nasleduje záplata pre IE6 PNG pre prvky priehľadnosti. Potom je zahrnutý skript panelu
Premenná $script v prípade potreby zobrazí panel na stránke sťahovania.
Online Twitter Môžete sledovať prácu stránky s čistým a nenáročným dizajnom. Pozrite sa do pravej hornej časti stránky, tam uvidíte tlačidlo autorizáciu do systému, kliknutím na ktorý uvidíte formulárov na vyplnenie údajov. Dnes vám povieme, ako urobiť podobný efekt na vlastnej webovej stránke. V skutočnosti je to veľmi jednoduché. Okrem toho vám pomôže ušetriť miesto na stránke a vašim návštevníkom dodá pocit pohodlia. V tomto článku vám krok za krokom prezradíme, ako celý tento systém funguje a táto príručka bude užitočná aj pre tých, ktorí sa chcú naučiť jQuery. Vpred!
HTML kód
Najprv musíte začať s HTML kódom. HTML kód je veľmi jednoduchý – obsahuje značku „a“, ktorá sa spája so značkou „fieldset“, vďaka ktorej sa formulár zobrazuje.
Stačí to skopírovať do kódu nová stránka:
CSS kód
Budete potrebovať Použitie CSS na definovanie autorizačného tlačidla a prihlasovacieho formulára. Nižšie uvedený kód vykonáva presne túto funkciu.
Jednoducho skopírujte tento kód do svojho css súboru alebo ho pridajte do svojho HTML kódu, kde definujete svoj štýl. Tieto kódy definujú autorizačné tlačidlo.
#kontajner (
šírka: 780px;
okraj:0 auto;
poloha: relatívna;
}
#content(
šírka: 520px;
min-height:500px;
}
a:link, a:navštívené (
farba:#27b;
text-decoration:none;
}
a: vznášať sa (
text-decoration:podčiarknutie;
}
obrázok (
šírka-okraja:0;
}
#topnav(
padding:10px 0px 12px;
font-size:11px;
line-height:23px;
text-align:right;
}
#topnav a.signin (
pozadie:#88bbd4;
padding:4px 6px 6px;
text-decoration:none;
font-weight: bold;
farba:#fff;
-webkit-border-radius:4px;
-moz-border-radius:4px;
border-radius:4px;
*background:transparent url("images/signin-nav-bg-ie.png") no-repeat 0 0;
*padding:4px 12px 6px;
}
#topnav a.signin:hover (
pozadie:#59B;
*background:transparent url("images/signin-nav-bg-hover-ie.png") no-repeat 0 0;
*padding:4px 12px 6px;
}
#topnav a.signin, #topnav a.signin:hover (
*background-position:0 3px!important;
}
a.signin(
poloha:relatívna;
margin-left:3px;
}
a.signin span(
background-image:url("images/toggle_down_light.png");
background-repeat:no-repeat;
pozícia pozadia:100% 50%;
padding:4px 16px 6px 0;
}
#topnav a.menu-open(
pozadie:#ddeef6!dôležité;
farba:#666!dôležité;
obrys:žiadny;
}
#small_signup(
display:inline;
float:none;
line-height:23px;
margin:25px 0 0;
šírka: 170px;
}
a.signin.menu-open span(
background-image:url("images/toggle_up_dark.png");
farba:#789;
}
A potom nasleduje definícia prihlasovacieho formulára:
#signin_menu(
-moz-border-radius-topleft:5px;
-moz-border-radius-bottomleft:5px;
-moz-border-radius-bottomright:5px;
-webkit-border-top-left-radius:5px;
-webkit-border-bottom-left-radius:5px;
-webkit-border-bottom-right-radius:5px;
displej:žiadny;
background-color:#ddeef6;
poloha:absolútna;
šírka: 210px;
z-index:100;
border:1px transparentný;
text-align:left;
padding:12px;
hore: 24,5px;
vpravo: 0px;
margin-top:5px;
pravý okraj: 0px;
*pravý okraj: -1px;
farba:#789;
font-size:11px;
}
#signin_menu input, #signin_menu input (
displej:blok;
-moz-border-radius:4px;
-webkit-border-radius:4px;
border:1px solid #ACE;
font-size:13px;
margin:0 0 5px;
padding:5px;
šírka: 203px;
}
#signin_menu p(
okraj:0;
}
#signin_menu a (
farba:#6AC;
}
#signin_menu label (
font-weight:normal;
}
#signin_menu p.remember(
padding:10px 0;
}
#signin_menu p.forgot, #signin_menu p.complete (
jasné:obaja;
margin:5px 0;
}
#signin_menu p a (
farba:#27B!dôležité;
}
#signin_submit(
-moz-border-radius:4px;
-webkit-border-radius:4px;
background:#39d url("images/bg-btn-blue.png") repeat-x scroll 0 0;
border:1px solid #39D;
farba:#fff;
text-shadow:0 -1px 0 #39d;
padding:4px 10px 5px;
font-size:11px;
margin:0 5px 0 0;
font-weight: bold;
}
#signin_submit::-moz-focus-inner (
výplň:0;
ohraničenie:0;
}
#signin_submit:hover, #signin_submit:focus (
background-position:0 -5px;
kurzor:ukazatel;
}
Je čas pracovať s javascriptom
Zdalo by sa, HTML kódy a CSS sú pomerne zložité a mätúce, ale v javascripte je všetko veľmi jednoduché. Stačí skopírovať tento javascriptový kód, ktorý po kliknutí na tlačidlo prihlásenia zobrazí a skryje formulár, aj keď je kliknutie mimo prihlasovacieho formulára.
Podľa vyššie uvedeného kódu, keď návštevník klikne na prihlasovacie tlačidlo, Nová funkcia. Najprv sa zobrazí prihlasovací formulár (zabalený do tagu „filedset“), následne odkaz zabalený do triedy „.signin“ pridá ďalšiu triedu „menu-open“, ktorá zmení obrázok na pozadí.
Ďalšou udalosťou v tomto kóde je, že keď návštevníci nekliknú na prihlasovací formulár, ale niekde na stránke, formulár sa sám zatvorí. Inými slovami, trieda „menu-open“ sa odstráni z prepojenia s triedou „.signin“ a vráti sa do nej pôvodný obrázok na pozadí.
Čo sa týka tipov?
Zvyčajne odporúčame použiť plugin pre jQuery – tipy. Obsah popisku je to, čo je napísané v atribúte „title“ priradenému k odkazu. Môžete zmeniť polohu popisu vzhľadom na východ, západ, juh alebo sever. Toto je implementované prostredníctvom parametra "gravity" špecifikovaného v kóde vyššie. Poskytujeme vám odkaz na stránku venovanú tomuto doplnku, kde môžete podrobnejšie preskúmať jeho možnosti a stiahnuť si doplnok. …
Konečne
Ak ste skopírovali celý kód z tohto článku, nemeňte štruktúru priečinkov. Ak ho zmeníte, kód nebude fungovať. Daný kód je len príkladom stvorenia rozbaľovací prihlasovací formulár s jQuery. Veľa šťastia v praxi!
Responzívny s funkciami prihlasovacích a registračných formulárov, s možnosťou dynamického prepínania, bez opätovného načítania stránky. Po zobrazení okna môže používateľ jednoducho prepínať z jedného do druhého a v prípade potreby vybrať možnosť zmeny hesla.
Dnes sa pozrieme na to, ako sa to všetko dá urobiť pomocou kombinácie malého, ale veľmi výkonného doplnku jQuery a nových štandardov CSS3.
Táto metóda bude užitočná, ak chcete sprístupniť prihlasovacie a registračné formuláre používateľom na každej stránke vašej lokality. Pri vstupe na stránku alebo registrácii nebudú používatelia presmerovaní na inú stránku a budú môcť vykonať všetko potrebné opatrenia„bez opustenia pokladne“, všetko na jednej stránke.
Dekor vzhľad pop-up formuláre sú implementované pomocou CSS3, celková hmotnosť pluginu nie je nijako veľká, odozva a načítanie modálneho okna prebieha takmer bez oneskorenia.
100% responzívne rozloženie, výška a šírka modálneho okna s formulármi sa automaticky nastavuje podľa veľkosti obrazoviek používateľských zariadení.
Pozreli sme sa na príklad, teraz sa pozrime bližšie na všetky hlavné komponenty modálneho okna a formulárov, aby sme sa naučili, ako ich používať na vašom webe.
Fungovanie vyskakovacieho okna s prihlasovacím a registračným formulárom je postavené na populárnej javascriptovej knižnici, spustiteľnom plugine jQuey a vygenerovaných CSS štýloch. Všetky tieto nástroje musia byť pripojené k vašej stránke. posledný aktuálna verzia Knižnice jQuey je možné pripojiť priamo z Google, samotný súbor pluginu main.js a hotovú sadu štýlov style.css nájdete v archíve.
Javascript pred zatvorením značky