PHP函数don';t返回数据。显示错误
您正在使用未定义变量的属性PHP函数don';t返回数据。显示错误,php,mysql,syntax-error,Php,Mysql,Syntax Error,您正在使用未定义变量的属性$session: include("include/session.php"); class createcountdown { public $start; public $howlong; public function get(){ $this->start = $session->start; // $session->start Returns dat
$session
:
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;
如果是全局对象,则使用
global$session在访问它之前进行编码。问题似乎是get()
中的if
之后缺少大括号
当我在list($h,$min,$sec)=explode(“:”,date($h:I:s“,$diff))之后添加大括号时代码>,代码运行时没有错误。请关闭类}
运算符丢失
$this->start = $session->start;
$this->howlong = $session->howlong;
您可以尝试以下方法:
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;
解析错误:解析错误,第24行的cd.php中应为'T_FUNCTION',您似乎忘记关闭类声明的}
@Alex JL为您补充这一点,它缺少一个右括号。当我将这段代码粘贴到解释器中并添加大括号时,我得到“Parse error:syntax error,unexpected T_变量,在第17行的php shell代码中需要T_函数”是的,大括号应该放在哪里?它似乎在get()
中的if
之后丢失了。好的,但我必须放置在哪里:global$session?将其作为get()函数的第一行。注意:未定义变量:第11行中的会话试图获取第12行中非对象的属性class createcountdown{global$session;分析错误,第6行中应为'T_function':class createcountdown{global$session;class createcountdown{public$start;public$howlong;公共函数get(){global$session;
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;