if и else - сессия?

Тема в разделе "Как сделать...", создана пользователем OmgImFamous, 21 фев 2014.

Статус темы:
Закрыта.
  1. OmgImFamous

    OmgImFamous

    Заблокирован
    Регистр.:
    14 ноя 2007
    Сообщения:
    238
    Симпатии:
    45
    Люди добрые,
    есть такой вопрос...

    <? if($isProf) { ?>

    echo ('Показываем контакты');

    <? } else {?>

    echo ('Не показываем контакты');

    <? }?>


    т.е если человек c аккаунтом PRO, он увидит контакты, если нетy PRO, то не увидит.
    Покупаю PRO, все ещё не вижу контакты, делаю Logout, захожу снова - вижу.

    Может можно как-то сделать, что-бы условие IF срабатывало сразу, как только появится $isProf?

    Thanks
     
  2. Sunday

    Sunday

    Регистр.:
    13 дек 2009
    Сообщения:
    765
    Симпатии:
    326
    А как появляется переменная $isProf?
    Может там нужно
    Код:
    if(isset($isProf))
    или
    Код:
    if(!empty($isProf))
    Покажите больше кода.
     
  3. OmgImFamous

    OmgImFamous

    Заблокирован
    Регистр.:
    14 ноя 2007
    Сообщения:
    238
    Симпатии:
    45
    Я увы, неочень умён в .php ;-)
    Код:
        $isProf = $this->security->isProf();
    она подключается прямо в файле .php , а снизу идёт If & else

    а сама IsProf описывается в security.php


    Код:
      function isProf() {
            return $this->getUserInfo('pro') || $this->getUserInfo('master');
        }
    
     
  4. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.463
    Симпатии:
    114
    видимо присваивается $isProf после того, как определили что в этой переменной.
    В общем, код нужен...
     
    OmgImFamous нравится это.
  5. OmgImFamous

    OmgImFamous

    Заблокирован
    Регистр.:
    14 ноя 2007
    Сообщения:
    238
    Симпатии:
    45
    Это рип дохтара из темы


    Код:
     function isMaster() {
            return $this->getUserInfo('master');
        }
       
        function isPro() {
            return $this->getUserInfo('pro');
        }
       
        function isProf() {
            return $this->getUserInfo('pro') || $this->getUserInfo('master');
        }
    
        function getRole()
        {
            return (!empty($this->sessionData['role']) ? $this->sessionData['role'] : 0);
        }
    
    есть у кого-то идеи?:)
     
    Последнее редактирование модератором: 25 фев 2014
  6. latteo

    latteo Эффективное использование PHP, MySQL

    Moderator
    Регистр.:
    28 фев 2008
    Сообщения:
    1.549
    Симпатии:
    1.431
    А элементарная отладочная инфа где? Что возвращает var_dump($isProf); поставленный перед условными операторами.

    Наверняка эти данные кешируются - смотреть надо функцию getUserInfo()

    Кстати, почему используешь функцию isProf(), ведь логичнее (по названию) использовать isPro()?
     
    OmgImFamous нравится это.
  7. OmgImFamous

    OmgImFamous

    Заблокирован
    Регистр.:
    14 ноя 2007
    Сообщения:
    238
    Симпатии:
    45
    Latteo, я уже настолько "натрахался" с этим... =)))) что сделал проще, в файле который отвечает именно за активацию PRO я сделал header location на страницу профиля.
    В итоге, купив про, тебя редиректит на страницу своего-же профиля, а дальше уже работают контакты -)))
     
    latteo нравится это.
Статус темы:
Закрыта.