skanuj0411 (3)

skanuj0411 (3)



428 PHP i MySQL dla każdego

♦    Userld — typu INTEGER, będąca kluczem obcym, określająca identyfikator użytkownika;

♦    Przywi 1 ej Id — typu INTEGER, będąca kluczem obcym, określająca identyfikator przywileju;

Obie kolumny będą tworzyły klucz podstawowy tabeli. Instrukcja CREATE TABLE zyska postać:

CREATE TABLE Użytkownicy Przywileje(

Userld INTEGER NOT NULL.

Przywilejld INTEGER NOT NULL,

PRIMARY KEY(UserId. Przywilejld)

Dodatkowo możemy wprowadzić do bazy więzy integralności ze względu na klucze obce. Czynność tę wykonamy za pomocą instrukcji:

ALTER TABLE Uzytkownicy_Przywileje AOD CONSTRAINT UzytkownicyFK FOREIGN KEY (Userld) REFERENCES Users(Id)

ALTER TABLE Użytkownicy Przywileje ADO CONSTRAINT PrzywilejeFK FOREIGN KEY (Przywilejld) REFERENCES Przywileje(Id)

Jeśli teraz chcielibyśmy nadać użytkownikowi o identyfikatorze 3 przywilej administratora (o identyfikatorze 1), musielibyśmy wprowadzić do tabeli Uzytkowni cy_Przywi 1 eje parę liczb 3. 1. Trzeba by więc wykonać instrukcję SQL w postaci:

INSERT INTO Uzytkownicy_Przywileje VALUES(3. 1)

Nasz system będzie działał w taki sposób, że po zalogowaniu na witrynie, o ile użytkownik będzie miał uprawnienia administracyjne (czyli przywilej o nazwie Admi ni -strator), na stronie głównej pojawi się odnośnik do skryptu zarządzającego kontami użytkowników (rysunek 16.1). Jak już wspomniano, system logowania będzie oparty na kodach powstałych w rozdziale 14. Będziemy jednak musieli dokonać niezbędnych modyfikacji, tak aby wprowadzić nową funkcjonalność. Skrypt logowania został przedstawiony na listingu 16.1. Zmianie uległa treść funkcji checkPass, która teraz dodatkowo musi sprawdzać, jakie przywileje przysługują logującemu się użytkownikowi.

0ik Edycja ffijdok Przejdź Zakia*i £jarz<;d2ia Pomoc

l\j3 ’ O ' £§7 '■'Jł 0) | U httpj/localhost/main.php ^ Rozpocznij przygód... i„j Aktualności U index.php

Jesteś załogowany jako: Administrator

Pamiętaj o wylogowaniu przed opuszczeniem strony!


Rysunek 16.1.

Po zalogowaniu użytkownika posiadającego przywilej administratora na stronie pojawił się dodatkowy odnośnik

Wylosowanie Zarządzanie kontami


Wyszukiwarka

Podobne podstrony:
13127 skanuj0456 (2) 474 PHP i MySQL dla każdego ♦    Id — typu INTEGER, będąca klucz
skanuj0327 (2) 342 PHP i MySQL dla każdego ♦    Id — typu INTEGER, przechowujące unik
skanuj0266 (3) 280 PHP i MySQL dla każdego ♦ DCL, język kontroli danych (ang. Data Control Language)
skanuj0211 (5) 224 PHP i MySQL dla każdego ♦    czas_życia — znacznik czasu Uniksa ok
skanuj0329 (2) 344 PHP i MySQL dla każdego ♦    Nr domu — typu VARCHAR, przechowującą
skanuj0400 (2) 416 PHP i MySQL dla każdeg: ♦    dataDo — zawierająca datę końcową, od
skanuj0425 442 PHP i MySQL dla każdego ♦    szukaj — oznaczająca, że mają zostać wysz
30784 skanuj0384 (2) 400 PHP i MySQL dla każdego ♦    BROWSER_NETSCAPE — o wartości 3
14224 skanuj0266 (3) 280 PHP i MySQL dla każdego ♦ DCL, język kontroli danych (ang. Data Control Lan
skanuj0110 (24) 122 PHP i MySQL dla każdego ♦    prev — Przesuwa wskaźnik tablic na p

więcej podobnych podstron