Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Tworzenie systemu podzielonego na zwykłych użykowników i administratora.
Gabrielx
post 1.07.2009, 16:35:00
Post #1





Grupa: Zarejestrowani
Postów: 157
Pomógł: 2
Dołączył: 24.03.2009

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


1.Jakie rozwiązanie proponujecie? Jak to należy napisać? Możecie pokazać coś z gotowców(lub jakiś artykuł)?
2. Pytanie z innej beczki. Jak napisać system w którym każda podstrona(MySQL) była generowana jako np. index.php?vsk391(należy użyć GET/POST?)?

Ten post edytował Gabrielx 1.07.2009, 16:35:28
Go to the top of the page
+Quote Post
erix
post 1.07.2009, 16:42:41
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




1: szukaj pod hasłem ACL. Tego jest w chorobę, wystarczy poszukać.
2: Zobacz, co ma tablica $_SERVER po wywołaniu takiego skryptu.

Niech tylko się ktoś z gotowcem wtryni... tongue.gif


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
Gabrielx
post 2.07.2009, 17:38:32
Post #3





Grupa: Zarejestrowani
Postów: 157
Pomógł: 2
Dołączył: 24.03.2009

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


Cytat(erix @ 1.07.2009, 17:42:41 ) *
1: szukaj pod hasłem ACL. Tego jest w chorobę, wystarczy poszukać.
2: Zobacz, co ma tablica $_SERVER po wywołaniu takiego skryptu.

Niech tylko się ktoś z gotowcem wtryni... tongue.gif


1. A są jakieś inne sposoby? Bo korzystając z ACL chyba trzeba skorzystać z biblioteki Zend. Czy ten sposób jest najbardziej optymalny/wydajny/przyszłościowy?
2. Za bardzo nie mogę znaleźć co i jak. Czy możecie mi podsunąć sposób na wykorzystanie tablicy $_SERVER? Gdzieś czytałem że można to zrobić za pomocą tablicy $_GET. Które rozwiązanie byłoby lepsze?

Ps. Przepraszam za moje dociekliwe pytania ale ucząc się PHP chcę mieć wszystko poukładane co i jak. Mam nadzieję że mnie zrozumiecie. smile.gif
Go to the top of the page
+Quote Post
Andaramuxo
post 2.07.2009, 17:41:23
Post #4





Grupa: Zarejestrowani
Postów: 150
Pomógł: 15
Dołączył: 18.03.2009

Ostrzeżenie: (10%)
X----


Zmienną GET możesz to zrobić poprzez funkcję switch, np. masz adres strona.pl?id=1 i dajesz w switchu, że jeżeli id jest równe 1 includujesz coś tam, jeżeli 2 to coś tam. Sam to robiłem kilka dni temu, nie wiem czy ten sposób jest dobry, ale działa. smile.gif

Ten post edytował Andaramuxo 2.07.2009, 17:43:14


--------------------
Go to the top of the page
+Quote Post
erix
post 2.07.2009, 17:42:40
Post #5





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Cytat
1. A są jakieś inne sposoby? Bo korzystając z ACL chyba trzeba skorzystać z biblioteki Zend. Czy ten sposób jest najbardziej optymalny/wydajny/przyszłościowy?

Nie tylko Zend... Implementację możesz napisać jedną funkcją, która wczyta odpowiednie dane z np. bazy i wszystko zwróci. Szukaj dalej ;]

A jeśli chodzi o przyszłość, to tak - coraz więcej aplikacji jest pisanych w oparciu o frameworki.

Cytat
2. Za bardzo nie mogę znaleźć co i jak. Czy możecie mi podsunąć sposób na wykorzystanie tablicy $_SERVER? Gdzieś czytałem że można to zrobić za pomocą tablicy $_GET. Które rozwiązanie byłoby lepsze?

To już zależy. Jeśli chcesz mieć w przyszłości kolejny parametr, to przy $_SERVER musiałbyś odpowiednio wszystko obrabiać, podczas gdy w $_GET odwołujesz się bezpośrednio po nazwie.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
MateuszS
post 2.07.2009, 17:45:02
Post #6





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Tabela w bazie 'typ_konta' - 0 to normal user 1 to admin mozna robic nieskonczenie wiele poziomow dostepu, potem w skrypcie tylko porownujesz

  1. <?php
  2. if($wynik['typ_konta']==1)
  3. {
  4. //panel admina
  5. }
  6. if($wynik['typ_konta']==0)
  7. {
  8. //panel usera
  9. }
  10. ?>


Ten post edytował MateuszScirka 2.07.2009, 17:45:39


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
erix
post 2.07.2009, 17:46:01
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




No tak, ale wówczas nie masz możliwości elastycznej regulacji uprawnień.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
MateuszS
post 2.07.2009, 17:47:12
Post #8





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


Ale mozna porobic odpowiednią tabele w ktorej by te uprawnienia byly. I ustawiac je w panelu admina.


--------------------
O! Zimniok :P
Go to the top of the page
+Quote Post
marian2299
post 3.07.2009, 00:07:24
Post #9





Grupa: Zarejestrowani
Postów: 272
Pomógł: 9
Dołączył: 6.06.2009

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


Prosty przykład, oczywiście sesja na początku itpe
  1. <?
  2. define('DB_HOST','mysql7.000webhost.com');
  3. define('DB_USER','a2607949_bellum'); //wpisz nazwę użytkownika bazy danych
  4. define('DB_PASS','UWAŻAJ BO DOSTANIESZ haha.gif'); //wpisz hasło dla tego użytkownika
  5. define('DB_DB','a2607949_bellum');
  6.  
  7. $connect = mysql_connect(DB_HOST, DB_USER, DB_PASS)
  8. or die('Nie udało połączyc się z bazą danych. '.mysql_error());
  9.  
  10. mysql_select_db(DB_DB,$connect)
  11. ?>
  12. <?
  13. $zapytanie = "SELECT `admin` FROM `users`";
  14. $czytoadmin = mysql_query($zapytanie);
  15. ?>
  16. <?php if($czytoadmin == 1): ?>
  17. STREFA ADMINA
  18. <?php else:?>
  19. <p> Nie masz tu czego szukać </p>
  20. <?php endif; ?>

Dzięki Andaramuxo, za znalezienie błędu.

Ten post edytował marian2299 3.07.2009, 00:16:05


--------------------
film edit student
Go to the top of the page
+Quote Post
Andaramuxo
post 3.07.2009, 00:11:02
Post #10





Grupa: Zarejestrowani
Postów: 150
Pomógł: 15
Dołączył: 18.03.2009

Ostrzeżenie: (10%)
X----


Cytat(marian2299 @ 3.07.2009, 01:07:24 ) *
Prosty przykład, oczywiście sesja na początku itpe
  1. <?php
  2. define('DB_HOST','mysql7.000webhost.com');
  3. define('DB_USER','a2607949_bellum'); //wpisz nazwę użytkownika bazy danych
  4. define('DB_PASS','UWAŻAJ BO DOSTANIESZ '); //wpisz hasło dla tego użytkownika
  5. define('DB_DB','a2607949_bellum');
  6.  
  7. $connect = mysql_connect(DB_HOST, DB_USER, DB_PASS)
  8. or die('Nie udało połączyc się z bazą danych. '.mysql_error());
  9.  
  10. mysql_select_db(DB_DB,$connect)
  11. ?>
  12. $zapytanie = \"SELECT `admin` FROM `users`\";
  13. $czytoadmin = mysql_query($zapytanie);
  14. ?>
  15.  
  16. STREFA ADMINA
  17.  
  18. Nie masz tu czego szukać

W roli ścisłości, chyba
Kod
<?php if($czytoadmin == 1): ?>


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 17:43