Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Kolejność deklarowania funkcji, ustawiania zmiennych oraz wykonywania funkcij
Forum PHP.pl > Forum > Przedszkole
Maxie
Witam. Mam mały problem z kolejnością działania w php związaną z funkcjami. Problem wygląda następująco.
  1. Deklarowanie funkcij, która korzysta z $user w formie array(). Tak wylgąda ta funkcja:
    1. function permission($perm){
    2. $range = $user['range'];
    3. $id = $user['id'];
    4. echo $user['id'].' ; '.$user['login'].' ; '.$user['range'];
    5. $record = mysql_query("SELECT * FROM `UserRangePerm` WHERE `RangeID` = '".$range."'AND `Title` = '".$perm."' ");
    6. $recordtwo = mysql_query("SELECT * FROM `UserIndividualPerm` WHERE `UserID` = '".$id."' AND `Title` = '".$perm."' ");
    7. if(mysql_num_rows($record) == 0 and mysql_num_rows($recordtwo) == 0){
    8. return false;
    9. }else{
    10. return true;
    11. }
    12. }

    Za każdym razem zwraca echo ' ; ; ' oraz false.
  2. Ustawianie zmiennej $user (rzeczjasna w array()). Tak to wygląda:
    1. if($_SESSION['logged'] == true){
    2. $record = mysql_query("SELECT * FROM `User` WHERE `ID` = '".$_SESSION['ID']."' ");
    3. $record = mysql_fetch_assoc($record);
    4. $user = array();
    5. $user['id'] = $_SESSION['ID'];
    6. $user['login'] = $record['Nick'];
    7. $user['range'] = $record['RangeID'];
    8. global $user;
    9. }
  3. Wykonanie wcześniej wspomnianej funkcji razem z testem czy zmienna $user sięga w to miejsce:
    1. permission('page1');
    2. echo '<br>';
    3. echo $user['id'].' ; '.$user['login'].' ; '.$user['range'];

Próbowałem zamienić 1 i 2 by najpierw było ustalanie zmiennej a następnie deklarowanie funkcji, ale to także nie działa. Za każdym razem mój 'test' funkcji zwraca puste zmienne a test zmiennych zwraca odpowiednie zmienne.
Z góry dziękuję za pomoc. Pozdrawiam, Maxie.
koxu1996
Wstaw do funkcji var_dump żeby zobaczyć co zwraca mysql
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.