Ошибка PHP, оператор if - PullRequest
       23

Ошибка PHP, оператор if

5 голосов
/ 23 марта 2011

Что такое код с этим кодом?

if(isset($this->session->flashdata('login_error'))) {      // Line 39
     echo "You entered an incorrect email or password!";
}

Я использую Codeigniter и сессия загружается в autoload.php.

Я получаю сообщение об ошибке:

Неустранимая ошибка: невозможно использовать возвращаемое значение метода в контексте записи в /Applications/XAMPP/xamppfiles/htdocs/application/views/login_view.php в строке 39

Ответы [ 4 ]

12 голосов
/ 23 марта 2011

isset необходимо, только если вы пытаетесь работать с переменными , которые могут не существовать.В вашем случае вы вызываете функцию , которая, безусловно, существует.Следовательно, вам не нужно и на самом деле не может использовать isset здесь.Просто используйте if ($this->session->flashdata('login_error')), если вы хотите проверить, является ли значение истинным .

1 голос
/ 23 марта 2011

isset только проверяет, создана ли переменная. Поскольку вы можете возвращать только созданные экземпляры переменных, isset там недопустим. Лучше всего сделать это следующим образом:

if($this->session->flashdata('login_error') != null) {      // Line 39
     echo "You entered an incorrect email or password!";
}
1 голос
/ 23 марта 2011

Вы не можете использовать функцию с isset подобным образом. То, что вы могли бы сделать, это что-то вроде:

$txt = $this->session->flashdata('login_error');
if(!empty($txt))
{
     echo "You entered an incorrect email or password!";
}
1 голос
/ 23 марта 2011

просто проверяет, будет ли ($ this-> session-> flashdata ('login_error')) возвращать false, если результатом этой функции является логическое значение FALSE или NULL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...