⊗ppPmAuRgtD 434 of 447 menu

Տվյալների բազայի նորմալացում

Այժմ մենք պահում ենք մեր օգտատերերի կարգավիճակները նույն աղյուսակում, որտեղ և ինքները՝ օգտատերերը: Սա, սակայն, սխալ է. մենք ստանում ենք ոչ նորմալացված աղյուսակ, քանի որ 'user' և 'admin' բառերը կրկնվում են բազմիցս:

Անհրաժեշտ է կատարել նորմալացում. մենք կհանենք մեր կարգավիճակները առանձին աղյուսակի մեջ statuses:

id name
1 user
2 admin

Իսկ users աղյուսակում մենք կստեղծենք status_id սյունակ: Այժմ գրանցման ժամանակ մենք status_id սյունակում կգրենք id կարգավիճակը statuses աղյուսակից:

<?php $query = "INSERT INTO users SET login='$login', password='$password', status_id='1'"; ?>

Ամենաբարդ փոփոխությունները տեղի կունենան լրացուցիչ տվյալների ժամանակ. Օգտատիրոջ կարգավիճակը ստանալու համար, անհրաժեշտ կլինի կատարել LEFT JOIN:

<?php $login = $_POST['login']; // Ստանում ենք օգտատիրոջը լոգինի միջոցով և միացնում ենք կարգավիճակը. $query = "SELECT users.*, statuses.name as status FROM users LEFT JOIN statuses ON users.status_id=statuses.id WHERE login='$login'"; $res = mysqli_query($link, $query); $user = mysqli_fetch_assoc($res); if (!empty($user)) { $hash = $user['password']; if (password_verify($_POST['password'], $hash)) { $_SESSION['auth'] = true; $_SESSION['status'] = $user['status']; // կարգավիճակ } else { } } else { } ?>

Վերափոխեք ձեր լրացուցիչ տվյալների և գրանցման համակարգը համաձայն տեսության մեջ նկարագրվածի:

Կատարեք փոփոխություններ ադմինիստրատիվ պանելի աշխատանքում (օգտատերերի կարգավիճակների ցուցադրում, կարգավիճակների փոփոխություն և այլն):

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել