Помогите разобраться с if elseif (покупка pro)

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

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

    OmgImFamous

    Заблокирован
    Регистр.:
    14 ноя 2007
    Сообщения:
    238
    Симпатии:
    45
    Код:
          <?
      if (!$isProf) {
       echo "ne pokazem";
    } elseif ($isProf) {
        echo "pokazem";
    }
    ?>
    
    Куив услугу PRO, сработает isProf - и я увижу слово "pokazem"
    Сняв услугу PRO, ДОЛЖЕН сработать !isProf - и я должен увдеть "ne pokazem"

    Но ничего не просиходит, если меняю в ручную местами !$isProf на $isProf - то всме меняется местами..

    в чём ошибка?
     
  2. danneo

    danneo Честный

    Регистр.:
    13 ноя 2007
    Сообщения:
    1.453
    Симпатии:
    113
    чет вы не любите показывать весь код...
    $isProf задается в другом коде, раньше. Вот там и нужно смотреть, почему туда приходит все время true. Попробуйте var_dump() везде наставить.
     
  3. 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);
        }
    
    Больше упомянаний нет :(
     
  4. OmgImFamous

    OmgImFamous

    Заблокирован
    Регистр.:
    14 ноя 2007
    Сообщения:
    238
    Симпатии:
    45
    Фух, в общем проблема более менее решена..
    Помогите сделать редирект, как только сработает isProf;
    как только у человек покупает isProf, его редиректит
     
  5. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    надо в начало скрипта вставить
    PHP:
    ob_start();
    и где надо редирект вставить
    PHP:
    header("LOCATION: http://sait.ru");
     
  6. OmgImFamous

    OmgImFamous

    Заблокирован
    Регистр.:
    14 ноя 2007
    Сообщения:
    238
    Симпатии:
    45
    с такой конструкцией меня не пускает в профиль к себе.. редиректит постоянно
     
  7. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    когда человек покупает чото, его редиректит. То есть надо условие сделать, проверку, купил чел или нет. Как то так

    PHP:
    #по умолчанию
    $buy == 'false';

    #тут код купил/не купил. Если купил то
    $buy == 'true';
    if(
    $buy == true)
    {
       
    header("LOCATION: http://sait.ru");
    }
     
  8. OmgImFamous

    OmgImFamous

    Заблокирован
    Регистр.:
    14 ноя 2007
    Сообщения:
    238
    Симпатии:
    45
    оох как сложно, я ешё нё такой умный =)))
    функция isProf описана в одном файле, а я правлю шаблона, т.е вставляю в нужно мне месте if isProf , получается я могу сделать

    PHP:
    $isProf == 'false';
    функция isProf
    $isProf 
    == 'true';
    if(
    $isProf == true)
    {
    header...;
    }
    или я нетак вас понял?
     
  9. zilon

    zilon

    Регистр.:
    30 июл 2011
    Сообщения:
    370
    Симпатии:
    147
    если $isProf отвечает за покупку товара и это булев тип(результат работы функции true/false) то должно сработать... если не сработает то есть ещё одна идея, попроще...
     
  10. OmgImFamous

    OmgImFamous

    Заблокирован
    Регистр.:
    14 ноя 2007
    Сообщения:
    238
    Симпатии:
    45
    ну, судя по всему, то - да, правда я могу и ошибаться.
    А какая попроще?
     
Статус темы:
Закрыта.