diff --git a/app/Http/Controllers/InquiryConfirmController.php b/app/Http/Controllers/InquiryConfirmController.php index 46bec8d..f5dfd14 100644 --- a/app/Http/Controllers/InquiryConfirmController.php +++ b/app/Http/Controllers/InquiryConfirmController.php @@ -11,9 +11,9 @@ class InquiryConfirmController extends Controller { // 初期表示内容 public $form_data = [ - ["name", "text", "氏名*", ""], - ["email", "email", "メールアドレス*", ""], - ["tel", "text", "電話番号*", ""], + ["name", "text", "氏名*", "山田 太郎"], + ["email", "email", "メールアドレス*", "info@so-manager.com"], + ["tel", "text", "電話番号*", "000-0000-0000"], ["subject", "checkbox", "お問い合わせ概要*", ["定期契約について", "操作方法について", "支払方法について", "その他お問合せ"]], ["parking", "text", "お問い合わせ駐輪場名", ""], ["detail", "textarea", "お問い合わせ詳細*", ""], @@ -40,11 +40,11 @@ class InquiryConfirmController extends Controller // エラーメッセージ $message = [ - 'name.required' => '名前を入力してください', - 'email.required' => 'メールアドレスを入力してください', - 'tel.required' => '電話番号を入力してください', - 'subject.required' => 'お問い合わせ概要を選択してください', - 'detail.required' => 'お問い合わせ詳細を入力してください', + 'name.required' => '氏名は必ず入力してください。', + 'email.required' => 'メールアドレスは必ず入力してください。', + 'tel.required' => '電話番号は必ず入力してください。', + 'subject.required' => 'お問い合わせ概要が選択されていません。', + 'detail.required' => 'お問い合わせの詳細が入力されていません。', ]; // バリデーションチェック diff --git a/app/Http/Controllers/MemberRegistrationController.php b/app/Http/Controllers/MemberRegistrationController.php index 960172c..e8fbfd6 100644 --- a/app/Http/Controllers/MemberRegistrationController.php +++ b/app/Http/Controllers/MemberRegistrationController.php @@ -51,7 +51,7 @@ class MemberRegistrationController extends Controller return view('general.swo2_2'); } - // 入力画面表示 + // メールのURLからアクセス public function index() { // 署名付きURLの有効期限チェック @@ -59,32 +59,39 @@ class MemberRegistrationController extends Controller return redirect('error')->withErrors(['error' => '署名の有効期限が切れています']); } - // 初回遷移(GETアクセス)時のリクエストパラメータチェック - if (!session()->has('email')) { + // パラメータ存在チェック + $encryptedEmail = request()->query('email'); + if (!$encryptedEmail) { + return redirect('error')->withErrors(['error' => 'メールアドレスが指定されていません']); + } - // パラメータ存在チェック - $encryptedEmail = request()->query('email'); - if (!$encryptedEmail) { - return redirect('error')->withErrors(['error' => 'メールアドレスが指定されていません']); + // パラメータ整合性チェック + try { + $email = decrypt($encryptedEmail); + } catch (\Exception $e) { + return redirect('error')->withErrors(['error' => 'メールアドレスの情報が不正です']); + } + + // 二重登録防止チェック + $existingMember = User::where('user_primemail', $email)->get(); + foreach ($existingMember as $member) { + if ($member->user_quit_flag != 1) { + return redirect('error')->withErrors(['error' => '既に登録済みです']); } + } - // パラメータ整合性チェック - try { - $email = decrypt($encryptedEmail); - } catch (\Exception $e) { - return redirect('error')->withErrors(['error' => 'メールアドレスの情報が不正です']); - } + // メールアドレスをセッションに保存 + session(['email' => $email]); - // 二重登録防止チェック - $existingMember = User::where('user_primemail', $email)->get(); - foreach ($existingMember as $member) { - if ($member->user_quit_flag != 1) { - return redirect('error')->withErrors(['error' => '既に登録済みです']); - } - } + // 入力画面に遷移 + return view('general.swo2_3'); + } - // メールアドレスをセッションに保存 - session(['email' => $email]); + // リダイレクト用 + public function indexBack(Request $request) + { + if (!session('email')) { + return redirect('error')->withErrors(['error' => '不正なアクセスです']); } // 入力画面に遷移 @@ -119,9 +126,7 @@ class MemberRegistrationController extends Controller // バリデーションチェック $validator = Validator::make($request->all(), $rules, $message); if ($validator->fails()) { - return redirect('swo2_3') - ->withErrors($validator) - ->withInput(); + return redirect('swo2_3B')->withErrors($validator)->withInput(); } // 画面返却値 @@ -142,7 +147,7 @@ class MemberRegistrationController extends Controller { // 前の画面に戻る if($request->input('back') == 'back'){ - return redirect('swo2_3')->withInput(); + return redirect('swo2_3B')->withInput(); } // 登録完了後のブラウザバックによる二重登録対策 diff --git a/resources/views/general/swo5_1.blade.php b/resources/views/general/swo5_1.blade.php index 98002ca..50faacc 100644 --- a/resources/views/general/swo5_1.blade.php +++ b/resources/views/general/swo5_1.blade.php @@ -66,10 +66,10 @@ 駐輪場名 - 市町村名 - 駅名 + 市町村名 + 駅名 @foreach($psections as $psection) - {{ $psection->psection_subject }} + {{ $psection->psection_subject }} @endforeach @@ -207,7 +207,7 @@ html += '
'; html += '' + zone.psection_subject + ':空き' + zone.zone_vacant + '台'; if (zone.status == 1) { - html += '定期契約'; + html += '定期契約'; } else if (zone.status == 2) { html += '空き待ち予約'; } else if (zone.status == 3) { diff --git a/resources/views/general/swo7_1.blade.php b/resources/views/general/swo7_1.blade.php index 30afafe..aa856ba 100644 --- a/resources/views/general/swo7_1.blade.php +++ b/resources/views/general/swo7_1.blade.php @@ -5,13 +5,18 @@

お問い合わせ

株式会社ソーリンへのご訪問ありがとうございます。 - お問い合わせいただくお客さまは、当社のホームページにおける個人情報の取り扱いについて、あらかじめご確認いただき、ご同意いただいた上でお問い合わせください。個人情報の開示、訂正、削除、利用停止については、こちらをご覧下さい。
+ お問い合わせいただくお客さまは、当社のホームページにおける個人情報の取り扱いについて、あらかじめご確認いただき、ご同意いただいた上でお問い合わせください。個人情報の開示、訂正、削除、利用停止については、こちらをご覧下さい。
また、メールから送信ができないお客様はお手数ですが、下記電話までご連絡をお願い致します。 ※ 携帯・スマートフォンからメールでのお問い合わせの際に、確実にご返信をさせていただくために、ドメイン (so-manager.com) の受信許可設定をお願い致します。

+ @if($errors->any()) + + @endif
@foreach($form_data as $value) -
{{ $value[2] }}
+
{!! preg_replace('/\*$/', '*', e($value[2])) !!}
@if($value[1] == 'textarea')
@elseif($value[1] == 'checkbox') @@ -25,18 +30,10 @@ @endforeach
@else -
+
@endif @endforeach
-

- @foreach($form_data as $value) - @if($errors->has($value[0])) - {{ $errors->first($value[0]) }} - @break; - @endif - @endforeach -

@csrf diff --git a/resources/views/general/swo8_1.blade.php b/resources/views/general/swo8_1.blade.php index 52e07ad..2e483fc 100644 --- a/resources/views/general/swo8_1.blade.php +++ b/resources/views/general/swo8_1.blade.php @@ -16,7 +16,7 @@
- +
@if ($errors->any()) @foreach ($errors->all() as $error) {{ $error }} @endforeach @endif

diff --git a/routes/web.php b/routes/web.php index 2b79e5a..f54a471 100644 --- a/routes/web.php +++ b/routes/web.php @@ -52,6 +52,7 @@ Route::get('/error', function () { return view('general.error'); })->name('error // コントローラー経由 Route::post('/swo2_2', [MemberRegistrationController::class, 'sendMail'])->name('swo2_2'); Route::get('/swo2_3', [MemberRegistrationController::class, 'index'])->name('swo2_3')->middleware('signed'); +Route::get('/swo2_3B', [MemberRegistrationController::class, 'indexBack'])->name('swo2_3B'); Route::post('/swo2_4', [MemberRegistrationController::class, 'confirm'])->name('swo2_4'); Route::post('/swo2_5', [MemberRegistrationController::class, 'complete'])->name('swo2_5'); Route::get('/swo4_1', [LoginController::class, 'login'])->name('swo4_1');