az internet ablakok Android

Egyszerű felhasználói regisztrációs rendszer létrehozása a PHP és a MYSQL-en. Egyszerű felhasználói regisztrációs rendszer létrehozása a PHP és a MYSQL IMPERSONAL INDEX PHP REGISZTRÁCIÓBAN

Reg.ru: Domainek és hosting

A legnagyobb felvevő és hosting szolgáltató Oroszországban.

Több mint 2 millió domainnév a karbantartáshoz.

Promóció, postai küldemények, üzleti megoldások.

Több mint 700 ezer ügyfelet világszerte már választottak.

* Egér át a görgetés felfüggesztéséhez.

Előre halad

Egyszerű felhasználói regisztrációs rendszer létrehozása a PHP és a MYSQL számára

A regisztrációs rendszer létrehozása nagy munka. Meg kell írnia az e-mail címeket végrehajtó kódot, üzenetet küld az e-mail visszaigazolására, és elvégzi a fennmaradó űrlapmezők érvényesítését, és még sok más.

És még miután írtál mindezt, a felhasználók vonakodnak, mert Ez bizonyos erőfeszítéseket igényel a részükre.

Ebben a leckében egy nagyon egyszerű regisztrációs rendszert hozunk létre, amely nem igényel, és általában nem tárolja a jelszavakat! Az eredmény könnyen megváltoztatható és hozzáadható egy meglévő PHP webhelyhez. Szeretné kitalálni, hogyan működik? Olvassa el az alábbiakat.



Íme, hogy a szuper egyszerű rendszerünk hogyan fog működni:

Kombináljuk az engedélyezés és a regisztráció formáját. Ebben az űrlapon lesz egy mező e-mail cím és regisztrációs gomb beviteléhez;
- Az e-mail cím mező kitöltésekor új felhasználót hoznak létre a regisztrációs gombra kattintva, de csak akkor, ha a megadott e-mail cím nem található az adatbázisban.

Ezt követően létrejött egy bizonyos véletlenszerű karakterkészlet (token), amelyet a felhasználó által a hivatkozás formájában megadott felhasználónak küldünk, amely 10 percen belül releváns lesz;
- Linkenként a felhasználó a webhelyünkre megy. A rendszer meghatározza a token jelenlétét, és felhatalmazza a felhasználót;

Ennek a megközelítésnek az előnyei:

Nincs szükség jelszavak tárolására és a mező érvényesítésére;
- Nincs szükség a jelszó helyreállítása, titkos kérdések stb.;
- Abban a pillanatban, amikor a felhasználó regisztrált / engedélyezett, mindig biztos lehet benne, hogy ez a felhasználó a hozzáférési területen lesz (hogy az e-mail cím igaz);
- hihetetlenül egyszerű regisztrációs folyamat;

Hátrányok:

Felhasználói fiók biztonság. Ha valaki hozzáférhet a levélhez, bejelentkezhet.
- Az e-mail nem védett, és elfogható. Ne feledje, hogy ez a kérdés releváns, és abban az esetben, ha a jelszót elfelejtették, és vissza kell állítani, vagy bármely olyan engedélyrendszerben, amely nem használja a HTTPS-t az adatátvitelhez (bejelentkezés / jelszó);
- Bár úgy konfigurálja, hogy hogyan kell egy e-mail szerver, van esély arra, hogy az üzenetek a linkeket engedély lesz spam;

Összehasonlítva rendszerünk előnyeit és hátrányait, azt mondhatjuk, hogy a rendszer magas YUZability (legkényelmesebb a végfelhasználó számára), és ugyanakkor alacsony biztonsági mutatóval rendelkezik.

Tehát használatra kerül felajánlásokra a fórumokon és szolgáltatásokról, amelyek nem működnek fontos információkkal.

A rendszer használata

Abban az esetben, ha csak akkor kell használni a rendszert, hogy engedélyezze a felhasználókat a webhelyén, és nem akarja szétszerelni ezt a leckét a csontokon, ez az, amit meg kell tennie:

A leckehez csatolt forrásokat kell letöltenie
- találjon fájlt az archívumban tables.sql Importálja az adatbázisba a PHPMYADmin importálásával. Alternatív módon: Nyissa meg ezt a fájlt szövegszerkesztő segítségével, másolja az SQL lekérdezést és hajtsa végre azt;
- Nyisd ki tartalmazza / main.php. és töltse kommunikációs beállításokat az adatbázis (adjon meg egy felhasználói nevet és jelszót, hogy kommunikáljon a bázis, valamint a fogadó nevét és az alap). Ugyanebben a fájlban meg kell adnia az e-mailt is, amelyet a rendszer által küldött üzenetek eredeti címének kell használni. Néhány gazda blokkolja a kimenő levelet, míg az űrlap nem adja meg ezt az e-mail címet, amelyet a gazda kezelőpanelből hoztak létre, így adja meg a valós címet;
- Minden fájl betöltése index.php., védett.php. És az eszközöket, és mappákat tartalmaz az FTP-en keresztül a fogadóban;
- Adja hozzá az alábbi kódot az egyes PHP oldalhoz, ahol meg kell jeleníteni az engedélyezési űrlapot;

Igény: _once "magában foglalja / main.php"; $ Felhasználó \u003d új felhasználó (); Ha (! $ user- és gtloggedin ()) (átirányítás ("index.php");)
- Kész!

Azok számára, akik érdeklődnek, hogyan működik - előre az alábbi olvasáshoz!

Az első lépés az engedélyezési űrlap HTM-kódjának megírása. Ez a kód található a fájlban. index.php.. Ez a fájl tartalmaz egy PHP-kódot is, amely az űrlapadatokat és az engedélyezési rendszer egyéb hasznos funkcióit tartalmazza. A PHP-kód felülvizsgálatának megfelelően többet megtudhat az alábbi szakaszban.

index.php.

Tutorial: Szuper egyszerű regisztrációs rendszer PHP & MYSQL-vel

Bejelentkezés vagy regisztráció.

Adja meg e-mail címét, és elküldjük
Ön egy bejelentkezési link.



A fejrészben (a címkék között) és) Csatlakoztattam a fő stílusokat (ebben a leckében nem értik, így láthatod őket. Az eszközök / css / style.css mappa). A zárócímkéhez

Csatlakoztam a jQuery könyvtárat és a script.js fájlt, amelyet az alábbiakban írunk és csodálkozunk.


JavaScript.

a JQuery nyomon követi a "Regisztrálás / engedélyezés" gomb állapotát a funkció használatával e.preventdefault () És elküldi ajax kéréseket. A szerver válaszától függően megjeleníti ezt, vagy az üzenetet, és meghatározza a további műveleteket /

eszközök / js / script.js

$ (Függvény () (VAR Form \u003d $ ("# bejelentkezési regiszter"); form.on ("Submit", funkció (E) (ha (form.is ("forma (" betöltés, .loggedin))) (visszaadja a hamis ;) VAR e-mail \u003d form.find ("bemenet"). Val (), üzenetek \u003d form.find ("span"); e.preventdefault (); $ .Post (this.action, e-mail: e-mail), funkció ( M) (form.addclass ("hiba"); Üzenetek.Text (M.Message);) más (form.removeclass ("hiba"). Addclass ("loggedin"); Üzenetek. Szöveg (M.Message);) );); $ (Dokumentum) .ajaxstart (funkció ();)); $ (dokumentum) .ajaxcomplete (funkció () (forma. Eltávolítás);));));

az AJAX kérés aktuális állapotának megjelenítéséhez adták hozzá (ez a módszerek miatt lehetséges ajaxstart ()) I. ajaxcomplete ()amely közelebb kerülhet a fájl végéhez).

Ez az osztály egy forgó animációs gif fájlt mutat be (mintha a kérés feldolgozása), és olyan zászlóként működik, amely megakadályozza az újbóli küldési formát (amikor a regiszter gombot már megnyomta egyszer). Osztály .bejelentkezve. - Ez egy másik zászló, ha az e-mailt elküldték. Ez a zászló azonnal blokkolja az űrlapot tartalmazó további műveleteket.

Adatbázis séma

Hihetetlenül egyszerű regisztrációs rendszerünk 2 MySQL táblázatot használ (az SQL kód a fájlban van tables.sql). Az első tárolja az adatokat a felhasználói fiókokról. A második tárolja az input kísérletek számát.


Felhasználói tábla áramkör.

A rendszer nem használ jelszavakat, ami látható a diagramban. Láthatja az oszlopot jelképes. az oszlophoz szomszédos tokenekkel token_Valitás. A token telepítve van, amint a felhasználó csatlakozik a rendszerhez, beállítja e-mailjét, hogy üzenetet küldjön (egy kicsit erről a következő blokkban). Oszlop token_Valitás Az időt 10 perccel később állítja be, majd a token megszűnik, hogy releváns legyen.


A táblázat áramkörét, amely figyelembe veszi az engedélyezési kísérletek számát.

Mindkét táblázatban az IP-címet a feldolgozott formában tárolja az integer mező IP2Long funkciójával.

Most írhatunk egy kis PHP kódot. A rendszer fő funkcionalitása az osztályba kerül User.class.php.amit az alábbiakban láthatunk.

Ez az osztály aktívan használja az Idormot (DOCS), ezek a könyvtárak minimálisan szükséges eszközök az adatbázisok működéséhez. Feladja az adatbázishoz való hozzáférést, a tokenek generációját és az érvényesítését. Ez egy egyszerű felület, amely lehetővé teszi, hogy könnyen csatlakoztassa a regisztrációs rendszert a webhelyére, ha PHP-t használ.

User.class.php.

Osztályfelhasználó (// Privát ORM-ügy Privát $ orm; / ** * Keressen egy felhasználót a TOCKEN-en. Csak érvényes tokeneket vesznek figyelembe. A TOKEN-t csak 10 percig generálják * @param String $ token. Ez az kívánt tocken * @return felhasználó. Visszaadja a funkció felhasználói értékét * / Nyilvános statikus funkció FindbyToken ($ token) (// Keressen egy tokenet az adatbázisban, és győződjön meg róla, hogy az aktuális időbélyegző $ eredmény \u003d ORM :: for_table ( REG_USERS ") -\u003e Hol (" token ", $ token) -\u003e ahol_raw (" token_validity\u003e most () ") -\u003e find_one (); ha (! $ Eredmény) (Harse visszaadás) ($ eredmény) ;) / ** * A felhasználó engedélyezése vagy regisztrálása * @param string $ e-mail. Egyéni e-mail cím * @return user * / nyilvános cím ($ e-mail) (// Ha ilyen felhasználó már létezik, adja vissza a felhasználói funkció értékét Az adatbázisban tárolt megadott e-mail címről, ha (a felhasználó :: létezik (: E-mail) ($ e-mail)) (Új felhasználó visszaadása ($ e-mail);) // egyébként új felhasználót hozhat létre TV az adatbázisban, és visszaadja a funkció felhasználói értékét :: Hozzon létre a megadott e-mail visszaadási felhasználónél :: Create ($ e-mail); ) / ** * Hozzon létre egy új felhasználót, és mentse el az adatbázisba * @param string $ e-mail címet. Felhasználói e-mail cím * @return user * / privát statikus funkció létrehozása ($ e-mail) (// Írjon új felhasználót, és adja meg a felhasználói funkció eredményét ezekből az értékekből $ eredmény \u003d ORM :: for_table ("Reg_Users") - \u003e Hozzon létre (); $ eredmény-\u003e e-mail \u003d $ e-mail; $ eredmény -\u003e mentés (); új felhasználó ($ eredmény);) / ** * Ellenőrizze, hogy ilyen felhasználó létezik-e az adatbázisban, és visszaadja a változó értékét A változó * @param string $ e-mail. Egyéni e-mail cím * @return Boolean * / Public Static funkció létezik ($ e-mail) (// Van-e felhasználó az adatbázisban? $ Eredmény \u003d ORM :: for_table ("Reg_Users") -\u003e hol ("email", $ e-mail ) -\u003e szám (); $ $ eredmény \u003d\u003d 1;) / ** * Új felhasználói objektum létrehozása * @param példány $ param orm, id, e-mail vagy 0 * @return felhasználó * / nyilvános funkció __construct ($ param \u003d null) (Ha ($ Param PursoF ORM) (// ORM-ellenőrzés történik $ this-\u003e orm \u003d $ param;), ha (IS_STRING ($ param)) (// e-mail ellenőrzése $ this-\u003e om \u003d om :: for_table ("reg_users") -\u003e hol ("email", $ param) -\u003e find_one ();) más ($ id \u003d 0, ha (IS_NUMERIC ($ param)) (// felhasználói azonosítót továbbítanak az értékre a $ param $ id érték \u003d $ param;) egyébként, ha (BETSET ($ _ SESSESS) ["LOBLEID"])) (// egyébként lásd a $ id \u003d $ _session ["loginid"];) $ this-\u003e orm \u003d ORM :: for_table ("REG_USERS") -\u003e Hol ("ID", $ ID) -\u003e find_one ();)) / ** * új SHA1 engedélyezési token létrehozása, írja Az adatbázisban és visszaadja értékét * @return string * / nyilvános függvény generateen () (// generál egy tokenet egy meghatalmazott felhasználó számára, és mentse el $ token \u003d SHA1 ($ this this-\u003e email.time (). Rand (0 , 1000000))); // mentési tokenek az adatbázisban //, és jelölje meg azt, hogy ez a következő percek közül 10-ben van-e a $ this-\u003e orm-\u003e beállítása ("token", $ token); $ this-\u003e orm-\u003e set_expr (token_valididity "," Addtime (most (), "0:10") "); $ This-\u003e Om-\u003e Mentés (); Vissza $ token; ) / ** * A felhasználó engedélyezése * @return void * / nyilvános funkció bejelentkezés () (// Jelölje meg a felhasználót az engedélyezett $ _session ["loginid"] \u003d $ this-\u003e orm-\u003e id; // Frissítse az értéket A Last_Login Base Field $ this-\u003e om-\u003e set_expr ("last_login", "most ()"); $ this-\u003e orm-\u003e mentés ();) / ** * megsemmisíti a munkamenetet, és elosztja a felhasználót * @return Void * / Public Function Logout () ($ _session \u003d Array (); unset ($ _ _);) / ** * Ellenőrizze, hogy a felhasználó jött * @return Boolean * / Public Function Loggledin () This-\u003e orm-\u003e id) && $ _session ["loginid"] \u003d\u003d $ this-\u003e orm-\u003e id;) / ** * ellenőrzés a felhasználó adminisztrátora * @return Boolean * / Public Function Isadmin () $ this-\u003e rang () \u003d \u003d "rendszergazda";) / ** * Keressen egy felhasználói típust, talán adminisztrátor vagy rendszeres * @return * @return * / nyilvános funkció rang () (ha ($ this-\u003e orm-\u003e rang) \u003d\u003d 1) (Visszatérés "Rendszergazda";) Visszatérés "Regular";) / ** * módszer lehetővé teszi, hogy magán információs Felhasználói fiók * A felhasználó minőségi tulajdonságai * @param String $ Key Property Feature Fogadó hozzáférés fogadása * @return vegyes * / nyilvános funkció __get ($ billentyű) (ha ($ this this-\u003e ор -\u003e $ billentyű)) $ this-\u003e orm -\u003e $ kulcs; ) Null visszatér; )))))))))

A tokeneket az SHA1 algoritmus segítségével állítják elő, és az adatbázisban tárolják. Használok MySQL idő függvények, annak érdekében, hogy hozzanak egy 10 perces korlátozást a jelentősége a tokeny.

Ha a token halad a hitelesítési eljárás, mi közvetlenül beszél a felvezető, hogy fontolja meg csak érmek, akiknek nincs lejárati dátumot, tárolt TKEN_VALIDY oszlopban.

Ne feledje, hogy a mágikus módszert használom __kap. Dokumentumkönyvtárak a fájl végén, hogy elfogják a felhasználói objektum tulajdonságaihoz való hozzáférést.

Ennek köszönhetően lehetővé válik az adatbázisban tárolt információk elérése a tulajdonságok köszönhetően $ User-\u003e Email, $ user-\u003e token és mtsai. A következő kódfragmensben fontolja meg például az osztályok használatát.


Védett oldal

Egy másik fájl, amely hasznos és szükséges funkcionalitást tárol, fájl. funkciók.php.. Számos úgynevezett helpers - olyan asszisztens funkció, amely lehetővé teszi, hogy hozzon létre egy tisztább és olvasható kódot más fájlokban.

funkciók.php.

Funkció Send_email ($, $ to, $ Tárgy, $ üzenet) (// Helper, e-mail küldése $ headers \u003d "MIME-VERSION: 1.0". "" "" "." Tartalom típus: szöveg / Síkság; Charset \u003d UTF-8 "." "\\ R \\ n"; $ fejlécek. \u003d "A következő:". $ -Tól. "" \\ R \\ n "; Visszatérő levél ($ to, $ Tárgy, $ üzenet, $ fejlécek );) A get_page_url () funkció (// meghatározza az US PHP-fájl url \u003d "http" (üres ($ _ Server ["https"])? "": "S"). ": // $ _ Server ["Server_name"]; ha ($ _ Server ["$ _ kiszolgáló [" Request_uri "]) && $ _server [" request_uri "]! \u003d" ") ($ Url. \u003d $ _Server [" request_uri "];) más ($ url) . \u003d $ _Server ["path_info"];) $ URL visszaadása;) Funkció Rate_Limit ($ IP, $ Limit_Hour \u003d 20, $ Limit_10_min \u003d 10) (// a bemeneti kísérletek száma az utolsó órában ezen az IP-címen $ count_hour \u003d ORM :: for_table ("REG_LOGIN_ATTEMT") -\u003e hol ("IP", sprintf ("% u", ip2long ($ ip)) -\u003e ahol_raw ("TS\u003e alime (most ()," 1:00 " ) -\u003e COUNT (); // A beviteli kísérletek száma az elmúlt 10 percben ezen az IP-címen $ COUNT_10_MIN \u003d ORM :: for_table ("REG_LOGIN_ATTEMT") -\u003e Hol ("IP", Sprint f ("% u", ip2long ($ IP))) -\u003e ahol_raw ("TS\u003e alime (most ()," 0:10 ")") -\u003e szám (); Ha ($ count_hour\u003e $ limit_hour || $ count_10_min\u003e $ limit_10_min) (dobja az új kivételt ("túl sok bejelentkezési kísérletet!");)))))))) ($ IP, $ e-mail) (// Hozzon létre egy új bejegyzést az asztalhoz Ez úgy véli, hogy a beviteli kísérletek száma $ login_attemple \u003d ORM :: for_table ("REG_LOGIN_ATTEMT") -\u003e Hozzon létre (); $ login_attempt-\u003e e-mail \u003d $ e-mail; $ login_attempt-\u003e ip \u003d sprintf ("% u", ip2long ($ ); $ login_attempt-\u003e Mentés ();) Funkció átirányítás ($ URL) (fejléc ("Helyszín: $ url"); Kilépés;

Funkciók rate_limit és rate_limit_tick. Ezeket az első kísérlet pillanatától kezdve az engedélyezési kísérletek száma követi. A beviteli kísérletet az adatbázisban rögzítik a REG_LOGIN_ATTEMPTEM oszlopban. Ezeket a funkciókat az űrlapadatok feldolgozása és küldése során hívják fel, amint láthatók a következő kódfragmensből.

A kód az alábbi fájlból származik. index.php. És feldolgozza az űrlap küldését. Visszaad egy JSON-választ, amely viszont a jquery feldolgozása a fájlban eszközök / js / script.jsamit már szétszereltünk korábban.

index.php.

Próbálja ki (ha (! Üres ($ _ POST) && isset ($ _ kiszolgáló ["http_x_requested_with"])) (// A JSON fejléc fejléc ("Tartalomtípus: Alkalmazás / JSON"); // Ez az e-mail cím Érvényes, ha (! Betétet ($ _ Post ["e-mail"]) ||! Filter_var ($ _ Post ["e-mail"], filter_validate_email)) (dobja az új kivételt ("Adjon meg egy érvényes e-mailt");) // . Függetlenül attól, hogy a felhasználó bejelentkezhet-e, meghaladja a megengedett kapcsolatok számát? (FUNKCIÓS.PHP fájl több információért) RATE_LIMIT ($ _ SERVER ["REMOTE_ADDR"]); // Jegyezze fel ezt a kísérletet a rate_limit_tick engedélyezésére ($ _ Server ["Remote_addr"], $ _post ["e-mail"]); // Küldj egy levelet a felhasználó $ üzenethez \u003d "", $ e-mail \u003d $ _post ["e-mail"]; $ Tárgy \u003d "A bejelentkezési linkje" ; ha (! Felhasználó :: létezik ($ e-mail)) ($ Tárgy \u003d "Köszönöm a regisztrációt!"; $ üzenet \u003d "Köszönjük, hogy regisztrálta a webhelyünkön! \\ n \\ n";) // Regisztrálja a felhasználót $ user \u003d Felhasználó :: LOGINGORREGISTER ($ _ POST ["E-mail"]); $ üzenet. \u003d "Bejelentkezhet az URL-ről: \\ n" ; $ üzenet. \u003d get_page_url (). "? tkn \u003d" $ user-\u003e generateetoken () "." \\ n \\ n "; $ Üzenet. \u003d "A link 10 perc múlva automatikusan lejár."; $ kapott \u003d Send_Email ($ inemail, $ _post ["e-mail"], $ Tárgy, $ üzenet); Ha (! $ Eredmény) (új kivételt dobott ("Hiba történt az e-mail küldése. Kérjük, próbálja újra.");) Die (Json_encode (Array ("üzenet" \u003d\u003e "Köszönöm! A beérkezett üzenetekhez. Ellenőrizze a spam mappáját is. "))));));)));))); (Json_encode (Hiba" \u003d\u003e 1, "üzenet" \u003d\u003e $ e-\u003e getmessage ())));

A sikeres engedélyezési / regisztrációs kód után a felhasználó hivatkozik a felhasználó engedélyezésére. A TOOCKEN megfizethetővé válik, mert A generált link módszer változójaként továbbítják $ _Get. A TKN markerrel

index.php.

Ha ($ _ get ["tkn"])) (// ez a token az engedélyezésre érvényes? $ User \u003d felhasználó :: Findbytoken ($ _ get ["tkn"]); ha ($ felhasználó) (// Igen, az átirányítás a $ user-\u003e bejelentkezés (); átirányítás ("Protected.php") védett oldalára;) // nem, a token nem érvényes. Végezze el az átirányítást az űrlapon az átirányítás engedélyezése / regisztrálása ("index.php");)

$ User-\u003e bejelentkezés ()

hozza létre a szükséges változókat a munkamenethez, hogy a felhasználó, amely a későbbi webhelyoldalakon keresztül néz, folyamatosan engedélyezett.

Hasonlóképpen, a funkció kilépésének funkciójának feldolgozása is elrendezve van.

index.php.

Ha ($ _ get ["logoout"])) ($ felhasználó \u003d új felhasználó (); ha ($ user-\u003e logedin ()) ($ user-\u003e kijelentkezés ();) átirányítás ("index.php" );)

A kód végén ismét átirányítom az index.php-t, így a paraméter ? Logout \u003d 1 Nem szükséges az URL által nem szükséges.

A fájlunk. index.php. Hozzáadás szükséges. Protection - Nem akarjuk az embereket, akik valaha miután bejelentkezett a rendszert újra látta a regisztrációs űrlapot. E célból a módszert használjuk $ User-\u003e logedin ().

index.php.

$ Felhasználó \u003d új felhasználó (); Ha ($ user-\u003e logedin ()) (átirányítás ("Protected.php");)

Végül itt van egy olyan kód, amely lehetővé teszi a webhely oldalainak védelmét, és csak az engedélyezés után elérhetővé teszi.

védett.php.

// A webhelyének minden oldalának védelme érdekében csatlakoztassa a fájlt // main.php fájlt, és hozzon létre egy új felhasználói objektumot. Ez az egyszerű! Igény: _once "magában foglalja / main.php"; $ Felhasználó \u003d új felhasználó (); Ha (! $ User-\u003e logedin ()) (átirányítás ("index.php");)

Az ellenőrzés után biztos lehet benne, hogy a felhasználó sikeresen engedélyezett. Az objektum tulajdonságai segítségével az adatbázisban tárolt információkat is elérheti. $ Felhasználó.. Az e-mailek és a felhasználó és az állapot megjelenítéséhez használja ezt a kódot:

Echo "Az Ön e-mailje:" $ user-\u003e e-mail; Echo "Az Ön rangja:" $ user-\u003e rang ();

Módszer () Itt használják, mert az adatbázist általában tárolják (0 rendszeres felhasználó számára, 1 az adminisztrátorhoz), és meg kell konvertálnunk ezt az adatokat az általunk kapcsolódó állapotokra, amelyekhez kapcsolódnak, és ez a módszer segít.

Ahhoz, hogy rendszergazda legyen egy rendszeres felhasználóból, egyszerűen szerkessze a felhasználói bejegyzést a PHPMYADmin (vagy bármely más program segítségével, amely lehetővé teszi az adatbázisok kezelését). Adminisztrátor állapota nem ad kiváltságokat, ebben a példában az oldalon jelenik meg, hogy Ön egy rendszergazda - és ennyi.

De mi a teendő vele - ez a saját belátása szerint írhat és létrehozhat egy olyan kódot, amely bizonyos jogosultságokat és lehetőségeket határoz meg a rendszergazdák számára.

Befejeztük!

Ezzel a hihetetlenül szuper kvázi egyszerű formában befejeztük! Használhatja azt a PHP webhelyén, elég könnyű. Ön is módosíthatja magát, és így szeretne.

Az anyag elkészített Denis Baby speciálisan a webhely oldalán

P.S. Szeretne továbblépni a PHP és az OOP elsajátításában? Figyeljen a helyszíni épületek különböző aspektusaira, beleértve a PHP programozást, valamint egy ingyenes kurzust a CMS rendszer létrehozására a PHP-n a nulláról az OOP használatával:

Tetszett az anyag, és szeretnék köszönetet mondani?
Csak részesedjen meg barátaival és kollégáival!


Helló! Most megpróbáljuk végrehajtani a legegyszerűbb regisztrációt a webhelyen a PHP + MySQL segítségével. Ehhez az Apache-t telepíteni kell a számítógépre. A parancsfájl működésének elvét alább mutatjuk be.

1. Kezdjük a felhasználói hálózatok létrehozásával az adatbázisban. Ez tartalmaz felhasználói adatokat (bejelentkezési és jelszó). Menjen a phpmyadminba (ha létrehoz egy alapot a számítógépen http: // localhost / phpmyadmin /). Hozzon létre egy táblát felhasználók.3 mező lesz.

A MySQL adatbázisban létrehozom, létrehozhat egy másik adatbázisban. Ezután állítsa be az értékeket a képen:

2. Meg kell kapcsolódni a táblázathoz. Hozzunk létre egy fájlt bd.php.. Tartalma:

$ db \u003d mysql_connect ("A MySQL Server", a "Jelentkezzen be erre a szerverre", "jelszó a szerverre");
mysql_select_db ("A bázis neve, amelyhez csatlakozik", $ db);
?>

Az én esetemben úgy néz ki, mint ez:

$ db \u003d mysql_connect ("localhost", "Felhasználó", "1234");
mysql_select_db ("mysql", $ db);
?>

Mentés bd.php..
Kiváló! Van egy asztalunk az adatbázisban, a kapcsolatot. Most elkezdheti létrehozni egy olyan oldal létrehozását, amelyen a felhasználók elhagyják az adatokat.

3. Hozzon létre egy Reg.php fájlt tartalommal (minden megjegyzés belsejében):



becsekkolás


becsekkolás


















4. Hozzon létre egy fájlt.amely lehetővé teszi az adatokat az adatbázisba, és mentheti a felhasználót. save_user.php.(Megjegyzések belül):



{
}
// Ha a bejelentkezést és a jelszót beírja, akkor feldolgozza őket úgy, hogy a címkék és a szkriptek ne működjenek, soha nem tudod, hogy mit tudnak belépni


// extra rések eltávolítása
$ bejelentkezés \u003d trim ($ bejelentkezés);
$ jelszó \u003d trim ($ jelszó);
// Csatlakozás az adatbázishoz
// Ellenőrizze, hogy létezik egy felhasználó azonos bejelentkezéssel
$ Eredmény \u003d mysql_query ("Válassza ki az azonosítót a felhasználóknak, ahol a bejelentkezés \u003d" $ bejelentkezés ", $ db);
Ha (! Üres ($ MyRow ["ID"])) (
Kilépés ("Sajnáljuk, a bejelentkezés már regisztrált. Adjon meg egy másik bejelentkezést.");
}
// Ha nem, mentjük az adatokat
$ Eredmény \u003d MySQL_QUERY ("Beszúrás a felhasználókba (bejelentkezés, jelszó) értékek (" $ bejelentkezés "," $ jelszó ")");
// Ellenőrizze, hogy vannak hibák
Ha ($ eredmény \u003d\u003d "igaz")
{
Echo "Ön sikeresen regisztrált! Most már az oldalra megy. Főoldal";
}
MÁS (
Echo "hiba! Nem regisztrált.";
}
?>

5. Most a felhasználók regisztrálhatnak! Ezután meg kell adnia az "ajtót", hogy adja meg a webhelyet már regisztrált felhasználók számára. index.php. (Megjegyzések belül):

// Az egész eljárás munkamenetekben működik. Benne van, hogy a felhasználói adatok tárolódnak, miközben az oldalon van. Nagyon fontos, hogy elindítsa őket az oldal elején !!!
session_start ();
?>


Főoldal


Főoldal











Regisztráció



// Ellenőrizze, hogy e-mail változók és felhasználói azonosítók
Ha (üres ($ _ munkamenet ["bejelentkezés"]) vagy üres ($ _ munkamenet ["ID"]))))
{
// Ha üres, akkor nem jelenítjük meg a linket
Echo "belépett az oldalba, mint egy vendég
Ez a link csak a regisztrált felhasználók számára érhető el. "
}
MÁS.
{

Fájlban index.php. Visszatérünk egy olyan hivatkozást, amely csak regisztrált felhasználók számára nyitva lesz. Ez a szkript egész lényege - az adatokhoz való hozzáférés korlátozása.

6. A beírt bejelentkezés és jelszó ellenőrzésével kapcsolatos fájl maradt. Testreg.php (megjegyzések belül):

session_start (); // az egész eljárás a munkamenetekben működik. Benne van, hogy a felhasználói adatok tárolódnak, miközben az oldalon van. Nagyon fontos, hogy elindítsa őket az oldal elején !!!
ha (PONTSET ($ _ POST ['BEINT "])) ($ login \u003d $ \u003d $ _post [" login "]; ha ($ login \u003d\u003d" ") (Undet ($ bejelentkezés);)) // beírjuk a felhasználónevet beírta a felhasználó $ bejelentkezési változó, ha üres, akkor pusztítsa el a változót
Ha ($ _ post ["jelszó"])) ($ Password \u003d $ _ Post ["jelszó"]; ha ($ password \u003d\u003d "") (Undet ($ jelszó);)
// Adjuk meg a felhasználó által megadott jelszót a $ jelszó változóban, ha üres, akkor pusztítsa el a változót
ha (üres ($ bejelentkezés) vagy üres ($ jelszó)) // Ha a felhasználó nem lépett be bejelentkezési vagy jelszóhoz, akkor hibát adunk, és megállítjuk a forgatókönyvet
{
Kilépés ("Nem minden információt megadtál, menjen vissza és töltse ki az összes mezőt!");
}
// Ha a bejelentkezést és a jelszót beírja, akkor feldolgozza őket úgy, hogy a címkék és a szkriptek ne működjenek, soha nem tudod, hogy mit tudnak belépni
$ bejelentkezés \u003d csíklák ($ bejelentkezés);
$ bejelentkezés \u003d htmlscelchars ($ bejelentkezés);
$ Password \u003d StripsLashes ($ jelszó);
$ jelszó \u003d htmlspecialchars ($ jelszó);
// extra rések eltávolítása
$ bejelentkezés \u003d trim ($ bejelentkezés);
$ jelszó \u003d trim ($ jelszó);
// Csatlakozás az adatbázishoz
tartalmazza ("bd.php"); // bd.php fájlnak ugyanabban a mappában kell lennie, mint mindenki más, ha nem, akkor egyszerűen módosítsa az utat

$ Eredmény \u003d mysql_query ("Válassza a * menüpontot, ahol a bejelentkezés \u003d" $ bejelentkezés ", $ db); // távolítsa el az összes adatot a felhasználóról a bejelentkezésről az adatbázisból.
$ MyRow \u003d mysql_fetch_array ($ eredmény);
Ha (üres ($ myrow ["jelszó")))
{
// Ha a bejelentkezett felhasználó nem létezik
}
MÁS (
// Ha van, akkor jelszavakat hajtunk végre
Ha ($ MyRow ["jelszó"] \u003d\u003d $ jelszó) (
// Ha a jelszavak megfelelnek, elkezdjük a felhasználó munkamenetét! Gratulálhatsz, belépett!
$ _Session ["login"] \u003d $ MyRow ["login"];
$ _Session ["id"] \u003d $ MyRow ["ID"]; // Ez az adatok nagyon gyakran használják, itt "viselnek veled" a felhasználó
Echo "Sikeresen lépett be a webhelyre! Főoldal";
}
MÁS (
// Ha a jelszavak nem jöttek össze

Kilépés ("Sajnáljuk, beírta a bejelentkezési vagy jelszót.");
}
}
?>

Ez az! Talán egy lecke és unalmas, de nagyon hasznos. Itt csak regisztrációs ötlet jelenik meg, akkor javíthatja azt: Védelem, tervezés, mezők adatai, avatárok betöltése, kimenet a fiókból (erre, csak megsemmisíteni a változókat a munkamenetről egy funkcióval nem.) stb. stb. Sok szerencsét!

Mindent ellenőriztem, jól működik!

Ami azt a ténynek köszönhetően, hogy nagyon gyakran kérdések vannak a globális változókkal és a regiszter_globals irányelv leválasztásával kapcsolatos problémákkal kapcsolatban, megpróbáljuk nyilvánosságra hozni ezt a témát ebben a cikkben.

Kezdjük, meghatározzuk, hogy milyen külső változók vannak. Ezek olyan változók, amelyek kívülről érkeznek a programhoz, azaz. Nem meghatározott a programban. A PHP-re vonatkozó szkript minden olyan változóra, amelyet a böngésző karakterláncon vagy az űrlapon keresztül továbbítanak.
Fontolja meg, hogyan jönnek létre.

Ha a szerver register_globals \u003d ON (php.ini) direktíva engedélyezve van a szerveren, majd adáskor változók űrlapon keresztül, vagy a böngészőn keresztül húr, a szkript, amely ezeket a változókat szánják, akkor automatikusan létrejön. Azok. Ha a böngésző sorában írta: www.server.ru/index.php?var\u003d1, akkor az $ VAR változó automatikusan létrehozásra kerül az index.php parancsfájlban, 1 értékkel.

Megjegyzés

A megadott irányelv a PHP nyelv egyik leginkább vita pillanata. Egyrészt felhasználása valójában valódi problémákat okozhat a PHP-forgatókönyvek védelmével, a lehetséges hibás helyzetek helytelen elszámolásában, és sok fejlesztő helyesen megjegyzi, hogy a globális változók 90% -os írása csökkenti a szkriptek sebezhetőségét támadások. Másrészt a PHP megjelenésének hajnalán nem egyezer felhasználó bízott a nyelv fejlesztői (a PHP 4.3 verziójához, ez az irányelv alapértelmezés szerint engedélyezett), amely jelenleg több millió ténylegesen működik szkriptek a globális változók (érdemes megjegyezni, melyik képzési célokra néha teljesen unchecified írsz forgatókönyveket a globális változók, mivel a csere szuperglobális tömbök nagyban rontja az olvashatóságot a kódot).

Jelenleg a legtöbb fogadó szolgáltatónak ezzel az irányelvvel rendelkezik, és nyilvánvalóan továbbra is magában foglalja hosszú ideig, mivel máskülönben a kód folytonossága megzavarható.

A Register_Globals irányelv letiltása esetén az ilyen változókhoz való hozzáférés kétféleképpen lehetséges:

  • http _ *** _ vars (http_post_vars stb.)
  • superglobal tömbökkel ($ _env, $ _get, $ _post, $ _server, $ _cookie, $ _files stb.)

Superglobal tömbök állnak rendelkezésre a láthatóság bármely területén. A PHP fejlesztői javasoljuk a Register_Globals irányelv letiltását a kiszolgálón, és szuperglobális tömbökkel dolgozhatunk. Ez az ajánlás kapcsolódik a biztonsági kérdésekhez, amelyek akkor fordulhatnak elő, ha a regiszter_globals irányelv engedélyezve van.

Bár a közelmúltig, a hostingeken, a regiszter_globals irányelv továbbra is engedélyezve maradt. A helyzet megkezdődött a PHP 5 kimenetével, ahol az alapértelmezett irányelv ki van kapcsolva, és a Hoster nem sietve, hogy bekapcsolja (talán helyesen).

Tehát pontosan mit kell tenni a változók megszerzéséhez - szükséged van a szuperglobal tömbökről. Például a böngészőszálon keresztül továbbított változók beszerzéséhez használjon $ _get tömböt. Tegyük fel, hogy a www.server.ru/index.php?var\u003d1 böngészőszalagban van írva, majd az index.php változó változójának megszerzéséhez írni kell:

$ var \u003d $ _ kap ["var"];

És például, hogy a formanyomtatványon átadott változóit az űrlap-kézbesítési forgatókönyvben át kell adni, írni kell:

$ var \u003d $ _ Post ["var"];

13.9k

Hello Kedves Web Mester, a cikk azt mondja, mennyire veszélyes a Register_Globals opció bekapcsolása. Előfordulhat, hogy hallottad, hogy a program nem biztonságos munkájához vezethet (szkript). De adjuk meg, hogy mennyire használható ez a lehetőség az ellenzéki célok és a védelem védelme.

Mi az a Register_Globals?
Ez a lehetőség a PHP.INI-ban, amely azt jelzi, hogy regisztrálni kell a postai küldemény által beérkezett változókat, vagy egy globális $ globálok tömbjét.

Az egyértelműség érdekében egy példát fogok hozni, amikor a regiszter_globals \u003d be.
Van egy "index.php" fájl tartalommal:

", Echo $ Globals [" ASD "]." - Link a Global Array $ Globals-ben
", Echo $ _get [" ASD "]." - $ _get ["ASD"] ";?\u003e

A címsorban írjuk: index.php? ASD \u003d 123

Amint láthatjuk, 2 változó jött létre: egy helyi (+ link a $ gömbök), a másik a $ _get tömbben. Sokan nem használnak egy $ _get tömböt, és továbbra is feldolgozzák a "$ ASD" változót, miután megkapta kívülről.
De gondoljunk rá, miért "szennyezzük" a $ GLOBALS tömböt? Ehhez különleges tömbök vannak, amelyek tárolják az adatokat a Get Methods (Array $ _get) és a posta (Array $ _Post).

Ugyanaz a példa, de amikor a regiszter_globals \u003d ki:

Így A helyi változót nem hozták létre, és a "$ ASD" manipulálására egy $ _get tömböt kell használnunk.

Talán most megváltoztatta véleményét a Register_Globals-ről.
Valószínűleg át kell írnod \u200b\u200bvalamit a programodban, de megéri.

És most elmondom, hogy a hacker saját célokra képes ezt az opciót, vagyis Amikor regiszter_globals \u003d be
Elkezdem egyszerűen komplexig.

Gyakran látjuk figyelmeztetést:

FIGYELMEZTETÉS: Nincs meghatározatlan változó: ASD (változó neve) ****

Mit jelent? Ez azt jelenti, hogy az "$ ASD" változót kifejezetten nem definiálták.
Például néhány ember hozza létre hasonlóan:

Azok. A változó meghatározása nélkül azonnal elkezdheti használni. Az adott kód az elméletben nem fél, de gondoljon rá, mi van, ha ez a "$ ASD" változó, a fájl következménye? Például írjuk a következőket a címsorban: "index.php? ASD \u003d LUXER +", és kap: "Luser 0123456789". Nos, jó lesz látni ezt? Nem hiszem.

Tegyük fel, hogy megírjuk a felhasználói hitelesítési rendszert:

Egy nyilvánvalóan lyukas rendszert vezettem, csak a "index.php? Valid_user \u003d 1" címsorba kellene írnunk, és megkapjuk a "Hello, a felhasználó" feliratát

Ez nem fog megtörténni, ha így írtunk:

Azok. Ők maguk is azonosították a $ valid_user változót, mint hamis, hiba esetén.

Például adok példát az SQL injekcióval:

A címsorba írja: "index.php? Hol \u003d id \u003d 0 + Union + All + Select + Login + jelszó + null + -tól + admin + ahol + login \u003d 'admin'" kapunk SQL injection:

És a hacker megkapja a megjelenését és jelszavát: (

Amint az összes példát látja, lyukak vannak a védelemben, amelyek a Register_Globals segítségével működtethetők.

Ezzel megbirkózhat, ha mindig változóat határoz meg a feltételektől függetlenül. Vagy használja a változók beágyazódását a funkciókban, azaz Ha meghatározza a funkciót, akkor a belsejében lévő változók kívülről, például:

Most, ha írjuk a címsorba: "index.php? Hol \u003d 123"
Adja meg: "$ Hol nem létezik"
De ez azt állítja, hogy nem telepíti a $ -t, ahol változó, mint globális, vagyis. "Global $ hol"

Sok példával hozhatok létre, de azt hiszem, elég leszel, hogy megértsem.
Azt akarom mondani, hogy mindezek a problémák a nyáron kerek, amikor beállítja a regiszter_globals \u003d OFF opciót, és próbálja meg újra a fenti példákat.

Ez a PHP.INI-ban lehet elvégezni, de a legtöbb hosting szolgáltató nem teszi lehetővé, mert a ".htaccess" fájlt használja

Ebben a cikkben megtanulod hozzon létre regisztrációs és engedélyezési űrlapotHTML, JavaScript, PHP és MySQL használatával. Az ilyen formákat szinte minden helyszínen használják, függetlenül annak típusától. Ezek a fórumra és a bolt internetére és a szociális hálózatokra is létrehozva (például Facebook, Twiter, Odnoklassniki) és számos más típusú webhelyre is létrehozzák őket.

Ha van egy webhelye egy helyi számítógépen, akkor remélem, hogy már van a helyi kiszolgáló telepítve van és fut. Anélkül, hogy semmi sem fog működni.

Táblázat létrehozása az adatbázisban

A felhasználói regisztráció megvalósítása érdekében először szükségünk van egy adatbázisra. Ha már megvan, akkor csodálatos, különben meg kell teremtenie. A cikkben részletesen elmagyarázom, hogyan kell csinálni.

És így van egy adatbázisunk (rövidített adatbázis), most meg kell hoznunk egy asztalt felhasználók. Amelyben hozzáadjuk a regisztrált felhasználókat.

Hogyan hozzunk létre egy táblázatot az adatbázisban, én is magyaráztam a cikkben. A táblázat létrehozása előtt meg kell határoznunk, hogy mely mezők tartalmazzák. Ezek a mezők megfelelnek a regisztrációs űrlap mezőknek.

Szóval azt gondolták, bemutatták, hogy milyen mezők lennének formánk és egy asztal létrehozása felhasználók. Ilyen területekkel:

  • idézés - Azonosító. Terület idézés Minden táblázatot kell tartalmaznia az adatbázisból.
  • keresztnév. - A név mentése.
  • vezetéknév. - A vezetéknév mentése.
  • email - A postai cím mentése. E-mail A bejelentkezésként fogjuk használni, így ez a mező egyedinek kell lennie, vagyis egyedi index.
  • e-mail_status. - Az utasítások mezőjét postai úton vagy sem. Ha az e-mail megerősítésre kerül, akkor értéke 1, ellenkező esetben az érték 0.
  • jelszó. - A jelszó mentéséhez.


Ha azt szeretné, hogy a regisztrációs formája legyen más mezők, akkor is hozzáadhatja őket itt is.

Minden, az asztalunk felhasználók. Kész. Menjen a következő szakaszba.

Kapcsolódás az adatbázishoz

Egy adatbázist hoztunk létre, most már csatlakozni kell hozzá. A kapcsolatot PHP bővítéssel végzik a MySQLI segítségével.

A webhelyünk mappájában hozzon létre egy nevű fájlt dbconnect.php.És írjuk a következő szkriptet:

Hiba történt az adatbázishoz való csatlakozáshoz. Hiba leírása: ".mysqli_connect_error ()".

"; Kilépés ();) // Állítsa be a $ MySQLI-\u003e SET_CHARSET kapcsolat (" UTF8 ") kódolását; // a kényelemhez, adjon hozzá egy változót itt, amely tartalmazza webhelyünk nevét $ cím_site \u003d" http: //testsite.local ";?\u003e.

Ez a fájl dbconnect.php. Meg kell kapcsolódni az űrlapkezelőkhez.

Figyeljen a változóra $ CDDER_SITE.Itt jeleztem a teszthelyem nevét, amelyet dolgozom. A webhely nevét adja meg.

Helyszíni struktúra

Most tegyük fel webhelyünk HTML-struktúrájával.

A webhely fejlécét és alagsorát az egyes fájlokhoz kell benyújtani, fejléc.php. és footer.php.. Minden oldalra csatlakoztatjuk őket. Nevezetesen a fő (fájl) index.php.), a regisztrációs formában (fájl) form_register.php.) és az oldalon az engedélyezés formájában (fájl) form_auth.php.).

Blokkolja a referenciáinkat becsekkolás és engedélyezés, Adja hozzá a webhely fejlécét, hogy azok az összes oldalon jelenjenek meg. Egy link beírja regisztrációs űrlap segítségével (fájl form_register.php.) és a másik az oldalhoz engedélyezési forma (fájl form_auth.php.).

Header.php fájl tartalom:

Honlapunk neve

Ennek eredményeként a főoldal, így nézünk ki:


Természetesen teljesen más struktúrával rendelkezhet a helyszínen, de most nem fontos számunkra. A legfontosabb dolog az, hogy hivatkozásokat (gombok) a regisztráció és az engedélyezés.

Most forduljunk a regisztrációs formához. Ahogy már megértette, a fájlban van form_register.php..

Az adatbázisba megyünk (phpmyadmin), nyissa meg az asztali struktúrát felhasználók. És megnézzük, milyen területekre van szükségünk. Tehát mezőkre van szükségünk a név és a vezetéknév, a mail cím mező (e-mail) és a jelszó beviteli mezőbe való belépéshez. És még biztonsági okokból is adjunk hozzá egy fedési mezőt.

A kiszolgálón a regisztrációs űrlap feldolgozása eredményeképpen különböző hibák fordulhatnak elő, ami miatt a felhasználó nem regisztrálhat. Ezért, annak érdekében, hogy a felhasználó megértse, miért nem esik be a regisztráció, az e hibákról szóló üzeneteket kell megjeleníteni.

Mielőtt megjelenítené az űrlapot, adjon hozzá egy blokkot a hibaüzenetek kimeneti adásához.

És egy másik pillanat, ha a felhasználó már engedélyezett, és a regisztrációs oldalról közvetlenül a böngészőre írva a címsorban cím_Sight / Form_Register.php.Ebben az esetben ebben az esetben a regisztrációs űrlap helyett egy címet fogunk hozni, hogy már regisztrált.

Általában a fájlkód form_register.php. Mint ez:

Már regisztráltál

A böngészőben az oldal a regisztrációs formában úgy néz ki, mint ez:


Keresztül szükséges attribútum, minden mezőt kötelező kitölteni.

Figyeljen a regisztrációs kódkódra, ahol a CAPTCHA származik:


Mi a kép SRC attribútumának értéke, jelezte a fájl elérési útját captcha.php.amely ezt generálja ezt a CAPTCHA-t.

Nézzük meg a fájlkódot captcha.php.:

A kód jól kommentálta, ezért csak egy pillanatra lakom.

A funkció belsejében képalkoteftext ()jelzett út a betűtípushoz vertana.ttf.. Tehát a Capcha helyes munkájához hozzon létre egy mappát betűtípusok., és helyezzen be egy betűtípust vertana.ttf.. Megtalálhatja és letöltheti az internetről, vagy az archívumból a cikk anyagával.

A HTML szerkezetével befejeztük, itt az ideje, hogy továbblépjen.

Ellenőrzési e-mail az érvényességgel a jQuery segítségével

Bármilyen forma kell érvényességének ellenőrzése a bevitt adatok, mind a kliens oldalon (JavaScript, jQuery), és a szerver oldalon.

Különös figyelmet kell fordítanunk az e-mail mezőre. Nagyon fontos, hogy a beírt postai cím érvényes.

Ehhez a beviteli mezőbe beállítjuk az e-mailt (Type \u003d "e-mail"), ez egy kicsit óvatos helytelen formátumok. De ez nem elég, mert a kódfelügyelőn keresztül, amelyet a böngésző biztosít, könnyen megváltoztathatja az attribútum értékét típus tól től email a sZÖVEG.És minden, az ellenőrzésünk érvénytelen.


És ebben az esetben megbízhatóbb ellenőrzést kell tennie. Ehhez használja a JavaScript JQuery könyvtárat.

A JQuery könyvtár csatlakoztatásához a fájlban fejléc.php.a címkék között A zárócímke előtt , Adja hozzá ezt a sort:

Közvetlenül a sor után adja hozzá az e-mail validálási ellenőrző kódot. Itt hozzáadom a kódot a megadott jelszó hosszának ellenőrzéséhez. A hosszának legalább 6 karakternek kell lennie.

Ezzel a szkript használatával ellenőrizzük a beírt postai címet érvényességi. Ha a felhasználó rossz e-mailbe lépett, akkor tévedünk ezzel, és deaktiváljuk a Send Shape gombot. Ha minden rendben van, akkor eltávolítjuk a hibát, és aktiváljuk a Küldés gombot.

És így van egy alakellenőrzés az ügyfél részével, amit befejeztünk. Most elküldhetjük azt a kiszolgálónak, ahol néhány ellenőrzést készít, és adatot ad hozzá az adatbázishoz.

Felhasználó regisztráció

A fájl feldolgozásához küldött űrlap regisztráljon.php., a post módszeren keresztül. A kezelőfájl nevét az attribútum értéke jelzi. akció.. És a küldési módszer az attribútumértékben jelenik meg. módszer..

Nyissa meg ezt a fájlt regisztráljon.php. És az első dolog, amit meg kell tennünk, írja a munkamenet elindításának funkcióját, és csatlakoztassa a korábban létrehozott fájlt dbconnect.php. (Ebben a fájlban csatlakoztunk az adatbázishoz). És azonnal nyilvánítsa be a sejteket error_messages. és success_messages. A globális munkamenetben. BAN BEN error_mesages. Minden hibaüzenetet rögzítünk az űrlapfeldolgozás során, és a succes_messages.Joyful üzeneteket írunk.

Mielőtt folytatnád, ellenőriznünk kell volt egy forma egyáltalán. A támadó megnézheti az attribútum értékét akció. Az űrlaptól, és megtudja, melyik fájl foglalkozik az űrlap feldolgozásával. És elgondolhatja, hogy az a gondolat, hogy közvetlenül a fájlhoz való áttérés, tárcsázás a böngésző címsorában egy ilyen cím: http: //ares_site/register.php.

Ezért ellenőriznünk kell egy sejt jelenlétét a poszt globális tömbjében, amelynek neve megegyezik a "Regisztráció" gombunknak az űrlaptól. Tehát ellenőrizzük, hogy megnyomja-e a "regiszter" gombot, vagy sem.

Ha a támadó megpróbál közvetlenül menni erre a fájlra, hibaüzenetet kap. Emlékeztetem arra, hogy a $ cím_site változó tartalmazza a webhely nevét, és bejelentette a fájlban dbconnect.php..

Hiba! Főoldal.

"); } ?>

A CAPTCHA értékét a munkamenetben a fájl létrehozásakor adtuk hozzá captcha.php.. Emlékeztetni ezt a kódot a fájlból captcha.php.ahol a CAPTCHA értéke hozzáadódik a munkamenethez:

Most folytassa a csekket. Fájlban regisztráljon.php., az IF blokk belsejében, ahol ellenőrzi, hogy megnyomta-e a "Regisztráció" gombot, vagy inkább, ahol a megjegyzés jelzi. " // (1) Helyezze el a következő kódot"Mi írunk:

// ellenőrizze a kapott CAPTCHA // vágja le a hiányosságokat az elejétől és a $ CAPTCHA \u003d TRIM ($ _ POST ["CAPTCHA"]); Ha (PONTSET ($ _ POST ["CAPTCHA"]) &&! Üres ($ captcha)) (// Hasonlítsa össze az értéket az értékkel az ülésen. Ha (($ _ Session ["Rand"]! \u003d $ Captcha ) && ($ _session ["rand"]! \u003d "") (// Ha a PIN-kód nem megfelelő, akkor visszaadjuk a felhasználót a regisztrációs oldalra, és üzenetet adunk neki a hiba által bevezetett hiba miatt Rossz kapcs. $ error_message \u003d "

Hiba! Belépett a rossz kappába

"; // mentünk egy hibaüzenetet a munkamenetben. $ _Session [" error_messages "] \u003d $ error_message; // Visszaadja a felhasználót a fejléc regisztrációs oldalra (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ CDDER_SITE." / Form_register.php "); // Indítsa el a kilépési parancsfájlt ();) // (2) helyet a következő kódra) másra (//, ha a CAPTCHA-t nem továbbítják, vagy üres Kilépés ("

Hiba! Nincs ellenőrző kód, azaz Cappitch kód. Elmehetsz a főoldalra.

"); }

Ezután meg kell dolgoznunk a kapott adatokat a Post Törésből. Először is, meg kell vizsgálnunk a globális poszt-hegység tartalmát, vagyis a sejtek ott vannak, amelyek nevei megfelelnek az adagolási mezők nevének nevét.

Ha a cella létezik, akkor vágja le a tereket az elejétől és a vonal végétől ebből a cellából, ellenkező esetben a felhasználó átirányítása a regisztrációs űrlap oldalra.

Ezután a terek vágása után adjon hozzá egy karakterláncot a változóhoz, és ellenőrizze ezt a változót az ürességhez, ha nem üres, akkor továbblépünk, különben átirányítjuk a felhasználót a regisztrációs űrlapon.

Ez a kód beillesztése a megadott helyre " // (2) hely a következő kódra".

/ * Ellenőrzük, hogy a Global Array $ _post-ban van-e az űrlapon küldött adatok, és a továbbított adatokat normál változókra zárják. * / IF ($ _ POST ["FIRST_NAME"])) (// Cut a szóközöket a A $ First_Name string \u003d vágás végétől és végén [$ _ post ["first_name"]); // Ellenőrizze a változó a Void if_name (! üres ($ first_name)) (// A biztonság érdekében speciális karaktereket alakítunk át A HTML entity $ first_name \u003d htmlspecialchars ($ first_name, ent_quotes);) más (// mentünk egy hibaüzenetet a munkamenetben. $ _session ["error_messages"]. \u003d "

Adja meg nevét

Hiányzó mező neve

"; // Visszaadja a felhasználót a regisztrációs oldalfejléchez (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_register.php "); // Indítsa el a kilépési parancsfájlt (); ) Ha ($ _ post ["last_name"])) (// vágja le a tereket az elejétől és a $ last_name \u003d trim ($ _ Post ["last_name"); ha (! $ last_name))) (// A biztonság érdekében speciális karaktereket alakítunk át a $ last_name \u003d htmlspecialchars html lényegében ($ last_name, ent_quotes);) más (// Mentés egy hibaüzenetet az ülésre. $ _session ["error_messages" ]. \u003d "

Adja meg vezetéknevét

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_register.php "); // Indítsa el a kilépési parancsfájlt (); )) Egyébként (// mentünk egy hibaüzenetet a munkamenetben. $ _Session ["error_messages"]. \u003d "

Hiányzó mező vezetéknévvel

"; // Visszaadja a felhasználót a regisztrációs oldalfejléchez (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_register.php "); // Indítsa el a kilépési parancsfájlt (); ) Ha (PONTSET ($ _ POST ["E-mail"])) (// vágja le a tereket az elejétől és a $ e-mail végétől \u003d trim ($ _ Post ["e-mail"]); ha (! $ e-mail)) ($ e-mail \u003d htmlspecialchars ($ e-mail, ent_quotes); // (3) A kód helye a postai cím és az egyediség formátumának ellenőrzéséhez) más (// Mentés egy hibaüzenetet az ülésen . $ _session ["error_messages"]. \u003d "

Adja meg e-mail címét

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_register.php "); // Indítsa el a kilépési parancsfájlt (); )) Egyébként (// mentünk egy hibaüzenetet a munkamenetben. $ _Session ["error_messages"]. \u003d "

"; // Visszaadja a felhasználót a regisztrációs oldalfejléchez (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_register.php "); // Indítsa el a kilépési parancsfájlt (); ) Ha (PONTSET ($ _ POST ["jelszó"])) (// vágja le a tereket az elejétől és a $ jelszó végétől \u003d trim ($ _ Post ["jelszó"]); ha (! $ jelszó) ($ jelszó \u003d htmlscelchars ($ jelszó, ent_quotes); // Paparol $ jelszó \u003d MD5 ($ jelszó "." top_secret ");) más (// Mentés egy hibaüzenetet a munkamenetre. $ _session [ "Error_messages"]. \u003d "

Adja meg a jelszavát

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_register.php "); // Indítsa el a kilépési parancsfájlt (); )) Egyébként (// mentünk egy hibaüzenetet a munkamenetben. $ _Session ["error_messages"]. \u003d "

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalra (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_register.php "); // Indítsa el a kilépési parancsfájlt (); ) // (4) A felhasználó hozzáadása kódolásának helye az adatbázisban

Különös jelentőséggel rendelkezik email. Ellenőriznünk kell a fogadott postai cím formátumát és egyediségét az adatbázisban. Vagyis nincs több felhasználó ugyanazon e-mail címmel.

A megadott helyen " // (3) kód helye a postai cím és az egyediség formátumának ellenőrzéséhez"Adja hozzá a következő kódot:

// Ellenőrizze a fogadott postai cím formátumát a Reg_email \u003d "/ ^ ** @ (+ (+)) * (.) + + / I" rendszeres kifejezéssel. // Ha a fogadott postai cím formátuma nem felel meg a rendszeres kifejezésnek, ha (! Preg_match ($ Reg_email, $ e-mail)) (// Mentés egy hibaüzenetet a munkamenetben. $ _Session ["ERROR_MESSAGES ']. \u003d "

Ön be nem fizetett e-mailt

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalra (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_register.php "); // Indítsa el a kilépési parancsfájlt (); ) // Ellenőrizze, hogy van-e ilyen cím az adatbázisban. $ Eredmény_Query \u003d $ MySQLI-\u003e lekérdezés ("Válassza ki az e-mail" -t a "felhasználók" -ból, ahol "e-mail" \u003d "" $ e-mail. " Ha a beérkezett sorok száma pontosan egység, ami azt jelenti, hogy a felhasználó ilyen postai címmel már regisztrált, ha ($ resure_Query-\u003e num_rows \u003d\u003d 1) (//, ha a kapott eredmény nem egyenlő hamis, ha ($ Sor \u003d $ ferter_query-\u003e Fetch_assoc ())! \u003d FALSE) (// Mentés egy hibaüzenetet a munkamenetben. $ _session ["error_messages"]. \u003d "

A felhasználó ilyen postcímmel már regisztrált

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalra (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_register.php ");) más (// mentünk egy hibát Üzenet az ülésen. $ _session ["error_messages"]. \u003d "

Hiba az adatbázis kérésben

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ Cescord_site." / Form_register.php ");) / * Mintavétel törlése * / $ result_query -\u003e közel (); // állítsa le a kilépési parancsfájlt ();) / * a minta zárása * / $ result_query-\u003e close ();

És így befejeztük az összes ellenőrzéssel, itt az ideje, hogy hozzáadjon egy felhasználót az adatbázishoz. A megadott helyen " // (4) az adatbázisban lévő felhasználó hozzáadásának kódjának helye"Adja hozzá a következő kódot:

// A felhasználó hozzáadásának kérése az adatbázisban $ resert_query_insert \u003d $ MySQLI-\u003e lekérdezés ("Insert in`s" (first_name, last_name, e-mail, jelszó) értékek (". $ First_name." "," $ Last_name. "" "$ E-mail." "," "$ Jelszó." ")"); Ha (! $ Resert_query_insert) (// Hibaüzenet mentése a munkamenetben. $ _Session ["error_messages"]. \u003d "

Hiba esetén a felhasználó hozzáadása az adatbázisban

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_register.php "); // Indítsa el a kilépési parancsfájlt (); ) Egyébként ($ _session ["Success_messages"] \u003d "

A regisztráció sikeresen befejeződött !!!
Most bejelentkezhet a bejelentkezési és jelszó használatával.

"; // Küldje el a felhasználót a fejléc engedélyezési oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / form_auth.php ");) / * A kérés befejezése * / $ result_query_insert-\u003e közel (); // Zárja le a kapcsolatot az adatbázishoz $ mysqli-\u003e close ();

Ha hiba történt a kérés, hogy vegye fel a felhasználót az adatbázis, akkor adjunk hozzá egy üzenetet erről a hibáról az ülés, és vissza a felhasználót a regisztrációs oldalon.

Ellenkező esetben, ha minden jól ment, az ülésen hozzáadunk egy üzenetet is, de ez már kellemesebb, nevezetesen beszélünk a felhasználó által sikeresen. És átirányítsa az oldalt az engedély formájával.

A szkript a postai cím formátumának ellenőrzésére és a jelszó hossza a fájlban van fejléc.php., így az űrlapon szereplő mezőkön fog működni.

Az indítási munkamenet a fájlban is előfordul fejléc.php.így a fájlban form_auth.php. Nem kell futtatnia az ülést, mert hibát kapunk.


Amint azt mondtam, a szkript a postai cím formátumának ellenőrzésére és a jelszó hossza is cselekszik. Ezért, ha a felhasználó rossz postai címre vagy rövid jelszóra lép, azonnal hibaüzenetet kap. És gomb bejönni Ez nem lesz aktív.

A hibagombok kiküszöbölése után bejönni Aktív lesz, és a felhasználó képes lesz elküldeni az űrlapot a szerverre, ahol feldolgozásra kerül.

Felhasználói engedélyezés

Az attribútum értékében akció. Az engedélyezési forma megadott fájl auth.php.Ez azt jelenti, hogy az űrlapot feldolgozni fog ebben a fájlban.

És így nyissa meg a fájlt auth.php. És írjon kódot az engedélyezési űrlap feldolgozásához. Az első dolog, amit meg kell tennie, futtassa a munkamenetet, és csatlakoztassa a fájlt dbconnect.php. Csatlakozni az adatbázishoz.

// Jelölje ki a cellát az űrlap feldolgozás során előforduló hibák hozzáadásához. $ _Session ["error_messages"] \u003d ""; // kijelentse a cellát, hogy sikeres üzeneteket adjon hozzá $ _session ["Success_messages"] \u003d "";

/ * Ellenőrizzük, hogy elküldték-e az űrlapot, azaz egy gomb megnyomásával lép be. Ha igen, akkor tovább megyünk, ha nem, akkor visszavonja a felhasználónak egy üzenetet a hibáról, hogy közvetlenül az oldalra jött. * / ha ($ _ post ["btn_submit_auth]) &&! üres ($ _ post [" btn_submit_auth ")) (// (1) hely a következő kódra) más (kilépés ("

Hiba! Ezt az oldalt közvetlenül meglátogatta, ezért nincs adat feldolgozásra. Elmehetsz a főoldalra.

"); }

// Ellenőrizze a beérkezett CAPTCHA-t, ha (PONTSET ($ _ POST ["CAPTCHA"])) (// vágja le a tereket az elejétől és a $ CAPTCHA \u003d Trim String ($ _ Post ["CAPTCHA") ; ha (! Üres ($ captcha)) (Hasonlítsa össze az értéket az értékkel az ülésen. Ha ($ _ Session ["Rand"]! \u003d $ captcha) && ($ _session ["Rand"]! "")) (// Ha a CAPTCHA nem igaz, visszaadjuk a felhasználót az engedélyezéshez, és üzenetet adunk neki a hibás hibaüzenetről. $ ERROR_MESSAGE \u003d "

Hiba! Belépett a rossz kappába

"; // mentünk egy hibaüzenetet a munkamenetben. $ _Session [" error_messages "] \u003d $ error_message; // Visszaadja a felhasználót a fejléc engedélyezési oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: ". $ CHANDE_SITE." / Form_auth.php "); // Indítsa el a kilépési parancsfájlt ();)))) más ($ error_message \u003d"

Hiba! A Capping mező nem lehet üres.

"; // mentünk egy hibaüzenetet a munkamenetben. $ _Session [" error_messages "] \u003d $ error_message; // Visszaadja a felhasználót a fejléc engedélyezési oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: ". $ Cím_site." / Form_auth.php "); // Indítsa el a kilépési parancsfájlt (););) // (2) a postai cím feldolgozásának helyét // (3) Jelszófeldolgozási hely // (4) Helyezze el a kérés az adatbázisba) más (// Ha a CAPTCHA-t nem továbbítják a kilépéshez ("

Hiba! Nincs ellenőrző kód, azaz a Cappitch kód. Elmehetsz a főoldalra.

"); }

Ha a felhasználó helyesen lépett be az ellenőrző kódba, akkor tovább megyünk, különben visszaadjuk az engedélyezési oldalra.

A post cím ellenőrzése

// vágja le a tereket az elejétől és a $ -tól a $ e-mail \u003d trim ($ _ post ["e-mail"]); Ha ($ _ post ["e-mail"])) (ha (! Üres ($ e-mail)) ($ e-mail \u003d htmlspecialchars ($ e-mail, ent_quotes); // Ellenőrizze a fogadott postai cím formátumát rendszeres kifejezéssel $ reg_email \u003d "/ ^ ** @ (+ (* +)).) ++ / i"; // Ha a fogadott postai cím formátuma nem egyezik meg a rendszeres kifejezéssel (! PreG_Match ($ Reg_email, $ e-mail) )) (// mentjük a munkamenet hibaüzenetét. $ _Session ["error_messages"]. \u003d "

Helytelen e-mailt adtál meg

"; // Visszaadja a felhasználót a fejléc engedélyezési oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_auth.php "); // Indítsa el a kilépési parancsfájlt (); )) Egyébként (// mentünk egy hibaüzenetet a munkamenetben. $ _Session ["error_messages"]. \u003d "

A levelezési cím mező (e-mail) nem lehet üres.

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_register.php "); // Indítsa el a kilépési parancsfájlt (); )) Egyébként (// mentünk egy hibaüzenetet a munkamenetben. $ _Session ["error_messages"]. \u003d "

Nincs mező e-mailbe való belépéshez

"; // Visszaadja a felhasználót a fejléc engedélyezési oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_auth.php "); // Indítsa el a kilépési parancsfájlt (); ) // (3) Jelszófeldolgozási terület

Ha a felhasználó helytelen formátumban megadta a levelezési címet, vagy az e-mail cím mezője üres, akkor visszaadjuk az engedélyezési oldalra, ahol üzenetet hozunk rá.

Jelszó ellenőrzése

A következő feldolgozási mező jelszómező. A megadott helyre " // (3) Jelszófeldolgozás helye", Mi írunk:

Ha (PONTSET ($ _ POST ["jelszó"])) (// vágja le a tereket az elejétől és a $ jelszó végétől \u003d trim ($ _ Post ["jelszó"]); ha (! jelszó)) ($ password \u003d htmlspecialchars ($ jelszó, ent_quotes); // A jelszó megadása $ jelszó \u003d MD5 ($ jelszó. "top_secret");) más (// Hibaüzenet mentése a munkamenetben. $ _session [ error_messages "]. \u003d"

Adja meg a jelszavát

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalra (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_auth.php "); // Indítsa el a kilépési parancsfájlt (); )) Egyébként (// mentünk egy hibaüzenetet a munkamenetben. $ _Session ["error_messages"]. \u003d "

Hiányzó jelszó belépés mező

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalra (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_auth.php "); // Indítsa el a kilépési parancsfájlt (); )

Itt használjuk az MD5 () függvényt a beérkezett jelszó titkosításához, mivel az adatbázis jelszavakban vannak a titkosított formában. További titkos szó a titkosításban, ügyünkben " tITKOS."Meg kell lennie, hogy használják, és regisztráljon egy felhasználó.

Most szükség van arra, hogy kérjen adatbázisba olyan felhasználói mintában, amelynek e-mail címe megegyezik a fogadott postai címmel és jelszóval egyenlő a fogadott jelszóval.

// kérés az adatbázisban a felhasználói mintában. $ ferter_query_select \u003d $ MySQLI-\u003e lekérdezés ("Válassza a * menüpontot a" felhasználók "-ból, ahol e-mail \u003d" "$ e-mail." "és jelszó \u003d". "$ jelszó." " Ha (! $ Resert_query_select) (// Mentés egy hibaüzenetet a munkamenethez. $ _Session ["error_messages"]. \u003d "

Kérjen hiba a felhasználói mintában az adatbázisból

"; // Visszaadja a felhasználót a fejléc regisztrációs oldalra (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_auth.php "); // Indítsa el a kilépési parancsfájlt (); ) Egyébként (// Ellenőrizze, hogy nincs ilyen adat az adatbázisban, majd jelenítse meg az IF hibaüzenetet ($ resure_query_select-\u003e num_rows \u003d\u003d 1) (// Ha a megadott adatok egybeesnek az adatbázis adataival A bejelentkezést és a jelszót a Sessions tömbjéhez mentjük. $ _session ["email"] \u003d $ e-mail; $ _session ["jelszó"] \u003d $ jelszó; // Visszaadja a felhasználót a fejléc kezdőlapjára ("http / 1.1 301 Véglegesen "); fejléc (" Helyszín: "$ cím_site." / Index.php ");) más (// mentési hibaüzenetet a munkamenethez. $ _Session [" error_messages "]. \u003d"

Helytelen felhasználónév és / vagy jelszó

"; // Visszaadja a felhasználót a fejléc engedélyezési oldalához (" HTTP / 1.1 301 véglegesen "); fejléc (" Helyszín: "$ cím_site." / Form_auth.php "); // Indítsa el a kilépési parancsfájlt (); )))))))))

Kilépés a helyszínről.

És az utolsó dolog, amit rájöttünk kilépési eljárás a webhelyről. Jelenleg a fejlécben linkeket kínálunk az engedélyezési oldalon és a regisztrációs oldalon.

A Site Cap (fájl) fejléc.php.), A munkamenet használatával ellenőrizzük, hogy a felhasználó már engedélyezett-e. Ha nem, megjelenítünk linkeket és engedélyezési kapcsolatokat, egyébként (ha engedélyezett), a regisztrációs és az engedélyezési kapcsolatok helyett egy linket jelenítünk meg Kimenet.

Módosított kódot a fájlból fejléc.php.:

becsekkolás

Kimenet

Amikor rákattint a kilépési linkre a webhelyről, esünk a fájlba logout.php.Ahol egyszerűen elpusztítják a cellákat postai címmel és jelszóval a munkamenetből. Ezt követően küldje vissza a felhasználót az oldalra, amelyre a linket megnyomta kimenet.

Fájlkód lOGOUT.PHP:

Ez minden. Most már tudod, hogyan a regisztrációs és az engedélyezési űrlapok végrehajtása és feldolgozása Felhasználó a webhelyén. Ezek az űrlapok szinte minden webhelyen találhatók, így minden programozónak tudnia kell, hogyan kell létrehoznia őket.

Azt is megtudtuk, hogy ellenőrizze a bevitt adatokat az ügyféloldalon (a böngészőben, JavaScript, JQuery használatával) és a kiszolgáló oldalon (a PHP nyelv használatával). Azt is megtanultuk végezze el a kilépési eljárás végrehajtását a webhelyről.

Minden szkript ellenőrzése és a munkavállalók. Töltse le az archívumot a kis webhely fájljaival ezen a linken.

A jövőben egy cikket írok, ahol leírom. És azt tervezem, hogy írjak egy cikket, ahol megmagyarázom (az oldal újraindítása nélkül). Tehát, annak érdekében, hogy tisztában legyen az új cikkek kiadása, feliratkozhat a webhelyemre.

Ha kérdése van, kérjük, vegye fel a kapcsolatot is, ha észrevette a hibát a cikkben, megkérdezem, hadd tudjam meg róla.

Lecke terv (5. rész):

  1. Hozzon létre egy HTML-struktúrát az engedélyezési űrlaphoz
  2. A kapott adatok feldolgozása
  3. Mondja el a felhasználó üdvözletét az oldal fejlécében

Tetszett a cikket?