我在一个类中全局定义了一个变量$ userStatus,并且[在下拉列表中选择了一个选项时]将覆盖该值。该变量被更改下拉列表时设置的会话值覆盖。 如果未设置会话,则该函数正常工作..但是当更改下拉列表并设置会话时,将显示未定义变量$ userStatus。 这是我试过的:
protected $userStatus = 1;
public function export($f3, $params)
{
if(null !== ($this->f3->get('SESSION.userStatus')))
{
$this->$userStatus = $this->f3->get('SESSION.userStatus');
}
$rowID = 5;
foreach ($results as $result)
{
if($this->userStatus == 2)
{
//logic
}
else{ //.... }
$rowID++;
}
}
以下是使用ajax设置会话的方法:
public function updateUserStatus($f3)
{
$status = $this->f3->get('POST.status');
$this->f3->set('SESSION.userStatus', $status);
echo $status;
}
注意:
我只是想为$ userStatus设置一个默认值,否则,当下拉列表发生变化时它正常工作。请问我在哪里做错了?
答案 0 :(得分:3)
你有一个错字。
从此更改
$this->$userStatus
有了这个:
$this->userStatus
同时更改此
if(null !== ($this->f3->get('SESSION.userStatus')))
有了这个:
if(!empty($this->f3->get('SESSION.userStatus')))