2015-06-09 41 views
-4

我想打電話給我的功能的用戶的電子郵件,但我不斷收到此錯誤:錯誤:調用成員函數獲取非對象?

Error: Call to a member function getEmail() on a non-object

我相信這個問題是不是從實體,但我很困惑,爲什麼這個方法不工作(我曾經使用它,它工作)。

這裏是我工作的功能:

public function registerAction($email,$password,$token) 
{ 
    $em = $this -> getDoctrine(); 
    $user = $em -> getRepository("OBCarsTest2Bundle:user") ->findOneBytoken($token); 

if($user == Null) 
{ 
    if(strcmp($user->getEmail(),$email) != 0) 
    { 
     $newUser = new user(); 
     $factory = $this->get('security.encoder_factory'); 
     $encoder = $factory->getEncoder($user); 
     $token = md5(uniqid($email, true)); 
     $pass = $encoder->encodePassword($password, $user->getSalt()); 
     $newUser->setEmail($email); 
     $newUser->setPassword($pass); 
     $newUser->setIsActive(1); //enable or disable 
     $newUser->setToken($token); 
     $UId = $newUser->getId(); 
    } 

回答

2

錯誤檢查。如果$user爲空,那麼getEmail()對於$user將不會有任何效果。 應該是 -

if($user != Null) 

OR

if(!empty($user)) 
相關問題