Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] Problem z warunkiem
Forum PHP.pl > Forum > Przedszkole
Balon
za pomoca tej funkcji sprawdzam czy user ma uprawnienia do modulu
  1. <?php
  2. function checkPriv( $modName )
  3. {
  4. global $_SESSION;
  5.  
  6. if( $_SESSION['priv'][$modName] !== 1 )
  7. {
  8. exit( 'Nie posiadasz odpowiednich uprawnień' );
  9. }
  10. }
  11. ?>


tablica wyglada tak
Kod
Array
(
    [admin] => soon
    [priv] => Array
        (
            [id] => 1
            [id_admin] => 1
            [mod_kategorie] => 1
            [mod_addgry] => 1
            [mod_maingry] => 1
            [mod_admins] => 1
        )

)


i wywouluje to tak np

  1. <?php
  2. checkPriv( 'mod_addgry' );
  3. ?>


i wywala mi ze nie mam uprawnien....
dlaczego ?
nospor
moze dlatego: global $_SESSION;
sesji sie nie globalizuje. sesja to tablica superglobalna
pozatym przed sprawdzeniem sprawdz se, czy oby na pewno w sesji masz dane
Balon
no i poprawilem
  1. <?php
  2. function checkPriv( $modName )
  3. {
  4. if( $_SESSION['priv'][$modName] !== 1 )
  5. {
  6. exit( 'Nie posiadasz odpowiednich uprawnień' );
  7. }
  8. }
  9. ?>


a zawartosc $_SESSION wyglada tak
Kod
Array
(
    [admin] => soon
    [priv] => Array
        (
            [id] => 1
            [id_admin] => 1
            [mod_kategorie] => 1
            [mod_addgry] => 1
            [mod_maingry] => 1
            [mod_admins] => 1
        )

)


no i nadal nie dziala.... co mam robic.. prosze o pomoc winksmiley.jpg
nospor
if( $_SESSION['priv'][$modName] !== 1 )
w tym warunku porownujesz to do 1 i do typu czyli do liczby. najwyraźniej w sesji masz zapisane 1 ale jako string, wiec twoj warunek sie nie spelnia. daj tak != 1 i powinno byc git
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.