Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

2 Stron V   1 2 >  
Reply to this topicStart new topic
> [MySQL][PHP] 2 warunki admin
mrk9109
post 5.03.2018, 12:17:13
Post #1





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


Witam otóż chciałem sobie rozbudować panel admina i pobawić się w filtry oraz w edytowanie uprawnień i stworzyłem dodatkowy typ konta AdminG którego nie będzie można edytować . I mam problem z logowaniem do admina tzn. mam kod

  1. $zapytanieA = $polaczenie->query("SELECT typ FROM uzytkownicy WHERE login = '". $_SESSION['login']."';");
  2.  
  3. while($dbA = $zapytanieA -> fetch_assoc() ) {
  4.  
  5. $login = $_SESSION['login'];
  6. $typ=$dbA['typ'];
  7. $admin="admin";
  8. $adminG="adminG";
  9.  
  10. if ($typ == $admin) // Sprawdzanie czy uzytkownik to admin
  11. {
  12. include("_start_admin.php");
  13. }
  14. elseif ($typ == $adminG) // Sprawdzanie czy uzytkownik to admin glowny
  15. {
  16. include("_start_admin.php");
  17. }
  18. else
  19. {
  20. header('Location: brakdostepu.php');
  21. }
  22. }

I po dodaniu drugiego warunka ( kombinowałem na wszystkie sposoby ) to jedna z wersji gdy loguje się adminG przenosi do brakdostepu.php dlaczego ? a gdy normalny admin od razu wczytuje start . Na dodatek gdy jest zalogowany adminG i klikniemy w powrót to ma uprawnienia czyli warunek się spełnia . Nie wiem co jest nie tak ze robi mi te przekierowywanie do brakdostepu gdy adminG
Go to the top of the page
+Quote Post
nospor
post 5.03.2018, 12:20:39
Post #2





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




naprawde za kazdym razem mamy ci pisac bys robil VAR_DUMP?questionmark.gifquestionmark.gif

$typ=$dbA['typ'];
var_dump($typ);
exit;

I nagle wszystko jasne


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pyton_000
post 5.03.2018, 12:22:52
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Nie wiem co za kod masz ale to co masz można np. tak:

  1. $zapytanieA = $polaczenie->query("SELECT typ FROM uzytkownicy WHERE login = '".$_SESSION['login']."' AND `typ` IN('admin', 'adminG') LIMIT 1;");
  2. $dbA = $zapytanieA->fetch_assoc();
  3.  
  4. if(empty($dbA)) {
  5. header('Location: brakdostepu.php');
  6. }
  7. include("_start_admin.php");
Go to the top of the page
+Quote Post
nospor
post 5.03.2018, 12:28:09
Post #4





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




@Pyton zapomniales o exit. Po grzyba ma mu sie zawsze start ladowac?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mrk9109
post 5.03.2018, 13:03:55
Post #5





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


pyton

dalej to samo przy logowaniu adminG zwraca brakuprawnien i po klinieciu powrot mozna przegladac :<

Go to the top of the page
+Quote Post
nospor
post 5.03.2018, 13:04:31
Post #6





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




poraz kolejny ci mowie: zrob ten VAR_DUMP. Napisalem ci nawet gdzie. Pewnie w bazie masz cos innego niz ci sie wydaje


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mrk9109
post 5.03.2018, 13:08:10
Post #7





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


tak to wyglada cale

http://wklej.org/id/3378816/

edit:

juz robie i zaraz wkleje

komunikat:

string(5) "admin"

Ten post edytował mrk9109 5.03.2018, 13:06:34
Go to the top of the page
+Quote Post
nospor
post 5.03.2018, 13:08:41
Post #8





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




No i juz wiesz czemu ci nie dziala.... jakim cudem
admin==adminG
questionmark.gif



--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Pyton_000
post 5.03.2018, 13:18:29
Post #9





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Tylko że ten kod powinien przepuścić to bo zakłada że login musi mieć 1 z 2 uprawnień...
Go to the top of the page
+Quote Post
nospor
post 5.03.2018, 13:21:37
Post #10





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




ale on pewnie podal to dla usera admin a nie dla usera adminG... ze powinien przepuscic to wiem ale on to zle odpala co ty juz powinienes tez wiedziec wink.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mrk9109
post 5.03.2018, 13:24:56
Post #11





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


nie rozumie źle kombinuje ? $typ pobierany z bazy np: admin musi być = admin jeżeli typ pobrany to adminG musi byc rowny = adminG ? . Nie rozumie tego co napisales probowalem takie rozwiazania ale tez lipa tzn uprawnienia działają ale gdy loduje się adminG i tak go przekierowuje 1 do brakdostepu pliku .

  1. switch($typ){
  2.  
  3. case 'admin':
  4. include("_start_admin.php");
  5. break;
  6. case 'adminG':
  7. include("_start_admin.php");
  8. break;
  9. default:
  10. header('Location: brakdostepu.php');
  11. }


właśnie mam unsera który jest adminG i mam który jest admin ustawiony typ konta i porównuje logowanie na 2 innych kontach i też skoro sprawdza że jest adminG to po klinięciu powrót z brakdostępu ma panel administracyjny dla tego jestem z tego GŁUUPI

Ten post edytował mrk9109 5.03.2018, 13:29:15
Go to the top of the page
+Quote Post
nospor
post 5.03.2018, 13:28:38
Post #12





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




poprostu pokaz mi wynik VAR_DUMP gdy logujesz sie na usera adminG. Czego nie rozumiesz??


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mrk9109
post 5.03.2018, 13:32:36
Post #13





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


string(6) "adminG" jak kliknę powrót i jestem już w panelu nic więcej
  1. $zapytanieA = $polaczenie->query("SELECT typ FROM uzytkownicy WHERE login = '". $_SESSION['login']."';");
  2.  
  3. while($dbA = $zapytanieA -> fetch_assoc() ) {
  4.  
  5. $login = $_SESSION['login'];
  6. $typ=$dbA['typ'];
  7. var_dump($typ);
  8. exit;
  9.  
  10. if ($typ == 'admin') // Sprawdzanie czy uzytkownik to admin
  11. {
  12. include("_start_admin.php");
  13. }
  14. elseif ($typ == 'adminG') // Sprawdzanie czy uzytkownik to admin glowny
  15. {
  16. include("_start_admin.php");
  17. }
  18. else
  19. {
  20. header('Location: brakdostepu.php');
  21. }
  22. }


Ten post edytował mrk9109 5.03.2018, 13:33:25
Go to the top of the page
+Quote Post
nospor
post 5.03.2018, 13:38:27
Post #14





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




Niemozliwe. Pewnie cos tam ci sie login krzaczy po drodze lub masz jakies response. Kod co pokazales powinien dzialac. Jak nie dziala to masz cos w miedzyczasie - nie raz tak bylo na forum i nie, nie mowie tylko o tobie


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mrk9109
post 5.03.2018, 13:44:53
Post #15





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


http://wklej.org/id/3378845/
a to start co wczytuje
http://wklej.org/id/3378846/

to jak odszukać co to psuję ? :< dziwne bardzo że uprawnienia nadaje ... dlaczego on mi robi te przekierowywania
Go to the top of the page
+Quote Post
viking
post 5.03.2018, 14:02:30
Post #16





Grupa: Zarejestrowani
Postów: 6 365
Pomógł: 1114
Dołączył: 30.08.2006

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


if (in_array($typ, ['admin', 'adminG'])){...}

$pa = $_GET['pa'] ?? null;


--------------------
Go to the top of the page
+Quote Post
nospor
post 5.03.2018, 14:04:07
Post #17





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




Dobra, inaczej... zamien swoj kod na taki

  1. $zapytanieA = $polaczenie->query("SELECT typ FROM uzytkownicy WHERE login = '". $_SESSION['login']."';");
  2.  
  3. while($dbA = $zapytanieA -> fetch_assoc() ) {
  4.  
  5. $login = $_SESSION['login'];
  6. $typ=$dbA['typ'];
  7.  
  8. if ($typ == 'admin') // Sprawdzanie czy uzytkownik to admin
  9. {
  10. include("_start_admin.php");
  11. }
  12. elseif ($typ == 'adminG') // Sprawdzanie czy uzytkownik to admin glowny
  13. {
  14. include("_start_admin.php");
  15. }
  16. else
  17. {
  18. echo 'Brak dostepu dla ' . $_SESSION['login'] . ' z typem ' . $typ;exit;
  19. header('Location: brakdostepu.php');
  20. }
  21. }


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mrk9109
post 5.03.2018, 14:06:25
Post #18





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


Cytat(viking @ 5.03.2018, 14:02:30 ) *
if (in_array($typ, ['admin', 'adminG'])){...}

$pa = $_GET['pa'] questionmark.gif null;


użyłem tego dalej coś psuje i szukam wszędzie nie wiem co jest grane tzn twój kod dla adminG daje uprawnienia ale przekierowuje do brakdostepu
Go to the top of the page
+Quote Post
nospor
post 5.03.2018, 14:08:41
Post #19





Grupa: Moderatorzy
Postów: 36 455
Pomógł: 6292
Dołączył: 27.12.2004




poniewaz $typ nie zawiera adminG... ile razy mozna to pisac...
Popraw kod na ten co podalem to wkoncu sie dowiemy co tam naprawde jest gdy przekierowuje


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
mrk9109
post 5.03.2018, 14:08:56
Post #20





Grupa: Zarejestrowani
Postów: 445
Pomógł: 3
Dołączył: 4.06.2010

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


nospor

zmieniłem dalej ten sam efekt uprawnienia są przekierowywanie te same i komunikat się nie wyświetla

Ten post edytował mrk9109 5.03.2018, 14:09:44
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 24.04.2024 - 13:04