Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php+mysql] Autoruzacja, dostęp do zasobów www
pioch
post 5.04.2007, 19:05:32
Post #1





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 30.11.2006

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


Witam


Chciałem rozszezyc skrypt logowania o sprawdzanie dostępu ( tzn poziom użytkownika ) a więc :


sprawdzam czy jest zalogowany

  1. <?php
  2.  
  3.  
  4. if ($_SESSION["zalogowany"]=="tak") {
  5.  
  6. // user zalogowany
  7.  
  8. } else {
  9.  
  10. //niezalogowany
  11.  
  12. }
  13.  
  14. ?>


w bazie danych dodałem jeszcze jedna kolumne grupa ( user, admin ) i teraz pytanko :

i jak zrobić bu zalogowany user oraz admin miał inne opcje ( widział inna zawortość strony ) questionmark.gif
Go to the top of the page
+Quote Post
webdice
post 5.04.2007, 19:08:37
Post #2


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Możesz np przypisać do zmiennej sesyjnej poziom użytkownika i na tej zasadzie wyświetlać treść dla danej grupy.
Go to the top of the page
+Quote Post
pioch
post 5.04.2007, 19:15:22
Post #3





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 30.11.2006

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


Cytat(webdicepl @ 5.04.2007, 20:08:37 ) *
Możesz np przypisać do zmiennej sesyjnej poziom użytkownika i na tej zasadzie wyświetlać treść dla danej grupy.



no własnie nie wiem jak questionmark.gif

możesz podać przykład
Go to the top of the page
+Quote Post
kriqs
post 5.04.2007, 19:45:00
Post #4





Grupa: Zarejestrowani
Postów: 148
Pomógł: 0
Dołączył: 31.05.2006

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


jak sie juz zaloguje to wczytujesz mu prawa:
  1. <?php
  2. np:
  3. $_SESSION["prawa"] = 'user';
  4. ?>


a potem
ify i jedziesz ale to juz jest zalatwe smile.gif

dziekuje


--------------------
Pozdrawiam
kriqs

mam nadzieje ze pomoglem :)
Go to the top of the page
+Quote Post
pioch
post 5.04.2007, 19:50:51
Post #5





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 30.11.2006

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


no tak ale taka petla mi nie działa nie wiem czemu, wyswietla mi sie zawsze


  1. <?php
  2. if ($_SESSION['grupa'] != 'administrator' ){
  3.  
  4. echo " <a href="adm/index.php">Panel Administracyjny</a> ";
  5.  
  6. }
  7. else
  8. {
  9. echo " ";
  10. }
  11. ?>
Go to the top of the page
+Quote Post
strife
post 5.04.2007, 21:40:23
Post #6





Grupa: Przyjaciele php.pl
Postów: 2 605
Pomógł: 96
Dołączył: 22.10.2004
Skąd: UK

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


Cytat(pioch @ 5.04.2007, 20:50:51 ) *
no tak ale taka petla mi nie działa nie wiem czemu, wyswietla mi sie zawsze
  1. <?php
  2. if ($_SESSION['grupa'] != 'administrator' ){
  3.  
  4. echo " <a href="adm/index.php">Panel Administracyjny</a> ";
  5.  
  6. }
  7. else
  8. {
  9. echo " ";
  10. }
  11. ?>


A masz session_start" title="Zobacz w manualu PHP" target="_manual na początku tego powyższego skryptu, który zamieściłeś? Dodatkowo, żeby się w nieskończoność nie powtarzać, przeczytaj ten temat może do czegoś dojdziesz winksmiley.jpg :

» System logowania i sesje


--------------------
Go to the top of the page
+Quote Post
pioch
post 5.04.2007, 22:19:52
Post #7





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 30.11.2006

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


Oczywiście ze mam session_start na poczatku każdej strony


Wątek prześledziłem i poprawiłem małe błedy które miałem w logowaniu... ale na moje pytania brak odpowiedzi....


Nie potrafie sprawdzać stopnia ( dostepnosci ) aby userowi i adminowi wyświetlała sie rózna zawartość ...


Chciałbym zablokowac tym niekótre fukncje które moze widzieć admin smile.gif)
Go to the top of the page
+Quote Post
erix
post 5.04.2007, 22:53:31
Post #8





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




Zaraz, panel ma być widoczny dla admina czy innych?
Bo jeśli tylko dla admina, to pomyliłeś ifa, dokładniej: !=.

Przejrzyj sobie operatory w manualu. winksmiley.jpg


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

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
webdice
post 5.04.2007, 23:10:35
Post #9


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Pisane z palca i na szybko, żeby przedstawić Ci idee problemu:

Kod
MySQL: tabela users

id, name, password, level


  1. <?php
  2. $query = mysql_query ("SELECT * FROM `users` WHERE `id` = '1'");
  3.  
  4. while ($row = mysql_fetch_assoc ($query))
  5. {
  6. if ($row['level'] == 'admin')
  7. {
  8. $_SESSION['level'] = 'admin';
  9. }
  10. else
  11. {
  12. $_SESSION['level'] = 'user';
  13. }
  14. }
  15. ?>


Oczywiście pomijam rozpoczynanie sesji, łączenie się z bazą, sprawdzanie poprawności hasła itp. Mam nadzieje że już wiesz mniej więcej o co w tym chodzi, jeśli nie, pytaj.

P.S. Zróbcie coś z tymi slashami przed cudzysłowami, bo jest to strasznie denerwujące. Zauważyłem że błąd wyskakuje przy stosowaniu "szybkiej edycji".

Pozdrawiam Piotrek

Ten post edytował webdicepl 5.04.2007, 23:15:40
Go to the top of the page
+Quote Post
pioch
post 6.04.2007, 14:43:57
Post #10





Grupa: Zarejestrowani
Postów: 251
Pomógł: 0
Dołączył: 30.11.2006

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


Dzieki Imienniku tongue.gif


A masz jeszcze takie pytanie , jak połaczyć cześć wspólną za pomocą sesji by daną cześć strony widział i user i administrator questionmark.gif?

Za pomocą AND nie działa :/


próbowalem dać tak

if ($_SESSION['grupa'] == 'administrator' AND $_SESSION['grupa'] == 'user' )
Go to the top of the page
+Quote Post
webdice
post 6.04.2007, 17:41:14
Post #11


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




Jak coś to OR (||), możesz także zrobić tak że dane których nie chcesz pokazywać zwykłemu użytkownikowi wrzucasz do instrukcji

  1. <?php
  2. if ($_SESSION['level'] == 'admin')
  3. {
  4. // treść tylko dla adminisratora
  5. }
  6. ?>


Pozdrawiam.

Ten post edytował webdicepl 6.04.2007, 17:42:48
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: 14.08.2025 - 07:54