Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Pobranie grupy użytkownika + IFy
kawon
post
Post #1





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 3.03.2010

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


Witam.

Mam taki problem, chodzi mi o to żeby pobrało grupę użytkownika i jeżeli jest równa np 2 to wyświetla dany plik

  1. $grupa = $SQL->query('SELECT `group` FROM `users` WHERE `id` = "'.$_SESSION['id'].'" LIMIT 1')->fetchall();

Czy dobrze jest skonstruowane te zapytanie?

Ogólnie prosiłbym też o poprawkę tego kodu bo wywala mi białą stronę i nie umiem ogarnąć co jest nie tak:
  1. if($grupa[0]['group'] == 2)
  2. {
  3. include("admin.php");
  4. $go = $_GET['go'];
  5. if(!empty($go)) {
  6. if(is_file("$go.php")) include "$go.php";
  7. else echo "<br />Brak strony o podanym adresie.";
  8. }
  9. else include "home.html";
  10. }
  11. else
  12. {
  13. include("menu.php");
  14. $go = $_GET['go'];
  15. if(!empty($go)) {
  16. if(is_file("$go.php")) include "$go.php";
  17. else echo "<br />Brak strony o podanym adresie.";
  18. }
  19. else include "home.html";
  20. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
peter13135
post
Post #2





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


id jest unikalne, więc nie potrzebnie dajesz limit 1. Id jest intem, więc bez cudzysłowów.
W tym kodzie błędu nie widzę na pierwszy rzut oka, pewnie jest gdzieś w pliku admin.php, albo menu.php, generalnie : sprawdzaj po kolei jaką wartość mają dane zmienne.
Go to the top of the page
+Quote Post
kawon
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 3.03.2010

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


Wszystko poprawiłem jednakże teraz coś musi być z zapytaniem albo ifem od group.
Loguję się użytkownikiem z group 2 i pokazuje to co użytkownikowi o group 1, logując na tego z group 1 pokazuje poprawnie (to co powinno czyli menu.php)

Jakieś rady?
Go to the top of the page
+Quote Post
peter13135
post
Post #4





Grupa: Zarejestrowani
Postów: 1 447
Pomógł: 191
Dołączył: 26.03.2008

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


rady te same co wcześniej
zrób sobie echo $grupa[0]['group'] ;
będziesz wiedział co porównujesz do tej dwójki
Go to the top of the page
+Quote Post
kawon
post
Post #5





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 3.03.2010

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


Przerobiłem trochę to wszystko i taki problem że użytkownik z group 1 jak i 2 mają wyświetlane admin.php, a ten z group 1 powinien mieć pokazane menu.php

Może ktoś to odpowiednio przerobić? Brakuje już pomysłów:
  1. $grupa = mysql_query('SELECT `group` FROM `users` WHERE `id` = '.$_SESSION['id'].' AND `group` = 2');
  2. if($grupa == true){
  3. include("admin.php");}
  4. else{
  5. include("menu.php");}
Go to the top of the page
+Quote Post
thek
post
Post #6





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ty wiesz co zwraca mysql_query? Moim zdaniem chyba nie bardzo... Zwróci ono wynik zawsze gdy zapytanie się powiedzie. Nieważne czy znajdzie pasujący(!) Innymi słowy False dostajesz tylko gdy masz skopane zapytanie lub baza leży. Aby być pewnym czy dostałeś choć jeden wiersz wyniku musisz to sprawdzić, choćby użyciem mysql_num_rows.

Nie kopiuj żywcem z netu kodu, bo się możesz przejechać, gdy nie rozumiesz co dane funkcje robią i co zwracają. Zalecam więc lekturę manuala wpierw, zanim się zacznie klepać coś na forum, bo potem wychodzą naprawdę proste błędy.
Go to the top of the page
+Quote Post
gac3k
post
Post #7





Grupa: Zarejestrowani
Postów: 90
Pomógł: 8
Dołączył: 28.07.2009

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


a mnie przeraża
  1. $go = $_GET['go'];
  2. if(!empty($go)) {
  3. if(is_file("$go.php")) include "$go.php";


może się mylę, ale to aż się prosi o lfi.

całość jest generalnie nie za dobrze napisania.
Go to the top of the page
+Quote Post
kawon
post
Post #8





Grupa: Zarejestrowani
Postów: 17
Pomógł: 0
Dołączył: 3.03.2010

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


temat do zamknięcia, rozwiązałem problem w inny sposób
pozdrawiam i dzięki za "pomoc"
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: 22.08.2025 - 12:26