fir*_*ter 0 php doctrine zend-framework
我正在尝试设置一个"忘记密码"系统.用户输入电子邮件,如果存在,则会记录新电子邮件并将其发送到输入的用户电子邮件地址.用户电子邮件检查正常.当试图将新的密码输入系统时它没有.
代码是这样的:
..... (form is_valid and check email ok)
if(is_object($object)) {
$newpassword = substr(str_shuffle(str_repeat('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',8)),0,8);
$input = $form->getValues();
$user = Doctrine::getTable('Tcc_Model_User')
->find($input['email']);
$user->fromArray($input);
$user->Password = md5($newpassword);
$user->save();
......
email send
} else {
$form->getElement('email')->addError('Sorry, there is no record of that email adddress.');
}
Run Code Online (Sandbox Code Playgroud)
我得到的错误是这样的:
Call to a member function fromArray() on a non-object
Run Code Online (Sandbox Code Playgroud)
有人能帮助我弄清楚我做错了什么吗?请.
简单地说,$user不是一个对象.它可能是false或者null,或者表示find()实际上并没有找到它想要的东西.
你可以看到它$user实际上是什么var_dump($user),然后你应该阅读文档,find看看为什么它会返回.