⊗ppPmAuRgtD 434 of 447 menu

Normalizacija baze podatkov

Trenutno shranjujemo statuse naših uporabnikov v isti tabeli kot same uporabnike. To pa ni pravilno - dobimo nenormalizirano tabelo, saj se besedi 'user' in 'admin' ponavljata večkrat.

Potrebno je izvesti normalizacijo - prestavimo naše statue v ločeno tabelo statuses:

id name
1 user
2 admin

V tabeli users pa naredimo stolpec status_id. Zdaj bomo med registracijo v stolpec status_id zapisali id statusa iz tabele statuses:

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

Najbolj zapletene spremembe se bodo zgodile pri avtorizaciji: da bi dobili status uporabnika, bo treba izvesti LEFT JOIN:

<?php $login = $_POST['login']; // Dobimo uporabnika po prijavnem imenu in pridružimo status: $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']; // status } else { } } else { } ?>

Predelajte vašo avtorizacijo in registracijo v skladu z opisanim v teoriji.

Vnesite spremembe v delovanje skrbniške plošče (prikaz statusov uporabnikov, spreminjanje statusov in tako naprej).

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni