Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Logowanie z uprawnianiami
Forum PHP.pl > Forum > Przedszkole
Focuss
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ć
john_doe
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
Focuss
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.