mrk9109
5.03.2018, 12:17:13
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
$zapytanieA = $polaczenie->query("SELECT typ FROM uzytkownicy WHERE login = '". $_SESSION['login']."';");
while($dbA = $zapytanieA -> fetch_assoc() ) {
$login = $_SESSION['login'];
$typ=$dbA['typ'];
$admin="admin";
$adminG="adminG";
if ($typ == $admin) // Sprawdzanie czy uzytkownik to admin
{
include("_start_admin.php");
}
elseif ($typ == $adminG) // Sprawdzanie czy uzytkownik to admin glowny
{
include("_start_admin.php");
}
else
{
header('Location: brakdostepu.php'); }
}
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
nospor
5.03.2018, 12:20:39
naprawde za kazdym razem mamy ci pisac bys robil VAR_DUMP?


$typ=$dbA['typ'];
var_dump($typ);
exit;
I nagle wszystko jasne
Pyton_000
5.03.2018, 12:22:52
Nie wiem co za kod masz ale to co masz można np. tak:
$zapytanieA = $polaczenie->query("SELECT typ FROM uzytkownicy WHERE login = '".$_SESSION['login']."' AND `typ` IN('admin', 'adminG') LIMIT 1;");
$dbA = $zapytanieA->fetch_assoc();
header('Location: brakdostepu.php'); }
include("_start_admin.php");
nospor
5.03.2018, 12:28:09
@Pyton zapomniales o exit. Po grzyba ma mu sie zawsze start ladowac?
mrk9109
5.03.2018, 13:03:55
pyton
dalej to samo przy logowaniu adminG zwraca brakuprawnien i po klinieciu powrot mozna przegladac :<
nospor
5.03.2018, 13:04:31
poraz kolejny ci mowie: zrob ten VAR_DUMP. Napisalem ci nawet gdzie. Pewnie w bazie masz cos innego niz ci sie wydaje
mrk9109
5.03.2018, 13:08:10
tak to wyglada cale
http://wklej.org/id/3378816/ edit:
juz robie i zaraz wkleje
komunikat:
string(5) "admin"
nospor
5.03.2018, 13:08:41
No i juz wiesz czemu ci nie dziala.... jakim cudem
admin==adminG
Pyton_000
5.03.2018, 13:18:29
Tylko że ten kod powinien przepuścić to bo zakłada że login musi mieć 1 z 2 uprawnień...
nospor
5.03.2018, 13:21:37
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
mrk9109
5.03.2018, 13:24:56
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 .
switch($typ){
case 'admin':
include("_start_admin.php");
break;
case 'adminG':
include("_start_admin.php");
break;
default:
header('Location: brakdostepu.php'); }
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
nospor
5.03.2018, 13:28:38
poprostu pokaz mi wynik VAR_DUMP gdy logujesz sie na usera adminG. Czego nie rozumiesz??
mrk9109
5.03.2018, 13:32:36
string(6) "adminG" jak kliknę powrót i jestem już w panelu nic więcej
$zapytanieA = $polaczenie->query("SELECT typ FROM uzytkownicy WHERE login = '". $_SESSION['login']."';");
while($dbA = $zapytanieA -> fetch_assoc() ) {
$login = $_SESSION['login'];
$typ=$dbA['typ'];
if ($typ == 'admin') // Sprawdzanie czy uzytkownik to admin
{
include("_start_admin.php");
}
elseif ($typ == 'adminG') // Sprawdzanie czy uzytkownik to admin glowny
{
include("_start_admin.php");
}
else
{
header('Location: brakdostepu.php'); }
}
nospor
5.03.2018, 13:38:27
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
mrk9109
5.03.2018, 13:44:53
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
viking
5.03.2018, 14:02:30
if (in_array($typ, ['admin', 'adminG'])){...}
$pa = $_GET['pa'] ?? null;
nospor
5.03.2018, 14:04:07
Dobra, inaczej... zamien swoj kod na taki
$zapytanieA = $polaczenie->query("SELECT typ FROM uzytkownicy WHERE login = '". $_SESSION['login']."';");
while($dbA = $zapytanieA -> fetch_assoc() ) {
$login = $_SESSION['login'];
$typ=$dbA['typ'];
if ($typ == 'admin') // Sprawdzanie czy uzytkownik to admin
{
include("_start_admin.php");
}
elseif ($typ == 'adminG') // Sprawdzanie czy uzytkownik to admin glowny
{
include("_start_admin.php");
}
else
{
echo 'Brak dostepu dla ' . $_SESSION['login'] . ' z typem ' . $typ;exit
; header('Location: brakdostepu.php'); }
}
mrk9109
5.03.2018, 14:06:25
Cytat(viking @ 5.03.2018, 14:02:30 )

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

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
nospor
5.03.2018, 14:08:41
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
mrk9109
5.03.2018, 14:08:56
nospor
zmieniłem dalej ten sam efekt uprawnienia są przekierowywanie te same i komunikat się nie wyświetla
nospor
5.03.2018, 14:11:02
Jakbys zmienil to bys nie mial przekierowania bo dalem EXIT na koncu.... wiec cos krecisz
Chyba ze jakims cudem naprawde zmieniles na to co ci podalem i jesli tak to wniosek jest taki ze przekierowanie masz w zupelnie innym miejscu
mrk9109
5.03.2018, 14:13:53
znalazłem przyczyną miałeś racje z tym innym plikiem .... i znalazłem to fartem ... poplątane było w index co wczytuje logowanie dopiero potem admin.php
Dziękuje za uwagę i przepraszam za kłopot
i teraz dopiero działa ten kod co wyżej pisaliśmy
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.