Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP/SESSION] Ranga
Forum PHP.pl > Forum > Przedszkole
zaba141
witam mam taki kodzik

  1. $ranga = $row['dostep'];
  2. $rang = explode(',', $ranga);
  3.  
  4. if($_SESSION['user_ranga']==$rang) {
  5. include("components/$n1/$n2");
  6. } else {
  7. echo 'Brak Dostepu';
  8. }


I on czyty z mysql range mam tam w Tabeli dostep 1,2 dodalem explode lecz to nic nie pomoglo ;/ w session user_range siedzi ranga 2 i caly czas mi pisze brak dostepu juz nie mam pomysłów ;/ proszę o pomoc
nospor
po explode() $rang to tablica.
Nie mozesz porownywac 2 do tablicy.
uzyj in_array()
zaba141
nie pomoglo dalej nie widzi ;/
nospor
Pokaz kod jaki splodziles tym razem. No wróżką nie jestem.
zaba141
Najpierw próbuje z tym

  1. $query = mysql_query ("SELECT * FROM komponenty where nazwa='$n1'");
  2. $row = mysql_fetch_array($query);
  3. $a = mysql_num_rows($query);
  4. $ranga = array($row['dostep']);
  5. print_r($ranga);
  6. if ($a == "") {
  7. echo 'Brak Komponentu Lub nie jest zainstalowany.';
  8. } else {
  9. if(isset($_SESSION['user_ranga'], $ranga)) {
  10. include("components/$n1/$n2");
  11. } else {
  12. echo 'Brak Dostepu';
  13. }
  14. }


a teraz z tym

  1. $query = mysql_query ("SELECT * FROM komponenty where nazwa='$n1'");
  2. $row = mysql_fetch_array($query);
  3. $a = mysql_num_rows($query);
  4. $ranga = array($row['dostep']);
  5. $rang = in_array($ranga, $_SESSION['user_ranga']);
  6.  
  7. if ($a == "") {
  8. echo 'Brak Komponentu Lub nie jest zainstalowany.';
  9. } else {
  10. if($_SESSION['user_ranga']==$rang) {
  11. include("components/$n1/$n2");
  12. } else {
  13. echo 'Brak Dostepu';
  14. }
Reiven
  1. $rang = in_array($ranga, $_SESSION['user_ranga']);


powinno być tak:
  1. $rang = in_array($_SESSION['user_ranga'], $ranga);


i pokombinuj z foreach np.:

  1. $ranga = array(1,2);
  2.  
  3. foreach ($ranga as $nr)
  4. {
  5. if ($nr == 1)
  6. {
  7. echo "ok";
  8. }
  9. }


albo jeszcze tak:

  1. $ranga = array(1,2);
  2. if (in_array(3, $ranga))
  3. {
  4. print ('ok');
  5. }
  6. else
  7. {
  8. print ('ERRROR');
  9. }
zaba141
niestety ale to nic nie pomoglo
Reiven
a sesja Ci dobrze działa??

  1. echo $_SESSION['user_ranga'];


zaba141
tak sessja dziala dobrze
bastard13
W zmiennej $rang masz wartość true, jeżeli $_SESSION['user_ranga'] znajduje się w $rang, a w innym wypadku masz false, bo takie wartości zwraca in_array
  1. $rang = in_array( $_SESSION['user_ranga'],$ranga);

więc to porównanie:
  1. if($_SESSION['user_ranga']==$rang)

zamień na
  1. if($rang)

terez, jeżeli $_SESSION['user_ranga'] znajduje się w tablicy $rang, to wykona się include, a jeżeli takiej wartości nie znajdzie w tablicy, to wyrzuci 'Brak dostępu'.
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.