Ground Sunlight

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

ユーザ用ツール

サイト用ツール


apricot:app:user-edit

差分

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

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

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
次のリビジョン 両方とも次のリビジョン
apricot:app:user-edit [2020/05/13 23:33]
y2sunlight [新規登録のテスト]
apricot:app:user-edit [2020/05/14 10:23]
y2sunlight [新規登録用のテンプレート]
行 1: 行 1:
->編集中 
- 
------ 
- 
 ====== Apricot ユーザ登録画面 ====== ====== Apricot ユーザ登録画面 ======
  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-11//  --- //[[http://www.y2sunlight.com|y2sunlight]] 2020-05-11//
行 51: 行 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);
行 65: 行 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))
行 78: 行 78:
  
   * Modelクラスの insert() と update() をオーバーライドし、password を暗号化して保存します。   * Modelクラスの insert() と update() をオーバーライドし、password を暗号化して保存します。
 +  * update()では、パスワードは入力した場合のみ変更します。
  
 \\ \\
行 270: 行 271:
 ===== HTMLテンプレート ===== ===== HTMLテンプレート =====
  
 +ユーザ登録用のHTMLテンプレートは2つあります:
 +
 +  * 新規登録用 --- create.blade.php
 +  * 編集用 --- edit.blade.php
 +
 +Apricotでは出来るだけシンプルな実装を示すようにクライアント側のバリデーションは行っていません。必要に応じて追加してご使用下さい。尚、入力値のチェックは後述のサーバー側の[[apricot:app:validation|バリデーション]]で行います。
 +
 +また、以下のテンプレートでは、パスワードの確認入力がありません。これについても後述のバリデーションの章で追加する予定です。パスワードは新規登録時は必須入力ですが、更新時はパスワードを入力した場合のみ変更する仕様になっています。
 ==== 新規登録用のテンプレート ==== ==== 新規登録用のテンプレート ====
  
行 301: 行 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>
行 378: 行 387:
             <label for="password" class="col-md-2 col-form-label">{{__('messages.user.edit.password')}}</label>             <label for="password" class="col-md-2 col-form-label">{{__('messages.user.edit.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.edit.hint_password')}}">                     placeholder="{{__('messages.user.edit.hint_password')}}">
             </div>             </div>
行 487: 行 496:
 ===== テスト実行 ===== ===== テスト実行 =====
  
- +ユーザ登録してみましょう。ブラウザ上で以下のURLにアクセスしてみて下さい。
-ユーザ登録してみましょう。ブラウザ上で以下のURLにアクセスしてみて下さい。+
  
 <code> <code>
行 500: 行 508:
  
 [{{apricot:app:app06.png?nolink}}] [{{apricot:app:app06.png?nolink}}]
-■ データを入力して[保存]ボタンを押します。+■ データを入力して[保存]ボタンを押します。\\ 
 ■ 保存に成功すると以下の画面が表示されます。 ■ 保存に成功すると以下の画面が表示されます。
  
 [{{apricot:app:app07.png?nolink}}] [{{apricot:app:app07.png?nolink}}]
-■ データを修正して[保存]ボタンを押します。+■ データを修正して[保存]ボタンを押します。\\ 
 ■ 保存に成功すると画面が更新されます。 ■ 保存に成功すると画面が更新されます。
- 
-==== ユーザ編集のテスト ==== 
- 
-既存のユーザ情報を変更してみましょう。 
- 
-[Users]メニューをクリックしユーザ一覧画面を表示します。 
- 
-[{{apricot:app:app05.png?nolink}}] 
-■ ユーザリストの中から上の[[#ユーザ新規登録]]で作成したユーザをクリックします。  
- 
-[{{apricot:app:app05.png?nolink}}] 
-■ TODO  
-■ TODO  
  
 \\ \\
  
apricot/app/user-edit.txt · 最終更新: 2020/06/03 14:15 by tanaka