ユーザー情報変更画面修正 - 本人確認書類アップロード処理
All checks were successful
Deploy preview (main_higashide) / deploy (push) Successful in 13s

This commit is contained in:
Yuka Higashide 2025-09-02 15:22:08 +09:00
parent b3d48f8608
commit 7a267bd728
3 changed files with 11 additions and 58 deletions

View File

@ -30,52 +30,6 @@ class UserEditConfirmController extends Controller
// 直前のPOST値をold()やsession()->get('_old_input')で取得 // 直前のPOST値をold()やsession()->get('_old_input')で取得
$input = session()->get('_old_input', []); $input = session()->get('_old_input', []);
return view('user.confirm', [
'user' => $user,
'input' => $input,
'active_menu' => 'SWC-1-1', // マイページメニューの選択状態用
'user_name' => $user ? $user->user_name : '', // ユーザー名(ヘッダー用)
]);
}
public function confirm(Request $request)
{
$user_id = session('user_id');
if (!$user_id) {
return redirect('/login');
}
$user = DB::table('user')->where('user_id', $user_id)->first();
if (!$user) {
return redirect('/login');
}
// 本人確認書類画像が画像ファイルかチェック
$rules = [
'photo_filename1' => 'nullable|file|image',
'photo_filename2' => 'nullable|file|image',
];
$messages = [
'photo_filename1.image' => '本人確認書類(おもて)は画像ファイルを選択してください。',
'photo_filename2.image' => '本人確認書類(ウラ)は画像ファイルを選択してください。',
];
$this->validate($request, $rules, $messages);
$input = $request->all();
// ファイル保存処理編集画面→確認画面POST時のみ
if ($request->hasFile('photo_filename1') && $request->file('photo_filename1')->isValid()) {
$file1 = $request->file('photo_filename1');
$filename1 = uniqid('photo1_') . '.' . $file1->getClientOriginalExtension();
$file1->storeAs('photo', $filename1, 'public');
$input['photo_filename1'] = $filename1;
}
if ($request->hasFile('photo_filename2') && $request->file('photo_filename2')->isValid()) {
$file2 = $request->file('photo_filename2');
$filename2 = uniqid('photo2_') . '.' . $file2->getClientOriginalExtension();
$file2->storeAs('photo', $filename2, 'public');
$input['photo_filename2'] = $filename2;
}
\Log::info('ユーザー情報編集確認画面にアクセス', [ \Log::info('ユーザー情報編集確認画面にアクセス', [
'user_id' => $user_id, 'user_id' => $user_id,
]); ]);
@ -88,6 +42,8 @@ class UserEditConfirmController extends Controller
]); ]);
} }
// 入力内容確認画面から「変更を確定する」ボタン押下時 // 入力内容確認画面から「変更を確定する」ボタン押下時
public function submit(Request $request) public function submit(Request $request)
{ {

View File

@ -214,10 +214,10 @@ class UserEditController extends Controller
'user_relate_pre.max' => '関連先の都道府県は5文字以内で入力してください。', 'user_relate_pre.max' => '関連先の都道府県は5文字以内で入力してください。',
'user_relate_city.max' => '関連先の市区町村は20文字以内で入力してください。', 'user_relate_city.max' => '関連先の市区町村は20文字以内で入力してください。',
'user_relate_add.max' => '関連先の住所は50文字以内で入力してください。', 'user_relate_add.max' => '関連先の住所は50文字以内で入力してください。',
'photo_filename1.image' => '本人確認書類画像1は画像ファイルを選択してください。', 'photo_filename1.image' => '本人確認書類画像(おもて)は画像ファイルを選択してください。',
'photo_filename1.max' => '本人確認書類画像1は4MB以内でアップロードしてください。', 'photo_filename1.max' => '本人確認書類画像(おもて)は4MB以内でアップロードしてください。',
'photo_filename2.image' => '本人確認書類画像2は画像ファイルを選択してください。', 'photo_filename2.image' => '本人確認書類画像(ウラ)は画像ファイルを選択してください。',
'photo_filename2.max' => '本人確認書類画像2は4MB以内でアップロードしてください。', 'photo_filename2.max' => '本人確認書類画像(ウラ)は4MB以内でアップロードしてください。',
'user_pass_new.min' => '新しいパスワードは8文字以上で入力してください。', 'user_pass_new.min' => '新しいパスワードは8文字以上で入力してください。',
'user_pass_new.regex' => '新しいパスワードは半角英数字のみで入力してください。', 'user_pass_new.regex' => '新しいパスワードは半角英数字のみで入力してください。',
'user_pass_confirm.same' => '「新しいパスワード」と「パスワードの確認」が一致しません。', 'user_pass_confirm.same' => '「新しいパスワード」と「パスワードの確認」が一致しません。',
@ -363,14 +363,14 @@ class UserEditController extends Controller
if ($request->hasFile('photo_filename1')) { if ($request->hasFile('photo_filename1')) {
$file1 = $request->file('photo_filename1'); $file1 = $request->file('photo_filename1');
$filename1 = uniqid('photo1_') . '.' . $file1->getClientOriginalExtension(); $filename1 = uniqid('photo1_') . '.' . $file1->getClientOriginalExtension();
$file1->storeAs('public/photo', $filename1); $file1->storeAs('photo', $filename1, 'public');
$user->photo_filename1 = $filename1; $request->merge(['photo_filename1' => $filename1]);
} }
if ($request->hasFile('photo_filename2')) { if ($request->hasFile('photo_filename2')) {
$file2 = $request->file('photo_filename2'); $file2 = $request->file('photo_filename2');
$filename2 = uniqid('photo2_') . '.' . $file2->getClientOriginalExtension(); $filename2 = uniqid('photo2_') . '.' . $file2->getClientOriginalExtension();
$file2->storeAs('public/photo', $filename2); $file2->storeAs('photo', $filename2, 'public');
$user->photo_filename2 = $filename2; $request->merge(['photo_filename2' => $filename2]);
} }
// パスワード(ハッシュ化せず次画面に渡す) // パスワード(ハッシュ化せず次画面に渡す)

View File

@ -33,12 +33,9 @@ Route::get('/user/edit', [UserEditController::class, 'show'])
Route::post('/user/edit', [UserEditController::class, 'update']) Route::post('/user/edit', [UserEditController::class, 'update'])
->name('user.edit.post'); ->name('user.edit.post');
// ユーザー情報編集確認GET: 確認画面表示) // ユーザー情報編集確認
Route::get('/user/edit/confirm', [UserEditConfirmController::class, 'show']) Route::get('/user/edit/confirm', [UserEditConfirmController::class, 'show'])
->name('user.confirm'); ->name('user.confirm');
// ユーザー情報編集確認POST: 確認画面表示)
Route::post('/user/edit/confirm', [UserEditConfirmController::class, 'confirm'])
->name('user.edit.confirm');
// 入力内容確認画面から「変更を確定する」ボタン押下時(認証メール送信) // 入力内容確認画面から「変更を確定する」ボタン押下時(認証メール送信)
Route::post('/user/edit/submit', [UserEditConfirmController::class, 'submit']) Route::post('/user/edit/submit', [UserEditConfirmController::class, 'submit'])