【发布时间】:2016-04-03 16:44:49
【问题描述】:
我有一个php函数。
if ( $this->input->post('email') == $this->_email($this->input->post('email')) )
{
$this->_data['error'] = 'Email exist!';
return $this->load->view('login/template_view', $this->_data);
}
我的函数只返回 FALSE,即使相等是真的。我使用调试来查看我的函数是否可以返回 TRUE。
bool(false) string(14) "alex@yahoo.com" object(stdClass)#25 (1) { ["email"]=> string(14) "alex@yahoo.com" }
我有 2 个字符串,第一个返回 alex@yahoo.com,第二个字符串返回 alex@yahoo.com...但如果条件仍然返回 FALSE。
我的函数出了什么问题?
调试:
var_dump($this->input->post('email'));
var_dump($this->_email($this->input->post('email')));
die();
【问题讨论】:
-
$this->email()返回一个stdClass,而不是string...这根本不会相等。您的对象包含一个成员email,这是您应该与第一个字符串进行比较的内容。 -
哦,你说得对。但是我如何从对象中提取电子邮件 [字符串]?我是codeigniter的初学者。如果你能解释一下,我真的很感激
-
另外,只有
$this->load->view('login/template_view', $this->_data);没有return。 -
这是什么
$this->_email($this->input->post('email')) -
_email 是一个函数,但现在我的代码可以工作了。谢谢大家的帮助
标签: php sql codeigniter codeigniter-2