彼は、元の「ジョン」をデータベースに保存してから、データベースに保存された値と、ログイン フォームに入力された名前を strtolower することを意味します。その後、登録された方法と同じユーザー名が引き続き使用されます。
追加された例:
ログイン.ctp
echo $this->Form->create('User', array('url' => array('controller' => 'users', 'action' => 'register')));
echo $this->Form->input('User.username', array('label' => 'First Name:'));
echo $this->Form->input('User.password', array('label' => 'Password', 'type' => 'password', 'value' => false));
echo $this->Form->submit('Register');
echo $this->Form->end();
ユーザーがそこにユーザー名とパスワードを入力するときを考慮してください。ユーザー名「John」を使用しているとします。大文字の J は、データベースにあることを確認したいものです。データを保存するときに strtolower を使用するつもりはありません。したがって、ケーキの save() メソッドを使用することで、大文字と小文字を区別する問題を保存できます。
register.ctp
public function register()
{
if ($this->Auth->loggedIn()) {
$this->redirect(array('controller' => 'users', 'action' => 'login'));
}
if ($this->request->is('post')) {
if ($this->User->User->saveAll($this->request->data)
{
$this->Session->setFlash(__('Your account has been created', true));
$this->redirect(array('controller' => 'users', 'action' => 'index'));
}}
ログインアクションを実行すると、次のようになります。
if ($this->request->is('post')) {
if ($this->Auth->loggedIn()) {
$logged = $this->User->query('Your sql query matching username/password with strtolower, if you need to implement security hash from cakephp you can do that through cakephp hash method');
}
}
基本的な例ですが、役立つはずです