Witam. Chciałem zrobić aby tylko admin po zalogowaniu mógł wejść do strony admin2.php

w tabeli jest kolumna admin i jeżeli ktoś ma admina to 1, a jak nie to domyślnie 0.

Kod logowania (plik admin.php) przerobiłem tak żeby logowało tylko admina, ale teraz jak zabezpieczyć plik admin2.php
żeby sprawdzało czy jest administratorem. Zamieszczam kody:

admin.php
  1. <?php
  2.  
  3.  
  4. if (isset($_SESSION['user_id'])) {
  5. // Usunięcie zmiennych sesji przez wykasowanie elementów tablicy $_SESSION.
  6. $_SESSION = array();
  7.  
  8. // Usunięcie pliku cookie sesji przez ustawienie daty wygasania na godzinę (3600 sekund) wstecz.
  9. if (isset($_COOKIE[session_name()])) {
  10. setcookie(session_name(), '', time() - 3600);
  11. }
  12.  
  13. // Kończenie sesji.
  14. }
  15.  
  16. // Usunięcie plików cookie z identyfikatorem i nazwą użytkownika
  17. // przez ustawienie ich daty wygasania na godzinę wstecz (3600 sekund).
  18. setcookie('user_id', '', time() - 3600);
  19. setcookie('username', '', time() - 3600);
  20.  
  21. require_once('connectvars.php');
  22. require_once('startsession.php');
  23. // Rozpoczynanie sesji.
  24. // session_start();
  25.  
  26. // Usuwanie komunikatu o błędzie.
  27. $error_msg = "";
  28.  
  29. // Jeśli użytkownik nie jest zalogowany, należy spróbować go zalogować.
  30. if (!isset($_SESSION['user_id'])) {
  31. if (isset($_POST['submit'])) {
  32. // Łączenie się z bazą danych.
  33. $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
  34.  
  35. // Pobieranie danych logowania wpisanych przez użytkownika.
  36. $user_username = mysqli_real_escape_string($dbc, trim($_POST['username']));
  37. $user_password = mysqli_real_escape_string($dbc, trim($_POST['password']));
  38.  
  39. if (!empty($user_username) && !empty($user_password)) {
  40. // Wyszukiwanie nazwy użytkownika i hasła w bazie danych.
  41. $query = "SELECT user_id, username FROM mismatch_user WHERE username = '$user_username' AND password = SHA('$user_password') AND admin='1'";
  42. //$query = "SELECT user_id, username FROM mismatch_user WHERE username = '$user_username' AND password = '$user_password'";
  43. $data = mysqli_query($dbc, $query);
  44.  
  45. if (mysqli_num_rows($data) == 1) {
  46. // Dane logowania są poprawne, dlatego należy ustawić zmienne sesji z
  47. // identyfikatorem i nazwą użytkownika, a następnie przejść do strony głównej.
  48. $row = mysqli_fetch_array($data);
  49. $_SESSION['user_id'] = $row['user_id'];
  50. $_SESSION['username'] = $row['username'];
  51. setcookie('user_id', $row['user_id'], time() + (1)); // Wygasa za 30 dni.
  52. setcookie('username', $row['username'], time() + (1)); // Wygasa za 30 dni.
  53. $home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/admin2.php';
  54. header('Location: ' . $home_url);
  55. }
  56. else {
  57. // Para nazwa użytkownika - hasło jest nieprawidłowa, dlatego należy ustawić komunikat o błędzie.
  58. $error_msg = 'Nie masz praw administratora.';
  59. }
  60. }
  61. else {
  62. // Użytkownik nie podał pary nazwa - hasło, dlatego należy ustawić komunikat o błędzie.
  63. $error_msg = 'Musisz podać poprawną parę nazwa - hasło, aby się zalogować.';
  64. }
  65. }
  66. }
  67. ?>
  68.  
  69. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  70. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  71. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  72. <head>
  73. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  74. <title>Zgłaszanie usterek</title>
  75. <link rel="stylesheet" type="text/css" href="style.css" />
  76. </head>
  77. <body>
  78. <h3>Panel administracyjny - Logowanie</h3>
  79.  
  80. <?php
  81. // Jeśli zmienna sesji jest pusta, skrypt wyświetla komunikat o błędzie i formularz
  82. // logowania. W przeciwnym razie informuje o udanym zalogowaniu użytkownika.
  83. if (empty($_SESSION['user_id'])) {
  84. echo '<p class="error">' . $error_msg . '</p>';
  85. ?>
  86.  
  87. <form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
  88. <fieldset>
  89. <legend>Logowanie</legend>
  90. <label for="username">Nazwa użytkownika:</label>
  91. <input type="text" name="username" value="<?php if (!empty($user_username)) echo $user_username; ?>" /><br />
  92. <label for="password">Hasło:</label>
  93. <input type="password" name="password" />
  94. </fieldset>
  95. <input type="submit" value="Zaloguj" name="submit" />
  96. </form>
  97.  
  98. <?php
  99. }
  100. else {
  101. // Potwierdzenie udanego zalogowania.
  102. echo('<p class="login">Zalogowany użytkownik: ' . $_SESSION['username'] . '.</p>');
  103. }
  104. ?>
  105. <a href="wyloguj.php"><input type="button" value="Wyloguj" /></a>
  106. <br /><a href="admin.php"><h6>panel administracyjny</h6></a>
  107.  
  108. </body>
  109. </html>


oraz admin2.php
  1. <?php
  2.  
  3. require_once('startsession.php');
  4. require_once('connectvars.php');
  5.  
  6. if (!isset($_SESSION['user_id'])) {
  7. echo '<p class="login"><center><a href="admin.php">Administrator niezalogowany</a></p></center>';
  8. exit();
  9. }
  10.  
  11. mysql_connect("***", "***", "***")or die(mysql_error());
  12. ?>
  13. <html>
  14. <head>
  15. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  16. <title>Zgłaszanie usterek</title>
  17. </head>
  18. <body>
  19. <center>
  20. // Tu wiele linijek kodu do sortowania tabeli, nie trzeba czytać
  21. <form method="post">
  22. <strong>Sortuj według: </strong>
  23. <select name="select" id="select">
  24. <option>Nazwisko</option>
  25. <option>Temat</option>
  26. <option>Opis</option>
  27. <option>Priorytet</option>
  28. <option>Numer zgłoszenia</option>
  29. <option>Data</option>
  30. <option>Status</option>
  31. </select>
  32.  
  33. <input type="submit" value="Sortuj" name="submit" />
  34. <?php
  35. $select = $_POST['select'];
  36. $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY nr";
  37.  
  38. if ($select == "Nazwisko"){
  39. $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY nazwisko";
  40. }
  41. if ($select == "Temat"){
  42. $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY temat";
  43. }
  44. if ($select == "Opis"){
  45. $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY opis";
  46. }
  47. if ($select == "Priorytet"){
  48. $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY priorytet";
  49. }
  50. if ($select == "Numer zgłoszenia"){
  51. $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY nr";
  52. }
  53. if ($select == "Data"){
  54. $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY data";
  55. }
  56. if ($select == "Status"){
  57. $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY status";
  58. }
  59. // koniec tych sortowania
  60. $ok = mysql_query($wywolanie);
  61.  
  62.  
  63. echo '<table border="1">';
  64. echo '<tr><td><strong>Nazwisko</strong></td><td><strong>Temat</strong></td><td><strong>Opis</strong></td><td><strong>Priorytet</strong></td><td><strong>Numer złoszenia</strong></td><td><strong>Data</strong></td><td><strong>Status</strong></td></tr>';
  65.  
  66. while($pokaz = mysql_fetch_array($ok)) {
  67.  
  68. echo '<tr>';
  69. echo '<td>' . $pokaz['nazwisko'] . '</td>' . '<td>' . $pokaz['temat'] . '</td><td>' . $pokaz['opis'] . '</td><td>' . $pokaz['priorytet'] . '</td><td>' . $pokaz['nr'] . '</td><td>' . $pokaz['data'] . '<td>' . $pokaz['status'] . '</td>';
  70.  
  71. echo '</tr>';
  72. }
  73. echo '</table>';
  74.  
  75. ?>
  76. <p /><br /><br /><p />
  77. <table>
  78. <tr><td>
  79. <center><strong>Kasowanie zgłoszeń:</strong></center>
  80. </td></tr>
  81. <tr><td>
  82. <form name="kasowanie" method="post">
  83. Numer zgłoszenia: <input name="nr" type="text" style="width: 30px"/>
  84. <input name="submit" type="submit" value="Kasuj" /></form>
  85. </td></tr></table>
  86. <?php
  87. if(isset($_POST['submit']) && $_POST['submit'] == 'Kasuj'){
  88. $nr = $_POST['nr'];
  89. $kasowanie = "DELETE FROM zgloszenia WHERE nr ='".$nr."'";
  90. $result = mysql_query($kasowanie);
  91. $home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/amdin2.php';
  92. header('Location: ' . $home_url);
  93. }
  94. ?>
  95. <p /><br /><br /><p />
  96. <table>
  97. <tr><td>
  98. <center><strong>Zamykanie zgłoszeń:</strong></center>
  99. </td></tr>
  100. <tr><td>
  101. <form name="zamykanie" method="post">
  102. Numer zgłoszenia: <input name="nr" type="text" style="width: 30px"/>
  103. <input name="submit" type="submit" value="Zamknij" /></form>
  104. </td></tr></table>
  105. <?php
  106. if(isset($_POST['submit']) && $_POST['submit'] == 'Zamknij'){
  107. //$status = $_POST['status'];
  108. $nr = $_POST['nr'];
  109. $zamykanie = "UPDATE zgloszenia SET status = '".'Zamknięte'."' WHERE nr ='".$nr."'";
  110. $result = mysql_query($zamykanie);
  111. $home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . '/amdin2.php';
  112. header('Location: ' . $home_url);
  113. }
  114. ?>
  115. <p /> <a href="wyloguj.php"><input type="button" value="Wyloguj" /></a>
  116. <br /><a href="admin.php"><h6>panel administracyjny</h6></a>
  117. </center>
  118. </body>
  119. </html>