Ajax engedély és a bejegyzés php
Adatbázis létrehozása
Új adatbázis létrehozása nevű TESZTAB. futás a következő lekérdezést kiváltságos felhasználó.
Együttműködik az adatbázis, adjunk hozzá egy felhasználó TESZTAB, és neki a szükséges jogokat.
A szerkezet a felhasználók tábla
Tárolni a felhasználói adatbázis létrehozásához felhasználók tábla adatait. futás a következő lekérdezést.
- id - egyedi felhasználói azonosító
- felhasználónév - bejelentkezés
- jelszó - titkosított jelszó
- só - só jelszó titkosítás
A szerkezet a fájlok és könyvtárak
Hozzon létre egy könyvtárat «php-auth» a projektünk. Ezenkívül az alábbi fájlok és mappák:
felhasználói regisztráció
A regisztráció során a felhasználónak kell adni egy felhasználónevet és jelszót, erősítse meg a jelszót. Az űrlap elküldése után fogjuk tenni meglétének ellenőrzése a megadott bejelentkezési. Ha a belépés már létezik - értesíti a látogató.

Minden munka az adatbázis fog bekövetkezni a PDO PHP kiterjesztés. Ez benne van a standard PHP könyvtár verzió óta 5.1.
Az alapvető logikája a kérelem az osztályok / Auth.class.php fájlt. Nézzük részletesen a tartalmát.
regisztráció algoritmus
Ahhoz, hogy hozzon létre egy új felhasználói módszerével Felhasználó :: create (). amely befogadja a bejelentkezési név és jelszó paraméterként.
Az első dolog, hogy ellenőrizze a felhasználó létezéséről. Ehhez használja Felhasználó :: getSalt () metódust. amely kiválasztja az alapja a „só” a felhasználó bejelentkezési. A só szükséges, hogy bonyolítja a kiválasztási felhasználói jelszavak szivárgás esetén bázis.
Ha a felhasználó létezik - dobni egy kivételt. Ellenkező esetben, létrehoz egy új só és a hash a jelszót is. Ezt követően a kérést, hogy az adatokat az adatbázisba. Ha a lekérdezés sikertelen, sootvetstvuyuee üzenetet küld, és lépjen ki a forgatókönyvet. Ilyen helyzet akkor fordulhat elő, ha kihúzza a MySQL-szerver vagy egy belső hiba.
Ha egy felhasználó létrejött ussheshno, Használati :: create () függvény az egyedi azonosítót. Ez egy normális numerikus mező, amely automatikusan megemelkedik, amikor hozzá rekordokat a táblázatban.
hitelesítési algoritmussal
Annak érdekében, hogy ellenőrizze a helyes bejelentkezési név és jelszó a Felhasználó :: engedélyezik () metódust. Az első dolog, amit ellenőrizni, hogy létezik egy felhasználó próbál választani a sót a bázis. Ha a felhasználó nem található, azonnal visszatér hamis. Ellenkező esetben, hash a jelszó a só áthaladt a Felhasználó :: passwordHash () függvényt. Aztán, hogy a kiválasztás az adatbázisban felhasználónevét és jelszavát hash.
Ha a lekérdezés eredménye üres volt, a felhasználónév és jelszó helyes. Mentse polzotelskie adatokat a Felhasználói osztály objektum. Írja be a felhasználói azonosító az ülésen keresztül Felhasználó :: saveSession () metódust. Ha az első argumentum - $ emlékezni. át hű hozzá. A munkamenet azonosító mentett cookie-kat. Ez nem fog belépni a jelszót minden egyes alkalommal újra a böngészőt.
Az űrlapok segítségével Ajax
Kezelhető Ajax-kérések létre AjaxRequest osztályban. Mentse el az osztályok / AjaxRequest.class.php fájlt.
Ez az osztály fogja könnyíteni a feldolgozás küldött adatok a felhasználó formában. A tervező, aki megkapja kérelem adatait array ($ _GET vagy $ _POST).
getRequestParam () módszerre van szükség származtatására paramétert a kérést. Azt teszi, további ellenőrzést a létezését egy sor gomb és vissza null. ha a kérelem nem tartalmazza a releváns adatokat.
setResponse () funkció használható, hogy létrehoz egy választ. setFieldError () metódus szükséges átviteli hiba üzenet formájában területen.
Hogy visszatérjen a válasz, hogy a felhasználó az általunk használt showResponse módszer. Ez létrehoz egy sor JSON formátumú, beállítja a kívánt HTTP-fejléceket, és visszaadja az adatokat az ügyfélnek.
A ajax.php fájlban történhet közvetlenül a lekérdezés feldolgozása AjaxRequest osztályban.
Format JSON-válasz
A kliens oldalon, akkor képesnek kell lennie arra, hogy bemutassák a művelet eredménye egy ember által olvasható formában. Ehhez térjünk vissza JSON-válasz a következő formában:
Hozza létre a fájlt js / ajax-form.js. Ő küld az esemény elfogására minden formáját AJAX osztály és küldjön egy aszinkron kérést a szerver. A forráskód ajax-form.js.
A forgatókönyvet kell jQuery 2.0.3 (az archívumban a forrás).
Ezek visszahívások hivatkoztak csak akkor, ha az érvényesítés válasz sikeres. script.ajaxForm.validate eljárás ellenőrzi a válasz a mező nevét egy hiba. Ha egy ilyen mező létezik, podstvechivaet, és megjelenik a szöveg a hiba.

UPDATE: Javított hibák kapcsolatos kivonatolt jelszót, rendes körülmények között elért funkció „Emlékezz rám”. Köszönöm a felhasználó santas156 hibákat találtak.
Értékelés - 4.9 Szavazatok - 27