Laba diena, draugai! Pažvelkime į vartotojo registraciją PHP. Pirmiausia apibrėžkime vartotojo registracijos sąlygas:

  • Slaptažodis užšifruotas naudojant MD5 algoritmą
  • Mes pasūdysime slaptažodį
  • Tikrinama, ar jūsų prisijungimas užimtas
  • Vartotojo aktyvinimas laišku.
  • Duomenų įrašymas ir saugojimas MySQL DBVS

Norėdami parašyti šį scenarijų, turime suprasti, kas yra vartotojo registracija. Vartotojo registracija reiškia duomenų gavimą tikras vartotojas, duomenų apdorojimas ir saugojimas.

Jei paaiškinsi paprastais žodžiais tada registracija yra tik tam tikrų duomenų įrašymas ir saugojimas, kuriais mes galime autorizuoti vartotoją mūsų atveju - tai yra prisijungimo vardas ir slaptažodis.

Įgaliojimas – tai teisių suteikimas tam tikram asmeniui ar asmenų grupei atlikti tam tikrus veiksmus, taip pat šių teisių patikrinimo procesas bandant atlikti šiuos veiksmus. Paprasčiau tariant, naudodamiesi įgaliojimu galime apriboti prieigą prie tam tikro mūsų svetainės turinio.

Pažvelkime į scenarijų katalogų struktūrą, skirtą mūsų registracijai su įgaliojimu įgyvendinti. Turime suskaidyti scenarijus į loginius komponentus. Registracijos ir autorizacijos modulius patalpinome į atskirą katalogą. Taip pat prisijungimą prie duomenų bazės patalpinsime į atskirus katalogus MySQL duomenys, failas su vartotojo funkcijomis, failas CSS stiliai ir mūsų HTML šablonas. Ši struktūra leidžia greitai naršyti scenarijuose. Įsivaizduokite, kad turite didelę svetainę su daugybe modulių ir pan. o jei nebus tvarkos tai tokioje netvarkoje bus labai sunku kazka rasti.

Kadangi visus duomenis saugosime MySQL DBVS, sukurkime nedidelę lentelę, kurioje saugosime registracijos duomenis.

Pirmiausia turite sukurti lentelę duomenų bazėje. Pavadinkime lentelę bez_reg, kur bez yra lentelės priešdėlis, o reg yra lentelės pavadinimas.

Lentelės struktūra: bez_reg -- -- Lentelės struktūra "bez_reg" -- KURTI LENTELĘ, JEI NĖRA "bez_reg" ("id" int(11) NOT NULL AUTO_INCREMENT, "login" varchar(200) NOT NULL, "pass" varchar( 32) NOT NULL, "salt" varchar(32) NOT NULL, "active_hex" varchar(32) NOT NULL, "status" int(1) NOT NULL, PRIMARY KEY ("id")) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; Dabar sukurkime pagrindinius tolesnio darbo scenarijus.

Failas INDEX.PHP

CONFIG.PHP failą