Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Dostęp do podstrony dla wybranych użytkowników
piwlak
post 27.11.2014, 14:10:19
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 27.11.2014

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


Witam! Mam mały problemik- dopiero zaczynam w php i mam takie pytanie. Mam w bazie danych w tabeli użytkownicy pole admin- jak wiadomo wartości 0 lub 1. Chciałbym zrobić tak, aby dostęp do konkretnej podstrony mieli tylko Ci użytkownicy, którzy mają w tabeli user właśnie wartości 1 w polu admin.

Moja podstrona logowania wygląda tak:
  1. <? session_start(); ?>
  2. <html>
  3. <head>
  4. <meta charset = "utf-8">
  5. <style type="text/css">
  6. h1{
  7. text-shadow: -4px 1px 3px black;
  8. font-size: 300%;
  9. font-family: "Gill Sans Ultra Bold";
  10.  
  11. margin-bottom: 50px;
  12. color: purple;
  13. -webkit-text-stroke: 1px black;
  14. }
  15. h2 {
  16. margin-left: auto;
  17. margin-right: auto;
  18. font-family: Times;
  19.  
  20.  
  21.  
  22. }
  23. body {
  24. background-image: url(tlo.jpeg);
  25. }
  26. th {
  27. font-size: 120%;
  28. background-color: #3B286B;
  29. color: #FDF7E7;
  30.  
  31.  
  32. }
  33. tr {
  34. background-color: #C7BEDB;
  35. }
  36. </style>
  37. </head>
  38. <?php
  39.  
  40. // polaczenie z mysql
  41. mysql_connect('127.0.0.1', 'user', 'haslo')
  42. or die('Nieudane połączenie z bazą danych...');
  43.  
  44. // wybor bazy danych
  45. or die('Nie udało się wybrać bazy danych...');
  46.  
  47. // naglowek
  48. echo '<h1>Logowanie</h1>';
  49.  
  50. // sprawdzamy czy user jest juz zalogowany
  51.  
  52. // if($_SESSION['logged'])
  53. if(isset($_SESSION['logged']))
  54. {
  55. if($_SESSION['logged'])
  56. echo 'Już jesteś zalogowany!';
  57. else
  58. {
  59. // tworzymy prosty formularz
  60. echo '<form action="login.php" method="POST">
  61. Nick: <br />
  62. <input type="text" name="nick"><br />
  63. Hasło: <br />
  64. <input type="password" name="pass"><br />
  65. <input type="submit" name="ok" value="Zaloguj">
  66. </form>';
  67. // jesli zostanie nacisniety przycisk "Zaloguj"
  68. if(isset($_POST['ok']))
  69. {
  70. $nick = trim($_POST['nick']);
  71. $pass = trim($_POST['pass']);
  72.  
  73. // sprawdzamy czy wszystkie dane zostaly podane
  74. if(empty($nick) || empty($pass)) echo '<h2>Uzupełnij wszystkie pola!</h2>';
  75.  
  76. // jesli tak...
  77. else
  78. {
  79. // filtrujemy dane
  80.  
  81. // kodujemy haslo
  82. $pass = md5($pass);
  83.  
  84. // sprawdzamy czy istnieje uzytkownik z takim loginem i haslem
  85. $result = mysql_query("SELECT * FROM users WHERE nick='$nick' AND pass='$pass'");
  86.  
  87. // jesli nie istnieje
  88. if(mysql_num_rows($result)==0) echo '<h2>Niestety podałeś niepoprawne dane!</h2>';
  89.  
  90. // jesli tak...
  91. else
  92. {
  93. // dodajemy wynik zapytania do tablicy
  94. $row = mysql_fetch_array($result);
  95.  
  96. // ustawianie sesji ze uzytkownik jest zalogowany
  97. $_SESSION['logged'] = true;
  98.  
  99. // dodawanie do sesji id uzytkownika, login oraz date rejestracji
  100. $_SESSION['id'] = $row['id'];
  101. $_SESSION['nick'] = $row['nick'];
  102. $_SESSION['data_rejestracji'] = $row['data_rejestracji'];
  103.  
  104. // wyswietlenie komunikatu oznaczajacego poprawne logowanie
  105. echo '<h2>Zostałeś poprawnie zalogowany! Możesz teraz przejść na <a href="index.php">strone główną</a></h2>';
  106. }
  107. }
  108. }
  109. }
  110. }
  111.  
  112. // rozlaczenie z baza danych
  113.  
  114. // koniec buforowania
  115. ?>
  116. </html>


Z góry dzięki za pomoc

Ten post edytował piwlak 27.11.2014, 14:12:33
Go to the top of the page
+Quote Post

Posty w temacie


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: 14.08.2025 - 07:12