Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MySQL] Poziomy użytkowników
Gibon80
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.05.2010

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


Witam.

Piszę pewną stronkę i chciałbym dodać poziomy kont użytkowników (poziom administratora i zwykłego użytkownika) po to by niektóre elementy na stronie były wyświetlane jedynie po zalogowaniu się na konto z poziomem admina. W bazie mam tabelę z loginem, hasłem i poziomem (poziom 1 to admin, 0 to zwykły użytkownik). Mój problem polega na tym, że nie umiem napisać odpowiedniego zapytania, które pobrałoby wartość rekordu poziom odpowiedniego z tego samego wiersz w bazie, z którego pochodzi login konta.

Np mam taką tabele `users`:

id login haslo poziom
------------------------------------
0 admin xxxxx 1
1 user1 xxxx 0
2 user2 xxxx 0

Jak pobrać wartość z rekordu poziom odpowiednio do loginu questionmark.gif
Go to the top of the page
+Quote Post
Kowol
post
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 2
Dołączył: 12.03.2010

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


SELECT poziom FROM users WHERE login = $_SESSION['login'];
?
Go to the top of the page
+Quote Post
Gibon80
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.05.2010

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


Właśnie tak robiłem i jest problem. To zapytanie zwraca zawsze wartość pierwszego rekordu "poziom" w tym wypadku jest to 1,
ponieważ pobiera go wtedy jeżeli login przypisany do zmiennej sesyjnej "login" znajduje się w bazie.
Jak napisać zapytanie które zwróci wartość rekordu "poziom" odpowiedniego do rekordu "login" questionmark.gif
Go to the top of the page
+Quote Post
TheBegin
post
Post #4





Grupa: Zarejestrowani
Postów: 3
Pomógł: 1
Dołączył: 27.05.2010

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


Algorytm

1.Zaznaczasz danego użytkownika o którego Tobie chodzi (W tym przypadku zalogowany użytkownik).
2.Sprawdzasz czy dany użytkownik jest adminem.
3.Jeśli tak to wyświetlasz to co potrzebujesz.
4.Jeśli nie to nie wyświetlasz.

Sam skrypt

zakładam ze masz polączenie z baza itp

<?php

$login = $_SESSION['login'];

$zapytanie = mysql_fetch_array(mysql_query("select * from `users` where `login` = '$login'"));

if($zapytanie['poziom'] == 1)
{
//to co chcesz wyświetlić
}

elseif($zapytanie['poziom'] == 0)
{
//możesz te drugie elseif ominąć ale możesz użyc go do wyświetlenia informacji ze np. nie jesteś adminem i nie mozesz tej strony, treści widzieć
}

?>


Mam nadzieje, że zadziała

Ten post edytował TheBegin 27.05.2010, 17:07:34


--------------------
Zapraszam na forum wielotematyczne www.zrobcos.ugu.pl.
Go to the top of the page
+Quote Post
zend
post
Post #5





Grupa: Zarejestrowani
Postów: 580
Pomógł: 85
Dołączył: 25.03.2010
Skąd: Skrzyszów :)

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


Chodzi Ci o operacje przed zapisaniem do sesji po wysłaniu formularza? Jeśli tak to
  1. $login = $_GET['myLogin']// taki url plik.php?myLogin=Bartek
  2. //natomiast dane z formularzy domyślnie przesyłane są post'em i odbierasz je w ten sam sposób tylko że w tablicy $_POST

Może przydać Ci się także isset
Go to the top of the page
+Quote Post
Gibon80
post
Post #6





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 27.05.2010

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


@TheBegin

Wielkie dzięki właśnie o to mi chodziło smile.gif

Temat można zamknąć.
Go to the top of the page
+Quote Post

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 Aktualny czas: 22.08.2025 - 01:06