Phalcon рендерит половину страницы/странно рендерит

Как выглядит страница

^Как выглядит моя страница.

Я почему-то получаю эту ошибку

Неустранимая ошибка PHP: Uncaught Error: вызов функции-члена getHash() для нулевого значения в /var/www/html/coinpot/application/views/index/index.volt.php:146\nТрассировка стека:\n#0 [внутренний function]: unknown()\n#1 [внутренняя функция]: Phalcon\Mvc\View\Engine\Volt->render('../application/...', Array, true)\n#2 [внутренняя функция ]: Phalcon\Mvc\View->_engineRender(Array, 'index/index', true, true, NULL)\n#3 [внутренняя функция]: Phalcon\Mvc\View->render('index', 'index' , Array)\n#4 /var/www/html/coinpot/public/index.php(158): Phalcon\Mvc\Application->handle()\n#5 {main}\n добавлено в /var/www /html/coinpot/application/views/index/index.volt.php в строке 146

при загрузке моей страницы.

Я также получаю множество других ошибок.

[Sat Oct 08 09:35:39.137966 2016] [:error] [pid 24670] [client ] PHP Notice:  Trying to get property of non-object in /var/www/html/coinpot/application/controllers/BaseController.php on line 37
[Sat Oct 08 09:35:39.143992 2016] [:error] [pid 24670] [client ] PHP Notice:  Undefined variable: pool in /var/www/html/coinpot/application/views/index/index.volt.php on line 101
[Sat Oct 08 09:35:39.144012 2016] [:error] [pid 24670] [client ] PHP Notice:  Trying to get property of non-object in /var/www/html/coinpot/application/views/index/index.volt.php on line 101
[Sat Oct 08 09:35:39.144037 2016] [:error] [pid 24670] [client ] PHP Notice:  Undefined variable: deposits in /var/www/html/coinpot/application/views/index/index.volt.php on line 134
[Sat Oct 08 09:35:39.144050 2016] [:error] [pid 24670] [client ] PHP Warning:  Invalid argument supplied for foreach() in /var/www/html/coinpot/application/views/index/index.volt.php on line 134
[Sat Oct 08 09:35:39.144070 2016] [:error] [pid 24670] [client ] PHP Notice:  Undefined variable: pool in /var/www/html/coinpot/application/views/index/index.volt.php on line 146

Строки 136-152 index.volt.php

    function decimalPlaces(float,length) {
        ret = "";
        str = float.toString();
        array = str.split(".");
        if(array.length==2) {
            ret += array[0] + ".";
            for(i=0;i<length;i++) {
                if(i>=array[1].length) ret += '0';
                else ret+= array[1][i];
            }
        } LINE 146
        else if(array.length == 1) {
            ret += array[0] + ".";
            for(i=0;i<length;i++) {
                ret += '0'
            }
        }

person Recon    schedule 08.10.2016    source источник
comment
Не могли бы вы показать поток кода, упомянутый в сообщениях об ошибках?   -  person Timothy    schedule 08.10.2016
comment
Добавлена ​​ошибка строки 146   -  person Recon    schedule 09.10.2016


Ответы (1)


Я не вижу index.volt.php, поэтому я так думаю.

Добавьте = NULL в строку 146 index.volt.php после переменной или переменных для функции getHash в скобках ().

Также уведомления отображаются на локальном хосте, но не в сети. Вы можете добавить error_reporting(E_ALL & ~E_NOTICE); или изменить его в php.ini, чтобы избавиться от уведомлений. Вам не нужно исправлять уведомления.

person desbest    schedule 09.10.2016
comment
сделал команду + f в index.volt.php, getHash никогда не вызывается. Он определен в моей модели Pool. public function getHash() { return md5($this->getPercentage() . $this->secret); } - person Recon; 09.10.2016
comment
Измените его на if (isset($this->getPercentage()) && isset($this->secret)) { public function getHash())){ return md5($this->getPercentage() . $this->secret); }} - person desbest; 09.10.2016
comment
Пробовал, новая ошибка и ошибка HTTP 500. PHP Parse error: syntax error, unexpected 'if' (T_IF), expecting function (T_FUNCTION) in /var/www/html/coinpot/application/models/Pool.php on line 97 - person Recon; 09.10.2016
comment
Думаю, у меня есть ответ. И $this->getPercentage(), и $this->secret() пусты. - person desbest; 09.10.2016