Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]
Forum PHP.pl > Forum > Przedszkole
psimm
Mam stronkę z prostym systemem logowania na bazie mysql i sesjach. Tabela "Users" zawiera pole "allows" określające poziom dostępu będący wartością liczbową TINYINT.

  1. <?php
  2.   $usr=$_SESSION['uzytkownik'];
  3.   $sel=mysql_query("SELECT allows FROM Users WHERE login='$usr'")
  4.     or die('Błąd zapytania');
  5.    if($sel==3) {
  6.    echo "<p>
  7.    <a href=\"users.php\">Użytkownicy</a>
  8.    </p>";
  9.    }
  10.  ?>


Powyżej fragment kodu pokazujący link w zależności od praw dostępu. Niestety kod nie działa i nic nie pokazuje sad.gif
Jeżeli zmienię "==" na ">","<", itp. to pokazuje... tylko że wszystkim bez wyjątku a nie użytkownikom z danymi prawami :/
Co robię źle i gdzie szukać rozwiązania?
nospor
zobacz w manualu co zwraca mysql_query().....
psimm
Mój błąd, że nie sprawdziłem tongue.gif
Poczytałem i najlepszym wyjściem dla mnie wydaje się komenda mysql_result... tylko jak ją obsłużyć?

  1. <?php
  2.   $usr=$_SESSION['uzytkownik'];
  3.   $sel=mysql_query("SELECT allows,id FROM Users WHERE login='$usr'")
  4.   $wyn=mysql_result($sel,'id','allows');
  5.     or die('Błąd zapytania');
  6.    if($wyn==3) {
  7.    echo "<p>
  8.    <a href=\"users.php\">Użytkownicy</a>
  9.    </p>";
  10.    }
  11.  ?>


Tak wygląda to teraz i zwraca błąd: "Parse error: syntax error, unexpected T_VARIABLE in /var/www/sites/yoyo.pl/d/z/dzo-bw-rezerwacje/main.php on line 42". Zapewne błąd tkwi w numerze badanego wiersza ale nie mam pomysłu jak go pobrać dynamicznie znając tylko login użytkownika przekazywany w zmiennej sesyjnej. Jakaś podpowiedź? smile.gif
nospor
ale czytaj co masz w manualu!!!
http://pl.php.net/manual/pl/function.mysql-result.php
i zobacz jakie przyjmujie parametry a jakie ty mu dajesz.

Co do bledu to nie:
$wyn=mysql_result($sel,'id','allows');
or die('Błąd zapytania');
a:
$wyn=mysql_result($sel,'id','allows')
or die('Błąd zapytania');
psimm
Oki, działa smile.gif Pomogło usunięcie średnika tongue.gif

Co do czytania, to przeczytałem. Jednak manual jest czasem dość niezrozumiale napisany. A swoją drogą to dobrze zrozumiałem składnię z manuala i błąd był tylko w średniku.

Tak czy siak dzięki smile.gif
nospor
no wlasnie nie. w manualu jak wol masz napisane:
mixed mysql_result ( resource $wynik , int $wiersz [, mixed $ pole ] )
drugi parametr to wiersz (liczba)

a u ciebie:
$wyn=mysql_result($sel,'id','allows');

drugi parametr to napis 'id'
Dziala ci tylko dlatego ze php sam zrzutowal ci ten tekst na liczbe 0

powtarzam wiec: czytaj dokladnie manuala a juz w szczegolnosci gdy osoba z wiekszym doswiadczeniem zwroci ci na to uwage! tongue.gif
psimm
Cytat(nospor @ 12.03.2009, 12:15:43 ) *
no wlasnie nie. w manualu jak wol masz napisane:
mixed mysql_result ( resource $wynik , int $wiersz [, mixed $ pole ] )
drugi parametr to wiersz (liczba)

a u ciebie:
$wyn=mysql_result($sel,'id','allows');

drugi parametr to napis 'id'
Dziala ci tylko dlatego ze php sam zrzutowal ci ten tekst na liczbe 0

powtarzam wiec: czytaj dokladnie manuala a juz w szczegolnosci gdy osoba z wiekszym doswiadczeniem zwroci ci na to uwage! tongue.gif


a nie prawda tongue.gif nic nie zrzutował tylko przyjął dobrą wartość pola ID tongue.gif jakby ustawił stałą wartość "0" to działałoby tylko na pierwszym użytkowniku w bazie a działa na kilku losowo sprawdzonych tongue.gif
nospor
o litosci....
przeciez za kazdym razem zapytanie zwraca ci rekord i ten rekord ma zawsze index 0 niezależnie od nazwy usera.....

jak tak bardzo chcesz sie pokłócic to dzis jeszcze warnow nie rozdawalem aaevil.gif

edit:
wróć, jednego dziś dałem. ale to był ewidentny spamer to sie nie liczy winksmiley.jpg
psimm
no dobra, dobra smile.gif to ja tu jestem newbie tongue.gif
dzięki za pomoc merytoryczną smile.gif
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.
Invision Power Board © 2001-2025 Invision Power Services, Inc.