1

Тема: Допоможіть мені з конструкцією if else

Добрий вечір!
Допоможіть мені розібратися з конструкцією if else в цьому коді:

        if($this->main)
        {
            $data = array(
                // files list
                'files' => ORM::factory('File')->find_all(),
 
                // errors from user session
                'errors' => Session::instance()->get_once('errors', array()),
 
                // message from user session
                'message' => Session::instance()->get_once('message'),
            );
        
            $content = View::factory('files', $data);
            // set values to template
            $this->template->content = $content;
        }
        else
        {
            HTTP::redirect('/login');
        }

Суть в тому що коли юзер вводить пароль і він вірний то $this->main набуває значення TRUE і виконується перша частина коду, а в мене воно не виконується коли ввожу вірний пароль то алгоритм не спрацьовує, але коли ставлю знак (!) то все спрацьовує, але можна тепер пропустити ввід пароля...
Де я затупив???

2

Re: Допоможіть мені з конструкцією if else

Ви впевнені в тому, що $this->main набуває значення TRUE?

x
Подякували: koala, generation2

3

Re: Допоможіть мені з конструкцією if else

Chemist-i написав:

Ви впевнені в тому, що $this->main набуває значення TRUE?

так. на іншому проекті який знаходиться на локальній мережі все працює вірно, а на хостингу не працює чомусь....

4 Востаннє редагувалося koala (16.12.2014 08:26:36)

Re: Допоможіть мені з конструкцією if else

if в PHP спрацьовує не тільки від TRUE, а й від будь-якого значення, крім FALSE, 0, 0.0, "" (пустого рядка), рядка "0" (так, це вже шиза), пустого масиву, NULL і невиставлених змінних. Ну, і ще пари екзотичних випадків. Ось так.
Тому вам треба розібратися, чому саме дорівнює $this->main в локальному проекті, де це значення виставляється і чому воно не виставляється так само на хостингу.

Подякували: generation1

5

Re: Допоможіть мені з конструкцією if else

Ось краще так перевіряти ;)

var_dump($this->main);
if($this->main === true ){

}
Подякували: generation1

6

Re: Допоможіть мені з конструкцією if else

funivan написав:

Ось краще так перевіряти ;)

var_dump($this->main);
if($this->main === true ){

}

на жаль не допомогло(((

7

Re: Допоможіть мені з конструкцією if else

То що вам вардамп показує?

Подякували: generation1

8

Re: Допоможіть мені з конструкцією if else

Vo_Vik написав:

То що вам вардамп показує?

Виправив))) затупашив на елементарному...

9

Re: Допоможіть мені з конструкцією if else

То поділіться з іншими, щоб наступний, хто на цьому затупить, знайшов відповідь.