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
<?php // Usunięcie zmiennych sesji przez wykasowanie elementów tablicy $_SESSION. // Usunięcie pliku cookie sesji przez ustawienie daty wygasania na godzinę (3600 sekund) wstecz. } // Kończenie sesji. } // Usunięcie plików cookie z identyfikatorem i nazwą użytkownika // przez ustawienie ich daty wygasania na godzinę wstecz (3600 sekund). require_once('connectvars.php'); require_once('startsession.php'); // Rozpoczynanie sesji. // session_start(); // Usuwanie komunikatu o błędzie. $error_msg = ""; // Jeśli użytkownik nie jest zalogowany, należy spróbować go zalogować. // Łączenie się z bazą danych. $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME); // Pobieranie danych logowania wpisanych przez użytkownika. // Wyszukiwanie nazwy użytkownika i hasła w bazie danych. $query = "SELECT user_id, username FROM mismatch_user WHERE username = '$user_username' AND password = SHA('$user_password') AND admin='1'"; //$query = "SELECT user_id, username FROM mismatch_user WHERE username = '$user_username' AND password = '$user_password'"; $data = mysqli_query($dbc, $query); if (mysqli_num_rows($data) == 1) { // Dane logowania są poprawne, dlatego należy ustawić zmienne sesji z // identyfikatorem i nazwą użytkownika, a następnie przejść do strony głównej. $row = mysqli_fetch_array($data); $_SESSION['user_id'] = $row['user_id']; $_SESSION['username'] = $row['username']; } else { // Para nazwa użytkownika - hasło jest nieprawidłowa, dlatego należy ustawić komunikat o błędzie. $error_msg = 'Nie masz praw administratora.'; } } else { // Użytkownik nie podał pary nazwa - hasło, dlatego należy ustawić komunikat o błędzie. $error_msg = 'Musisz podać poprawną parę nazwa - hasło, aby się zalogować.'; } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" /> <title>Zgłaszanie usterek</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <h3>Panel administracyjny - Logowanie</h3> <?php // Jeśli zmienna sesji jest pusta, skrypt wyświetla komunikat o błędzie i formularz // logowania. W przeciwnym razie informuje o udanym zalogowaniu użytkownika. ?> <fieldset> <legend>Logowanie</legend> <label for="username">Nazwa użytkownika:</label> <label for="password">Hasło:</label> <input type="password" name="password" /> </fieldset> <input type="submit" value="Zaloguj" name="submit" /> </form> <?php } else { // Potwierdzenie udanego zalogowania. } ?> <a href="wyloguj.php"><input type="button" value="Wyloguj" /></a> <br /><a href="admin.php"><h6>panel administracyjny</h6></a> </body> </html>
oraz admin2.php
<?php require_once('startsession.php'); require_once('connectvars.php'); } ?> <html> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" /> <title>Zgłaszanie usterek</title> </head> <body> <center> // Tu wiele linijek kodu do sortowania tabeli, nie trzeba czytać <form method="post"> <strong>Sortuj według: </strong> <select name="select" id="select"> <option>Nazwisko</option> <option>Temat</option> <option>Opis</option> <option>Priorytet</option> <option>Numer zgłoszenia</option> <option>Data</option> <option>Status</option> </select> <input type="submit" value="Sortuj" name="submit" /> <?php $select = $_POST['select']; $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY nr"; if ($select == "Nazwisko"){ $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY nazwisko"; } if ($select == "Temat"){ $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY temat"; } if ($select == "Opis"){ $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY opis"; } if ($select == "Priorytet"){ $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY priorytet"; } if ($select == "Numer zgłoszenia"){ $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY nr"; } if ($select == "Data"){ $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY data"; } if ($select == "Status"){ $wywolanie = "SELECT nazwisko, temat, opis, priorytet, nr, data, status FROM zgloszenia ORDER BY status"; } // koniec tych sortowania 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>'; 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>'; } ?> <p /><br /><br /><p /> <table> <tr><td> <center><strong>Kasowanie zgłoszeń:</strong></center> </td></tr> <tr><td> <form name="kasowanie" method="post"> Numer zgłoszenia: <input name="nr" type="text" style="width: 30px"/> <input name="submit" type="submit" value="Kasuj" /></form> </td></tr></table> <?php $nr = $_POST['nr']; $kasowanie = "DELETE FROM zgloszenia WHERE nr ='".$nr."'"; } ?> <p /><br /><br /><p /> <table> <tr><td> <center><strong>Zamykanie zgłoszeń:</strong></center> </td></tr> <tr><td> <form name="zamykanie" method="post"> Numer zgłoszenia: <input name="nr" type="text" style="width: 30px"/> <input name="submit" type="submit" value="Zamknij" /></form> </td></tr></table> <?php //$status = $_POST['status']; $nr = $_POST['nr']; $zamykanie = "UPDATE zgloszenia SET status = '".'Zamknięte'."' WHERE nr ='".$nr."'"; } ?> <p /> <a href="wyloguj.php"><input type="button" value="Wyloguj" /></a> <br /><a href="admin.php"><h6>panel administracyjny</h6></a> </center> </body> </html>