Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Prosty system uprawnień
Boshi
post 16.10.2014, 18:21:11
Post #1





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Ponownie ja, tym razem jednak mam pytanie dotyczące stworzenia prostego systemu uprawnień na zasadzie

loguje jako user = upr 1
loguje jako admin = upr 0

W bazie mam tabele user gdzie jest login, haslo, email, uprawnienia
dla admina upr to 0 a dla usera to 1 (na razie bardzo proste)

Za cholerę nie mogę tego wyegzekwować w php...

logowanie:
  1. // wyciagniecie danych login oraz haslo z bazy danych
  2. $logg=$conect->prepare("SELECT * FROM uzytkownicy WHERE login=:login && haslo=:password LIMIT1 ");
  3. $logg->bindValue(':login', $login, PDO::PARAM_STR);
  4. $logg->bindValue(':password', $password, PDO::PARAM_STR);
  5. $logg->execute();
  6.  
  7. // jezeli istnieja takie dane...
  8.  
  9.  
  10. if ($logg->fetch())
  11. {
  12. $_SESSION['login']=$login;
  13. $_SESSION['auth']=TRUE;
  14.  
  15. }


Próbowałem czegoś takiego
  1. if($logg['uprawnienia']==1) $_SESSION['uprawnienia']=1;
ale przy logowaniu dostaję białe tło, podejrzewam, że ma to związek z brakiem fetch, ale nie mam pojęcia jak to inaczej sprawdzić?
Go to the top of the page
+Quote Post
b4rt3kk
post 16.10.2014, 18:28:01
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Na początek bym proponował && zastąpić AND... A w drugiej kolejności po wykonaniu zapytania bym pobrał wyniki.


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
Boshi
post 16.10.2014, 19:03:45
Post #3





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Zastąpie && ->AND

Nie rozumiem tylko drugiej części twojego postu, albo rozumiem i nie do końca. Przecież ta linijka pobiera wyniki
  1. if ($logg->fetch())
- wiersze.

Jakaś wskazówka, może inna funkcja zamiast fetch?



Go to the top of the page
+Quote Post
mmmmmmm
post 16.10.2014, 19:19:35
Post #4





Grupa: Zarejestrowani
Postów: 1 421
Pomógł: 310
Dołączył: 18.04.2012

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


Oprócz bindValue musisz użyć bindColumn
Go to the top of the page
+Quote Post
Boshi
post 17.10.2014, 00:59:18
Post #5





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Czy chodziło o takie coś? Wydaje mi się, że działą.

  1.  
  2. // wyciagniecie danych login oraz haslo z bazy danych
  3. $logg=$conect->prepare("SELECT * FROM uzytkownicy WHERE login=:login AND haslo=:password ");
  4. $logg->bindValue(':login', $login, PDO::PARAM_STR);
  5. $logg->bindValue(':password', $password, PDO::PARAM_STR);
  6.  
  7. $logg->execute();
  8. $logg->bindColumn('uprawnienia', $uprawnienia);
  9. // jezeli istnieja takie dane...
  10.  
  11.  
  12.  
  13. if ($logg->fetch())
  14. {
  15.  
  16.  
  17. $_SESSION['uprawnienia']=$uprawnienia;
  18. $_SESSION['login']=$login;
  19. $_SESSION['auth']=TRUE;
  20.  
  21. }


index.php

  1. if (isset($_SESSION['auth'] ))
  2.  
  3. {
  4. echo 'zalogowany jako '. $_SESSION['login']."<br>";
  5. if ($_SESSION['uprawnienia']==0)
  6. {//administrator
  7. }
  8. else
  9. //user


Jeżeli o to, to od razu spytam, czy da się jakoś bardziej rozbudować ten system, np by user miał dostęp do wybranych materiałów. Slyszałem coś o prawach na łamach kodu binarnego.

Go to the top of the page
+Quote Post
nospor
post 17.10.2014, 05:24:34
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
Slyszałem coś o prawach na łamach kodu binarnego.

http://nospor.pl/opcje-dwuwartosciowe-przechowywanie.html


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

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Boshi
post 18.10.2014, 13:16:08
Post #7





Grupa: Zarejestrowani
Postów: 342
Pomógł: 15
Dołączył: 30.08.2011

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


Dzięki Nospor, świetny poradnik smile.gif
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: 1.07.2025 - 05:09