Ground Sunlight

Windowsで作る - PHPプログラミングの開発環境

ユーザ用ツール

サイト用ツール


apricot:app:user-edit

差分

このページの2つのバージョン間の差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン 両方とも次のリビジョン
apricot:app:user-edit [2020/05/13 23:34]
y2sunlight
apricot:app:user-edit [2020/05/14 10:25]
y2sunlight [編集用のテンプレート]
行 47: 行 47:
     public function insert(array $inputs):ORM     public function insert(array $inputs):ORM
     {     {
 +        // 新規登録時、パスワードは必須
         // パスワード暗号化         // パスワード暗号化
         $inputs['password'] = password_hash($inputs['password'], PASSWORD_DEFAULT);         $inputs['password'] = password_hash($inputs['password'], PASSWORD_DEFAULT);
行 61: 行 62:
     public function update($id, array $inputs):ORM     public function update($id, array $inputs):ORM
     {     {
 +        // データ更新時、パスワードは入力した場合のみ変更
 +        if(empty($inputs['password'])) unset($inputs['password']);
 +
         // パスワード暗号化         // パスワード暗号化
         if(array_key_exists('password', $inputs))         if(array_key_exists('password', $inputs))
行 74: 行 78:
  
   * Modelクラスの insert() と update() をオーバーライドし、password を暗号化して保存します。   * Modelクラスの insert() と update() をオーバーライドし、password を暗号化して保存します。
 +  * update()では、パスワードは入力した場合のみ変更します。
  
 \\ \\
行 266: 行 271:
 ===== HTMLテンプレート ===== ===== HTMLテンプレート =====
  
 +ユーザ登録用のHTMLテンプレートは2つあります:
 +
 +  * 新規登録用 --- create.blade.php
 +  * 編集用 --- edit.blade.php
 +
 +Apricotでは出来るだけシンプルな実装を示すようにクライアント側のバリデーションは行っていません。必要に応じて追加してご使用下さい。尚、入力値のチェックは後述のサーバー側の[[apricot:app:validation|バリデーション]]で行います。
 +
 +また、以下のテンプレートでは、パスワードの確認入力がありません。これについても後述のバリデーションの章で追加する予定です。パスワードは新規登録時は必須入力ですが、更新時はパスワードを入力した場合のみ変更する仕様になっています。
 ==== 新規登録用のテンプレート ==== ==== 新規登録用のテンプレート ====
  
行 297: 行 310:
             <label for="password" class="col-md-2 col-form-label">{{__('messages.user.create.password')}}</label>             <label for="password" class="col-md-2 col-form-label">{{__('messages.user.create.password')}}</label>
             <div class="col-md-10">             <div class="col-md-10">
-                <input type="text" name="password" id="password" class="form-control" value="{{old('password')}}"+                <input type="password" name="password" id="password" class="form-control" value="{{old('password')}}"
                     placeholder="{{__('messages.user.create.hint_password')}}">                     placeholder="{{__('messages.user.create.hint_password')}}">
             </div>             </div>
行 495: 行 508:
  
 [{{apricot:app:app06.png?nolink}}] [{{apricot:app:app06.png?nolink}}]
-■ データを入力して[保存]ボタンを押します。+■ データを入力して[保存]ボタンを押します。\\ 
 ■ 保存に成功すると以下の画面が表示されます。 ■ 保存に成功すると以下の画面が表示されます。
  
 [{{apricot:app:app07.png?nolink}}] [{{apricot:app:app07.png?nolink}}]
-■ データを修正して[保存]ボタンを押します。+■ データを修正して[保存]ボタンを押します。\\ 
 ■ 保存に成功すると画面が更新されます。 ■ 保存に成功すると画面が更新されます。
  
 \\ \\
  
apricot/app/user-edit.txt · 最終更新: 2020/06/03 14:15 by tanaka