Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: logowanie
Forum PHP.pl > Forum > Przedszkole
dez17
Siemka moze cie mi pomoc z tym skryptem bo kapletnie nie czaje jak go przerobic no wiec skrypt wyglada tak:
  1. <?php
  2.  
  3. include("config.php");
  4.  
  5. session_register("status_uzyt");
  6.  
  7. echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">";
  8. echo "<html><head>";
  9. echo "<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />";
  10. echo "<meta http-equiv="content-language" content="pl">";
  11. echo "<title>Prosta strona ze skryptem logowania</title>";
  12. echo "<style>";
  13. echo "p {margin: 20px; background-color: #efefef;}";
  14. echo "</style>";
  15. echo "<body>";
  16.  
  17. function pokaz_okno_log()
  18. {
  19. echo "<p>";
  20. echo "<form name="logowanie" action="index.php" method="post">";
  21. echo "Login: <input type="text" name="login"><br>";
  22. echo "Hasło: <input type="password" name="haslo"><br>";
  23. echo "<input type="hidden" name="strona" value="sprawdz">";
  24. echo "<input type="submit" value="Zaloguj">";
  25. echo "</p>";
  26. }
  27.  
  28. // Na początku skryptu najlepiej jest sprawdzić czy zmienna nie zawiera
  29. // żadnych danych - jeżeli nie zawiera możemy nadać jej naszą wartość
  30. // zabraniającą dostępu do strony
  31. if(empty($_SESSION['status_uzyt']))
  32. {
  33. $_SESSION['status_uzyt'] = "0";
  34. }
  35.  
  36. // Pobieramy zmienną, która decyduje o tym, jaka strona jest wyświetlana
  37. if($HTTP_POST_VARS["strona"] == "")
  38. {
  39. $strona = $HTTP_GET_VARS["strona"];
  40. }
  41. else
  42. {
  43. $strona = $HTTP_POST_VARS["strona"];
  44. }
  45.  
  46. // Sprawdzamy zawartość zmiennej $strona i wywołujemy odpowiednią akcję skryptu
  47. if($strona == "")
  48. {
  49. // Zmiennna nie została ustawiona czyli skrypt został wywołany bez niej.
  50. // Wyświetlamy więc stronę główną z możliwością przejścia do strony ukrytej
  51. echo "<p>To jest strona główna serwisu. Istnieją jeszcze trzy strony, lecz są one prze
    znaczone wyłącznie dla zalogowanych użytkowników: <a href="
    index.php?strona=superadministrator">Superadministratora</a>, <a href="index.php?strona=administrator">Administratora</a> i <a href="index.php?strona=uzytkownik">Użytkownika</a>.</p>";
  52.  
  53. if($_SESSION['status_uzyt'] == 0)
  54. {
  55. pokaz_okno_log();
  56. }
  57. }
  58. elseif($strona == "zaloguj")
  59. {
  60. pokaz_okno_log();
  61. }
  62. elseif($strona == "sprawdz")
  63. {
  64. include("./uprawnienia.php");
  65.  
  66. for($i=0;$i<count($Uzytkownik);$i++)
  67. {
  68. $UzytkownikDane[$i] = explode("|", $Uzytkownik[$i]);
  69. }
  70.  
  71.  
  72. // W tym miejscu srpawdzamy czy użytkownik podał odpowiednie dane w formularzu
  73.  
  74. for($i=0;$i<count($Uzytkownik);$i++)
  75. {
  76. if($HTTP_POST_VARS["login"] == $UzytkownikDane[$i][0] && $HTTP_POST_VARS["haslo"] == $UzytkownikDane[$i][1])
  77. {
  78. $_SESSION['status_uzyt'] = $UzytkownikDane[$i][2];
  79. echo "<p>Gratuluję - zalogowałeś się na konto "";
  80. echo $UzytkownikDane[$i][0]."". Teraz możesz przejść do ";
  81.  
  82. if($_SESSION['status_uzyt'] == 3)
  83. {
  84. echo "<a href="index.php?strona=superadministrator">podstrony Superadministraotra</a> oraz do ";
  85. echo "<a href="index.php?strona=administrator">podstrony Administraotra</a>, a także do ";
  86. echo "<a href="index.php?strona=uzytkownik">podstrony Użytkownika</a> ";
  87. }
  88. elseif($_SESSION['status_uzyt'] == 2)
  89. {
  90. echo "<a href="index.php?strona=administrator">podstrony Administraotra</a> oraz do ";
  91. echo "<a href="index.php?strona=uzytkownik">podstrony Użytkownika</a> ";
  92. }
  93. elseif($_SESSION['status_uzyt'] == 1)
  94. {
  95. echo "<a href="index.php?strona=uzytkownik">podstrony Użytkownika</a> ";
  96. }
  97. }
  98.  
  99. }
  100.  
  101. if($_SESSION['status_uzyt'] == 0)
  102. {
  103. // Jeżeli użytkownik podał nieprawidłowe dane, wówczas ustalamy wartość zmiennej
  104. // na 0, wyświetlamy odpowiedni komunikat i pokazujemy okno do logowania
  105. $_SESSION['status_uzyt'] = 0;
  106.  
  107. echo "<p>Logowanie nieudane. Spróbuj jeszcze raz.</p>";
  108.  
  109. pokaz_okno_log();
  110.  
  111.  
  112. }
  113.  
  114. }
  115. elseif($strona == "wyloguj")
  116. {
  117. // W tym miejscu wylogowujemy użytkownika. Wystarczy zmienną "$status_uzyt" ustawić
  118. // na wartość 0 i pokazać odpowiedni komunikat
  119. $_SESSION['status_uzyt'] = 0;
  120. echo "<p>Zostałeś wylogowany. Aby przejść na stronę główną <a href="index.php">kliknij w tym miejscu</a>.</p>";
  121. }
  122. elseif($strona == "superadministrator")
  123. {
  124. // Strona dostępna tylko dla Superadministratora
  125. if($_SESSION['status_uzyt'] == 3)
  126. {
  127. echo "<p>Znajdujesz się na stronie dostępnej tylko dla Superadministratorów. <a href="index.php?strona=wyloguj">Możesz się wylogować.</a></p>";
  128. }
  129. else
  130. {
  131. echo "<p>Ta strona dostępna jest tylko dla zalogowanych użytkowników (Superadministratorów).</p>";
  132. pokaz_okno_log();
  133. }
  134. }
  135. elseif($strona == "administrator")
  136. {
  137. // Strona dostępna tylko dla administratora
  138. if($_SESSION['status_uzyt'] == 2 || $_SESSION['status_uzyt'] == 3)
  139. {
  140. echo "<p>Znajdujesz się na stronie dostępnej tylko dla Superadministratorów i Administ
    ratorów. <a href="
    index.php?strona=wyloguj">Możesz się wylogować.</a></p>";
  141. }
  142. else
  143. {
  144. echo "<p>Ta strona dostępna jest tylko dla zalogowanych użytkowników (Superadministratorów i Administratorów).</p>";
  145. pokaz_okno_log();
  146.  
  147. }
  148. }
  149. elseif($strona == "uzytkownik")
  150. {
  151. // Strona dostępna tylko dla Użytkownika
  152. if($_SESSION['status_uzyt'] == 1 || $_SESSION['status_uzyt'] == 2 || $_SESSION['status_uzyt'] == 3)
  153. {
  154. echo "<p>Znajdujesz się na stronie dostępnej tylko dla Superadministratorów, Administr
    atorów i zalogowanych Użytkowników. <a href="
    index.php?strona=wyloguj">Możesz się wylogować.</a></p>";
  155. }
  156. else
  157. {
  158. echo "<p>Ta strona dostępna jest tylko dla zalogowanych użytkowników.</p>";
  159. pokaz_okno_log();
  160. }
  161. }
  162.  
  163. echo "</body>";
  164. echo "</html>";
  165.  
  166. ?>
( http://phpfi.com/78905 )
w pliku uprawnienia.php są zapisane hasła loginy i poziomy uprawnień wygląda to tak
  1. <?php
  2. $uzytkownik[] = "superadmin|haslo|3";
  3. $uzytkownik[] = "admin|haslo|2";
  4. $uzytkownik[] = "user|haslo|1";
  5.  
  6. ?>
może mi ktoś tak prosze bardzo ale to bardzo was zrobić ,żeby hasło login poziom uprawnien pobieralo z bazy danych mysql przyczym polaczenie z baza jest na stalo w pliku config.php
Z góry wielkie dzieki
strife
Witam,

Ta część odpowiedzialna za pobieranie danych z mysql, zamiast tej tablicy...
  1. <?php
  2.  
  3. // ... łączenie z bazą 
  4. $zapytanie = mysql_query("SELECT * FROM uzytkownicy");
  5. while($row = mysql_fetch_array($zapytanie) )
  6. {
  7. $uzytkownik[] = $row['login'] . '|'. $row['haslo'] . '|' . $row['access'];
  8. }
  9.  
  10. ?>

Taki zarysik mały... dopasuj to do swojej bazy.

Pozdro!
dez17
Dzięki tylko ,że mam jeszcze jeden problem tongue.gif Sorka tongue.gif Ale niewiem jak to sensownie złożyć kto napisze swoją koncepcje tongue.gif Prosze i to bardzo. Pozdro
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.