Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL]Strona tylko dla admina
edwarpan
post
Post #1





Grupa: Zarejestrowani
Postów: 66
Pomógł: 0
Dołączył: 28.04.2010

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


Witam, mam rejestrację php+mysql, wszystkie konta mają takie same uprawnienia, jak zrobić aby do kilku stron miał dostęp tylko login 'admin' ?
Go to the top of the page
+Quote Post
kto$
post
Post #2





Grupa: Zarejestrowani
Postów: 33
Pomógł: 1
Dołączył: 9.05.2010

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


wg mnie powinno się to zawierac w klauzuli

if(isset($_SESSION['admin']))
{
wyswietl
}

Ten post edytował kto$ 9.05.2010, 14:59:07
Go to the top of the page
+Quote Post
kapuch
post
Post #3





Grupa: Zarejestrowani
Postów: 389
Pomógł: 69
Dołączył: 26.04.2010
Skąd: Łódź

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


Cytat(edwarpan @ 9.05.2010, 15:54:27 ) *
Witam, mam rejestrację php+mysql, wszystkie konta mają takie same uprawnienia, jak zrobić aby do kilku stron miał dostęp tylko login 'admin' ?

Np
  1. <?
  2. if ($_SESSION['login'] == 'admin')
  3. {
  4. strona
  5. }
  6. else
  7. {
  8. echo 'tylko dla admina';
  9. }
  10. ?>

Obejmujesz ta instrukcja cala strone, ktora chcesz tak zablokowac.

PS. Na wszelki wypadek mozna zrobic to tak:
  1. $login2=strtolower($_SESSION['login']);
  2. if ($login2 == "admin")
  3. { strona }
  4. else
  5. { zablokowane }

Zabezpieczy to przed roznica w wielkosci liter w loginie.

EDIT:
Kto$ mnie wyprzedzil (IMG:style_emoticons/default/smile.gif) Ah ten moj refleks (IMG:style_emoticons/default/winksmiley.jpg)

Ten post edytował kapuch 9.05.2010, 15:07:16
Go to the top of the page
+Quote Post
habazy
post
Post #4





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.11.2020

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


hej, zaczynam zabawę z php i potrzebuję pomocy odnośnie tego tematu posta.
chciałbym tak jak kolega aby na stronę panel_admin.php zalogował się tylko administrator o loginie np. kolo,
niestety jak zwykły user wpisz www.....pl/panel_admin.php to też widzi zawartość tej strony.

tak mnie więcej wygląda zawartość strony panel_admin.php :
  1. <?php
  2.  
  3. if (!isset($_SESSION['zalogowany']))
  4. {
  5. header('Location: logowanie_admin.php');
  6. exit();
  7. }
  8. ?>


  1. </head>
  2.  
  3. </body>
  4. </htm>


proszę o info w które miejsce wstawić któryś z kodów poprzednich postów i jak ewentualnie miałbym je zmienić
thx
Go to the top of the page
+Quote Post
dublinka
post
Post #5





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


Ten kod oznacza mowiac kolokwialnie czy sesja NIE istnieje. Musisz gdzies ja zainicjowac gdzies podczas logowania. Tu jest jesli nie istnieje nastepuje przekierowanie na adres innego pliku. Wszystko ponizej tego warunku wyswietli sie jesli sesja bedzie istniala

Ten post edytował dublinka 19.11.2020, 17:31:24
Go to the top of the page
+Quote Post
habazy
post
Post #6





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.11.2020

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


Tak, sorki tutaj mam skrypt logowania, jak mógłbym to zainicjować ?
  1. <?php
  2.  
  3. if ((!isset($_POST['login'])) || (!isset($_POST['haslo'])))
  4. {
  5. header('Location: panel_administratora.php');
  6. exit();
  7. }
  8.  
  9. require_once "connect.php";
  10.  
  11. $polaczenie = @new mysqli($host, $usery, $password, $nazwa);
  12.  
  13. if ($polaczenie->connect_errno!=0)
  14. {
  15. echo "Error: ".$polaczenie->connect_errno;
  16. }
  17. else
  18. {
  19. $login = $_POST['login'];
  20. $haslo = $_POST['haslo'];
  21.  
  22. $login = htmlentities($login, ENT_QUOTES, "UTF-8");
  23.  
  24. if ($rezultat = @$polaczenie->query(
  25. sprintf("SELECT * FROM admin WHERE login='%s'",
  26. mysqli_real_escape_string($polaczenie,$login))))
  27. {
  28. $ilu_userow = $rezultat->num_rows;
  29. if($ilu_userow>0)
  30. {
  31. $wiersz = $rezultat->fetch_assoc();
  32.  
  33. if (password_verify($haslo, $wiersz['pass']))
  34. {
  35. $_SESSION['zalogowany'] = true;
  36. $_SESSION['id'] = $wiersz['id'];
  37. $_SESSION['login'] = $wiersz['login'];
  38. $_SESSION['email'] = $wiersz['email'];
  39.  
  40. unset($_SESSION['blad']);
  41. $rezultat->free_result();
  42. header('Location: panel_admininistratora.php');
  43. }
  44. else
  45. {
  46. $_SESSION['blad'] = 'Nieprawidłowe dane';
  47. header('Location: log_admin.php');
  48. }
  49.  
  50. } else {
  51.  
  52. $_SESSION['blad'] = 'Nieprawidłowe dane';
  53. header('Location: log_admin.php');
  54.  
  55. }
  56.  
  57. }
  58.  
  59. $polaczenie->close();
  60. }
  61.  
  62. ?>


Ten post edytował habazy 19.11.2020, 17:41:02
Go to the top of the page
+Quote Post
viking
post
Post #7





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


https://prophp.pl/advice/show/24/jak_zrobic...istratora%29%3F
Go to the top of the page
+Quote Post
dublinka
post
Post #8





Grupa: Zarejestrowani
Postów: 594
Pomógł: 66
Dołączył: 22.02.2008
Skąd: Dublin

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


No to wszystko masz. Gdzie lezy problem. Napisalem Ci ze wszystko za tym warunkiem bedzie dla tych ktorzy zaloguja sie bo w tym pliku ustawiasz wlasnie te sesje 'zalogowany'.
Go to the top of the page
+Quote Post
habazy
post
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.11.2020

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


thx viking,
ale mimo to, chciałbym zostać przy moim kodzie, żeby nie dublować roboty.
dałoby się te powyższe rozwiązania wcisnąć w mój kod?
Go to the top of the page
+Quote Post
viking
post
Post #10





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

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


A dlaczego jak są nieustawione zmienne login i haslo przekierowujesz do panelu?
Go to the top of the page
+Quote Post
habazy
post
Post #11





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 19.11.2020

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


viking,
admin rejestruje się z innego formularza a user z innego, dlatego admina kieruję do panel_administratra.php a w skrypcie drugim usera do panel_user.php.
Go to the top of the page
+Quote Post
gino
post
Post #12





Grupa: Zarejestrowani
Postów: 324
Pomógł: 52
Dołączył: 18.02.2008

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


nie mnoży się bytów ponad potrzebę. Czy admin loguje się inaczej niż zwykły user? Też wpisuje hasło i nazwę użytkownika. Po co dwa formularze? A czy admin nie może mieć dostępu do strony gdzie przekierowujesz user-a? To Ty musisz rozeznać w kodzie, który jest który. Dlatego stosuje się odpowiednie wagi dla admina i userów ( pole w bazie danych) i jak sobie po zalogowaniu doczytasz status danego użytkownika, będziesz wiedział kto to jest. A dostęp do danej strony czy widoku realizuje się na wiele sposobów, zależnie od konstrukcji strony i czy dostęp przypisujesz w locie, czy zaczytasz z bazy to już Twoja decyzja. @viking podał Ci kod abyś zobaczył jak się to realizuje.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 01:55