Функция PHP не возвращает данные. Показывает ОШИБКА

0
include("include/session.php");

    class createcountdown
        {
        public $start;
        public $howlong;
        public function get(){
        $this->start = $session->start; // $session->start Returns data from Mysql: 0000-00-00 00:00:00
        $this->howlong = $session->howlong; // $session->howlong Returns data from Mysql: 300
        $diff = $this->start-3600 + $this->howlong-time();

        if($this->start + $this->howlong > time()){
           list($h,$min,$sec)=explode(":",date("H:i:s",$diff));
           $sum = $this->start + $this->howlong-time();
           return $sum;
        }
    }

    $obj = new createcountdown();
    $result = $obj->get();
    echo $result;
  • 0
    В чем ошибка?
  • 1
    Ошибка разбора: ошибка разбора, ожидание `T_FUNCTION 'в cd.php в строке 24
Показать ещё 3 комментария
Теги:
syntax-error

4 ответа

0

вы можете попробовать следующее:

include("include/session.php");

    class createcountdown
        {
        public $start;
        public $howlong;
        public $session; // add 
        public function get(){
       // $this->start = $session->start; // $session->start Returns data from Mysql: 0000-00-00 00:00:00
         $this->start = $this->session->start; // change here
        // $this->howlong = $session->howlong; // $session->howlong Returns data from Mysql: 300
        $this->howlong = $this->session->howlong; // change here

        $diff = $this->start-3600 + $this->howlong-time();

        if($this->start + $this->howlong > time()){
           list($h,$min,$sec)=explode(":",date("H:i:s",$diff));
           $sum = $this->start + $this->howlong-time();
           return $sum;
        }
    }
 }

    $obj = new createcountdown();
    $obj->session = $session // which is globaly define
    $result = $obj->get();
    echo $result;
0

Похоже, проблема заключается в отсутствии скобки после if в get().

Когда я добавляю скобку после list($h,$min,$sec)=explode(":",date("H:i:s",$diff));, код запускается без ошибок.

0

Пожалуйста, закрывайте класс } operator missiong

include("include/session.php");

    class createcountdown
        {
        public $start;
        public $howlong;
        public function get(){
        $this->start = $session->start; // $session->start Returns data from Mysql: 0000-00-00 00:00:00
        $this->howlong = $session->howlong; // $session->howlong Returns data from Mysql: 300
        $diff = $this->start-3600 + $this->howlong-time();

        if($this->start + $this->howlong > time()){
           list($h,$min,$sec)=explode(":",date("H:i:s",$diff));
           $sum = $this->start + $this->howlong-time();
           return $sum;
        }
    }
 }

    $obj = new createcountdown();
    $result = $obj->get();
    echo $result;
  • 0
    Примечание: неопределенная переменная: сессия в строке 11
  • 0
    Попытка получить свойство необъекта в строке 12
Показать ещё 8 комментариев
0

Вы используете свойства переменной undefined $session:

$this->start = $session->start;
$this->howlong = $session->howlong;

Если это глобальный объект, используйте global $session; перед его доступом.

  • 0
    Хорошо, но где я должен разместить: global $ session; ?
  • 0
    Сделайте это первой строкой вашей функции get ().
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню