Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SQL] Tworzenie bazy...
krzywy36
post
Post #1





Grupa: Zarejestrowani
Postów: 370
Pomógł: 43
Dołączył: 1.12.2007
Skąd: Kędzierzyn Koźle

Ostrzeżenie: (0%)
-----


Robię sobie takiego cms'a na swoje potrzeby, i zastanawiam się jak do bazy wtsawić prawa userów... (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
Załóżmy, jakiś user się loguje i admin może ustawić dla niego prawa np.: dodawanie newsów, dodawanie atrykułów itd.
wiadomo o co chodzi.
Teraz mam problem jak to powstawiać myślałem żeby w tabeli users powstawiać pola praw np. edit_news i przypisywać im wartości 1 gdy może i 0 gdy nie może, ale co jeśli tych praw będzie dużo?? (IMG:http://forum.php.pl/style_emoticons/default/worriedsmiley.gif)
To mój pierwszy projekt z wykorzystaniem bazy danych dlatego chciałem się was poradzić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował krzywy36 26.03.2008, 23:15:51
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
artega
post
Post #2





Grupa: Zarejestrowani
Postów: 174
Pomógł: 42
Dołączył: 22.07.2007
Skąd: /dev/random

Ostrzeżenie: (0%)
-----


Cytat
ale co jeśli tych praw będzie dużo?

W czym to przeszkadza?
Jeżeli zależy Ci na tym by do uprawnień używać tylko jednego pola danych to możesz zastosować iloczyn bitowy
  1. <?php
  2.  
  3. define('READ_PERM', 1);
  4. define('WRITE_PERM', 2);
  5. define('UPLOAD_PERM', 4);
  6. define('ADMIN_PERM', 8);
  7.  
  8. $user_perms = READ_PERM | WRITE_PERM;
  9.  
  10. if ($user_perms & READ_PERM)
  11. {
  12. echo "user can read";
  13. }
  14.  
  15. if ($user_perms & WRITE_PERM)
  16. {
  17. echo "user can write";
  18. }
  19.  
  20. if ($user_perms & UPLOAD_PERM)
  21. {
  22. echo "user can upload";
  23. }
  24.  
  25. if ($user_perms & ADMIN_PERM)
  26. {
  27. echo "user is admin";
  28. }
  29.  
  30. ?>

A sume bitową zapisujesz np. do bazy danych.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 02:25