0
CakePHPを使用して忘れたパスワードをリセットすることに関するいくつかのオンラインの例に従っています。このコードは、このデバッグ情報私のページが表示され実行されるとCakePHP:データベースを更新できません。
$temp = $this->User->findByEmail($this->data['User']['email']);
$user = $temp['User']['UID'];
$this->set('email', $this->data['User']['email']);
if($user)
{
$new_salt = UsersController::generateStr();
$new_password = UsersController::generateStr(5);
$temp_password = Security::hash((Security::hash($new_password,'md5',false) . $new_salt), 'md5', false);
$data = array('User' => array('UID' => $user, 'Password' => $temp_password));
$this->User->save($data, false, array('Password'));
$data = array('User' => array('UID' => $user, 'Salt' => $new_salt));
$this->User->save($data, false, array('Salt'));
$to = $this->data['User']['email'];
$subject = "RideShare Password Reset";
$message = "Your new RideShare password is " . $new_password;
$headers = "";
mail($to, $subject, $message, $headers);
$this->Session->setFlash('Your new password has been sent to' . $this->data['User']['email']);
}
:ここでは、コードです
Query: INSERT INTO `users` (`Password`, `modified`, `created`) VALUES ('81a5392c1d9687811cfeb7e66c887a4a', '2011-07-08 23:53:05', '2011-07-08 23:53:05')
Query: INSERT INTO `users` (`Salt`) VALUES ('HjP1miaias')
しかし、私はphpMyAdminのに行くことによって、データベースを直接調べるとき、私は、値が実際にされていないことを確認します更新しました。
アドバイスありがとうございます。
$ this-> user-> id = $ userと$ this-> User-> uid結果はほぼ同じでした。特に、データベースは更新されていません。テーブルに新しい行がありません。 – Schemer
実際に$ this-> User-> id = $ userは、未定義のUser.idについて新しい苦情を投げました。 $ this-> User-> uid =は以前と同じ結果を返しました。 – Schemer
idの代わりにUIDを使用するようにモデルを構成しましたか? – JJJ