Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] Sesje i Zarządzanie Administratora ?!
Forum PHP.pl > Forum > Przedszkole
Kamil666
Napisałem prosty skrypt dla administratorów. Posiada on opcje czy administrator może wejść na daną stronę czy nie.
W bazie przy tworzeniu użytkownika jest albo 0 albo 1 przy danym dziale, co znaczy 0 że nie może wejść na tą stronę - 1 może.
Mam problem z sesjami, ponieważ nie umiem rozgraniczyć danych użytkowników, tzn. jeśli zaloguje się jeden użytkownik i w tym samym czasie drugi to ten drugi i/lub pierwszy oddziałowywują na siebie wzajemnie. Przypuszczam że muszę użyć identyfikatora sesji ale nie wiem dokładnie jak to zrobić może mi ktoś poradzić?. Poniżej przedstawiam kod.

Strona index.php w Adminie
  1. <?php
  2.  
  3. include ("../db.php");
  4.  
  5. // Jeśli osoba się zaloguje pokaże górny pasek dla administratora
  6. if ($_SESSION['autorize'] == 'Tak')
  7. {
  8. include ("header.php");
  9. }
  10. // Jeśli wpisano login i hasło i potwierdzono przyciskiem ok wykonuj dalej
  11. if (($_POST['Login'] != '') && ($_POST['Password'] != '') && ($_POST['Ok'] == 'Przeslij'))
  12.  {
  13. $Login = $_POST['Login'];
  14. $Password = $_POST['Password'];
  15. }
  16. // Jeśli wypełniono pola formularza rozpocznij pętle wyszukania użytkownika
  17. if ((isset($Login)) && (isset($Password)))
  18.  {
  19. $Autoryzacja = mysql_query('SELECT * FROM autoryzacja');
  20. while($Autorize = mysql_fetch_array($Autoryzacja))
  21.  {
  22. // Jeśli znaleziono użytkownika zobacz jakie ma ID i wybierz dla niego odpowiednie
     wartości
  23. if (($Autorize['login'] == $Login) && ($Autorize['password'] == $Password) && ($Autorize['id'] != ''))
  24.  {
  25. $Uzytkownik = mysql_query("SELECT * FROM autoryzacja WHERE id=$Autorize[id]");
  26. $Uzytkownik_ID = mysql_fetch_array($Uzytkownik);
  27. // Przypisywanie czy jest autoryzacja i do jakich działów ma dostęp
  28. $_SESSION['autorize'] = 'Tak';
  29. $_SESSION['onas'] = $Uzytkownik_ID['onas'];
  30. $_SESSION['ewydanie'] = $Uzytkownik_ID['ewydanie'];
  31. $_SESSION['reklama'] = $Uzytkownik_ID['reklama'];
  32. $_SESSION['prenumerata'] = $Uzytkownik_ID['prenumerata'];
  33. $_SESSION['kontakt'] = $Uzytkownik_ID['kontakt'];
  34. $_SESSION['wiadomosci'] = $Uzytkownik_ID['wiadomosci'];
  35. $_SESSION['wnumerze'] = $Uzytkownik_ID['wnumerze'];
  36. $_SESSION['ksiazkiidodatki'] = $Uzytkownik_ID['ksiazkiidodatki'];
  37. $_SESSION['pietnascielat'] = $Uzytkownik_ID['pietnascielat'];
  38. $_SESSION['dzienpolskiejfarmacji'] = $Uzytkownik_ID['dzienpolskiejfarmacji'];
  39. $_SESSION['szkolenia'] = $Uzytkownik_ID['szkolenia'];
  40. $_SESSION['redaktorpolecatekst'] = $Uzytkownik_ID['redaktorpolecatekst'];
  41. $_SESSION['redaktorpolecagrafika'] = $Uzytkownik_ID['redaktorpolecagrafika'];
  42. $_SESSION['olowkiem'] = $Uzytkownik_ID['olowkiem'];
  43. $_SESSION['obiektywem'] = $Uzytkownik_ID['obiektywem'];
  44. $_SESSION['adm_wiadprzewijane'] = $Uzytkownik_ID['adm_wiadprzewijane']; // !
  45. $_SESSION['adm_pozycjonowanie'] = $Uzytkownik_ID['adm_pozycjonowanie']; // !
  46. $_SESSION['adm_ustawienia'] = $Uzytkownik_ID['adm_ustawienia']; // !
  47. $_SESSION['adm_reklama'] = $Uzytkownik_ID['adm_reklama']; // !
  48.  }
  49. }
  50.  }
  51.  
  52. switch( $_REQUEST['edycja'] )
  53. {
  54. case "z_informacja":
  55. include ("z_informacja.php");
  56. break;
  57. case "w_przewijane":
  58. include ('w_przewijane.php');
  59. break;
  60. case "pozycja":
  61. include ('pozycja.php');
  62. break;
  63. case "ustawienia":
  64. include ('ustawienia.php');
  65. break;
  66. case "reklama":
  67. include ('reklama.php');
  68. break;
  69. case "info":
  70. include ('info.php');
  71. break;
  72. case "wyloguj":
  73. header("Location: index.php");
  74. }
  75.  
  76. <center>
  77.  
  78. <!-- Jeśli nie ma autoryzacji wyswietlaj formularz -->
  79.  
  80. <?php if ($_SESSION['autorize'] != 'Tak') { ?>
  81.  
  82. <form method="POST" action="">
  83. <a href="../index.php"><font face="Verdana" style="font-size: 9pt" color="#CC3300">Powrot do srony glownej</a></font><br>
  84. <br><font face="Verdana" style="font-size: 9pt" color="#CC3300">Login: <input type="text" name="Login" size="20"><br>
  85. Haslo: <input type="text" name="Password" size="20"><br>
  86. <input type="submit" value="Przeslij" name="Ok"><input type="reset" value="Resetuj" name="Reset"></font>
  87. </form>
  88.  
  89. <?php  } ?>
  90.  
  91. <!-- Tutaj już warunki, w przypadku niektórych czynności -->
  92. <?php if ($_SESSION['autorize'] != 'Tak') { ?>
  93.  
  94. <?php if (($Password == '') || ($Login == '') && ($_POST['Ok'] == 'Przeslij'))
  95.  {
  96. echo '<font face="Verdana" style="font-size: 9pt" color="#CC3300">Nic nie wpisano, prosze wpisac nazwe uzytkownika oraz haslo</font>';
  97.  }
  98.  
  99. if (($_SESSION['autorize'] == false) && ($Login != '') && ($Password != ''))
  100.  {
  101. echo '<font face="Verdana" style="font-size: 9pt" color="#CC3300">Podano zly login lub haslo</font>';
  102.  }
  103.  } ?>
  104.  
  105. <?php if (($_SESSION['autorize'] == 'Tak') && ($Password != '') && ($Login != '')) { echo '<META HTTP-EQUIV=Refresh CONTENT="0; URL=index.php">'; } ?>
  106. <!-- Tutaj już warunki, w przypadku niektórych czynności -->
  107. </center>
  108.  
  109. Następnie na kolejnych stronach dodałem odpowiednio dla konkretnych działów - tutaj np. dział reklama:
  110.  
  111. if (($_SESSION['adm_reklama'] == '0') || ($_SESSION['adm_reklama'] == ''))
  112. {
  113.  echo '<br><center><font face="Verdana" style="font-size: 9pt" color="#CC3300">Nie masz dostepu do tej strony, skontaktuj sie z administratorem</font></center>';
  114. }
  115.  
  116. if ($_SESSION['adm_reklama'] == '1')
  117. {
  118. echo 'Zawartosc strony.....';
  119. }
  120. ?>
Cysiaczek
Popraw proszę tytuł topiku na zgodny z zasadami forum Przedszkole
Kamil666
Przepraszam za tytuł smile.gif,
czy ktoś pomoże w tym temacie?
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.