Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Logowanie z uprawnianiami, Proszę o pomoc jak stworzyć logowanie z uprawnianiami wejścia
Focuss
post 6.01.2012, 13:05:26
Post #1





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 27.12.2010

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


Witam
Mam taki problem. Posiadam prosty panel administracyjny z logowaniem które wykonałem zgodnie z instrukcją ze strony http://webmade.org/porady/sesje-php-system-logowania.php . Wszystko działa OK ale teraz mam konieczność przerobienia tego tak by że muszę mieć kilku użytkowników, ale każdy z nich będzie miał inne uprawnienia czyli jeden może wejśc na kilka podstron a kilka z nich będą dla niego zablokowane, a kolejny jeszcze na inne.

Zastanawiałem się czy nie najłatwiej do bazy mysql dodać komunmę "uprawniania" ale co dalej... proszę o pomoc, gdyż niestety nie wiem jak przerobić skrypt i jak się za to zabrać

tak wyglądają moje strony:

index.php
  1.  
  2. <?php
  3. session_register("zalogowany");
  4.  
  5. if(empty($_SESSION["zalogowany"]))$_SESSION["zalogowany"]=0;
  6. include"polacz.php";
  7. function ShowLogin($komunikat=""){
  8. echo "<br><br><img src=\"images/logo_gl.png\" border=\"0\" style=\"border-color: white\" width=\"300\" height=\"150\" />";
  9. echo "<br><br><b>Logowanie do panelu administracyjnego</b><br>";
  10. echo "$komunikat<br>";
  11. echo "<form action='index.php' method=post>";
  12. echo "Login: <input type=text name=login><br>";
  13. echo "Hasło: <input type=password name=haslo><br>";
  14. echo "<input type=submit value='Zaloguj'>";
  15. echo "</form>";
  16. }
  17. ?>
  18. <!DOCTYPE html
  19. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  20. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  21. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  22. <head>
  23. <title>PANEL ADMINISTRACYJNY</title>
  24. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  25. <link rel=stylesheet href="css/styl.css" Type="text/css">
  26. </head>
  27. <body">
  28. <center>
  29. <?php
  30. if($_GET["wyloguj"]=="tak"){$_SESSION["zalogowany"]=0;echo "Zostałeś wylogowany z serwisu";}
  31. if($_SESSION["zalogowany"]!=1){
  32. if(!empty($_POST["login"]) && !empty($_POST["haslo"])){
  33. if(mysql_num_rows(mysql_query("select * from users where user_login = '".htmlspecialchars($_POST["login"])."' AND user_haslo = '".htmlspecialchars($_POST["haslo"])."'"))){
  34. echo "<br><br><img src=\"images/logo_gl.png\" border=\"0\" style=\"border-color: white\" width=\"300\" height=\"150\" />";
  35. echo "<br><br><br><big>ZALOGOWANO POPRAWNIE W PANELU ADMINISTRACYJNYM</big>";
  36. print "<script>setTimeout('document.location = \"panel.php\"', 1);</script>";
  37. $_SESSION["zalogowany"]=1;
  38. }
  39. else echo ShowLogin("Podano nieprawidłowe dane !");
  40. }
  41. else ShowLogin();
  42. }
  43. else{
  44. ?>
  45. <br><br><img src="images/logo_gl.png" border="0" style="border-color: white" width="300" height="150"/>
  46. <br><br><br><a href="http://www. ............. .panel.php">Kliknij aby powrócić do Panelu administracyjnego</a>
  47. <br><br>albo <a href='index.php?wyloguj=tak'>WYLOGUJ SIĘ</a>
  48. <?php
  49. }
  50.  
  51. ?>
  52. </center>
  53. </body>
  54. </html>
  55. <?php mysql_close(); ?>
  56.  


plik check.php

  1.  
  2. <?php
  3. ?>
  4. <!DOCTYPE html
  5. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  6. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  7. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  8. <head>
  9. <title>PANEL ADMINISTRACYJNY</title>
  10. <LINK rel=stylesheet href=\"styl.css\" Type=\"text/css\">
  11.  
  12. </head>
  13. <body>
  14. <center>
  15. <br>
  16. <?php
  17. if($_SESSION["zalogowany"]==0){echo "<big>Aby mieć dostęp do Panelu administracyjnego należy się zalogować !</big><br><br><a href='http://www. ...... /index.php'><big>>> Zaloguj się <<</big></a></body></html>"; exit();}
  18. ?>
  19. </center>
  20.  



plik podstrony podstrona.php

  1.  
  2. <?php require("check.php"); ?>
  3. <html>
  4. <head>
  5. <title>PANEL ADMINISTRACYJNY</title>
  6. <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-2">
  7. <META NAME="Keywords" CONTENT="">
  8. <META NAME="Description" CONTENT="">
  9. <link rel=stylesheet href="css/styl.css" Type="text/css">
  10. <link rel="Stylesheet" type="text/css" href="css/menu.css" />
  11. <script type="text/javascript" src="js/menu.js"></script>
  12. </head>
  13. <body color="#ffffff" topmargin="0" leftmargin="0" rightmargin="0">
  14.  
  15. coś tu jet napisane
  16.  
  17. </body>
  18. </html>
  19.  



proszę o pomoc jak to zrobić

Ten post edytował Focuss 6.01.2012, 19:20:02
Go to the top of the page
+Quote Post
john_doe
post 6.01.2012, 13:41:47
Post #2





Grupa: Zarejestrowani
Postów: 873
Pomógł: 25
Dołączył: 24.07.2005

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


dodaj sobie tabele ról dla użytkowników albo dodaj kolumnę do Twojej istniejącej tabeli w stylu np. user_level

po zalogowaniu zapisz w sesji jaki level ma poprawnie zalogowany użytkownik i potem gdzie potrzebujesz sprawdzaj czy user o danym user_level ma coś widzieć czy nie

if user_level == 2
echo link


lub sprawdzaj czy dany user ma prawo do wyświetlenia całej strony, jeśli nie ma odpowiedni komunikat
Go to the top of the page
+Quote Post
Focuss
post 6.01.2012, 14:38:08
Post #3





Grupa: Zarejestrowani
Postów: 30
Pomógł: 0
Dołączył: 27.12.2010

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


sens rozumiem ale niestety nie wiem dalej jak to zrobic,

nie wiem niestety jak zapisac w sesji level oraz nie wiem jak to dalej upożądkować

czy np za pomocą if .... na kazdej z podstron czy raczej w nemu ustawic if... questionmark.gif

Proszę kolegi o pomoc, jestem początkujący...

mam dokładnie tak jak w przykłdzie który podełem czyli plik index.php plik check.php i plik panel.php który jest główną stroną po zalogowaniu i ta i każda kolejna najpierw sprawdza check.php

oki wydaje mi się już że sprawdzanie powinienem mieć chyba na każdej podstronie tylko nie wiem nadal gdzie i wktorym momencie wyciągnąć wartość uprawenien z bazy i jak ją zatrzymać by była zapisana na czas uzytkowania strony


OK, już wiem jak za pomocą sesji przekazywać sobie dalej informacje ale proszę o pomoc jak podczas logowania pobrać dane uprawniania do sesji

Ten post edytował Focuss 7.01.2012, 10:18:51
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:58