質問編集履歴

4

質問内容の修正

2022/10/26 08:55

投稿

Fukusuke0604
Fukusuke0604

スコア554

test CHANGED
File without changes
test CHANGED
@@ -1,12 +1,16 @@
1
1
  laravel9 問い合わせフォームを作成しました。
2
- 問い合わせフォームは、「入力画面(company-info/{ユーザーID})」-> 「確認画面 (contact/confirm)」->「送信完了画面 (contact/thanks)」へとページ遷移します。
3
2
 
4
- しかしこの「入力画面」は、登録ユーザー詳細ページに設置してあり、問い合わせフォームのURLは以下のようになっています。
5
- ```URL
6
- company-info/{ユーザーID}
7
- ```
8
- 確認画面」へと遷移した際に 「戻る」ボタンを押すとcompany-info/{ユーザーID}へ戻りたいのですが、戻るボタンの場合リダイレクト処理、コントロラーの書き方がわかりせん
3
+ 問い合わせフォームは、入力画面company-info/{企業ID})」-> 「確認画面 (contact/confirm)」->「送信完了画面 (contact/thanks)」とペジ遷移し
9
4
 
5
+ しかし、この「入力画面」は、登録企業詳細ページに設置してあり、問い合わせフォームのURLは以下のようになっています。
6
+
7
+ http://localhost/company-info/{企業ID}
8
+
9
+ 「確認画面 (contact/confirm)」へと遷移した際に 「入力画面に戻る」ボタンを押すとcompany-info/{企業ID}へ戻りたいのですが、「入力画面に戻る」場合リダイレクト処理、コントローラーの書き方がわかりません。
10
+
11
+ また、送信ボタンを押すと、登録企業のメールアドレスも取得して問い合わせ内容を送信したいです。
12
+
13
+ コントローラーの処理は以下のように書いています。
10
14
  ```ContactsController.php
11
15
  public function send(Request $request)
12
16
  {
@@ -31,7 +35,7 @@
31
35
  if($action !== 'submit'){
32
36
  // 戻るボタンの場合リダイレクト処理
33
37
  return redirect()
34
- ->route('company-info/')
38
+ ->route('company-info/{企業ID}')
35
39
  ->withInput($inputs);
36
40
  } else {
37
41
  // 送信ボタンの場合、送信処理
@@ -39,7 +43,7 @@
39
43
  // ユーザにメールを送信
40
44
  \Mail::to($inputs['email'])->send(new ContactsSendmail($inputs));
41
45
  // 自分にメールを送信
42
- \Mail::to('ここに登録ユーザーのメールアドレスが入る。 例) $user->mail')->send(new ContactsSendmail($inputs));
46
+ \Mail::to('{企業ID}->email')->send(new ContactsSendmail($inputs));
43
47
 
44
48
  // 二重送信対策のためトークンを再発行
45
49
  $request->session()->regenerateToken();
@@ -51,20 +55,5 @@
51
55
  }
52
56
  ```
53
57
 
54
- 上記の書き方だと、// 戻るボタンの場合リダイレクト処理時に、URL company-info/{ユーザーID}へ遷移できません。(エラー画面 Route [company-info/] not defined. となる。)
55
58
 
56
-
57
- 前のページのURLが取得できれば良いのでは?と考え、$prev = url()->previous(); としてみたのですが、  dd($prev);の結果は "http://localhost/contact/confirm" 「確認画面」が取得されています。 
58
-
59
- return redirect()->route('company-info/{ユーザーID}') {ユーザーID}部分が取得できれば良いのですが、、、方法がわかりません。
60
-
61
- else 以降に
62
- ```ContactsController.php
63
- // 自分にメールを送信
64
- \Mail::to('ここにユーザーのメールアドレスが入る')->send(new ContactsSendmail($inputs));
65
- ```
66
- 登録ユーザーメールアドレスも取得しなければいけないので、問い合わせフォーム設置しているユーザーの情報を取得しなければけません
59
+ {企業ID}の取得方法が分かればいいのですがその方法教えていただきたです
67
-
68
- どうすれば、company-info/{ユーザーID}ページに設置している問い合わせフォームから「確認画面 (contact/confirm)」へ遷移。
69
- 「戻る」ボタンで確認画面から company-info/{ユーザーID}に戻れるでしょうか?
70
-

3

テキスト修正

2022/10/26 08:41

投稿

Fukusuke0604
Fukusuke0604

スコア554

test CHANGED
File without changes
test CHANGED
@@ -39,7 +39,7 @@
39
39
  // ユーザにメールを送信
40
40
  \Mail::to($inputs['email'])->send(new ContactsSendmail($inputs));
41
41
  // 自分にメールを送信
42
- \Mail::to('ここにユーザーのメールアドレスが入る')->send(new ContactsSendmail($inputs));
42
+ \Mail::to('ここに登録ユーザーのメールアドレスが入る。 例) $user->mail')->send(new ContactsSendmail($inputs));
43
43
 
44
44
  // 二重送信対策のためトークンを再発行
45
45
  $request->session()->regenerateToken();
@@ -56,7 +56,7 @@
56
56
 
57
57
  前のページのURLが取得できれば良いのでは?と考え、$prev = url()->previous(); としてみたのですが、  dd($prev);の結果は "http://localhost/contact/confirm" 「確認画面」が取得されています。 
58
58
 
59
- return redirect()->route('company-info/{ユーザーID}')が取得できれば良いのですが、、、方法がわかりません。
59
+ return redirect()->route('company-info/{ユーザーID}') {ユーザーID}部分が取得できれば良いのですが、、、方法がわかりません。
60
60
 
61
61
  else 以降に
62
62
  ```ContactsController.php

2

テキスト修正

2022/10/26 08:38

投稿

Fukusuke0604
Fukusuke0604

スコア554

test CHANGED
File without changes
test CHANGED
@@ -7,38 +7,64 @@
7
7
  ```
8
8
  「確認画面」へと遷移した際に 「戻る」ボタンを押すとcompany-info/{ユーザーID}へ戻りたいのですが、戻るボタンの場合リダイレクト処理、コントローラーの書き方がわかりません。
9
9
 
10
- ```ここに言語を入力
10
+ ```ContactsController.php
11
+ public function send(Request $request)
12
+ {
13
+ $request->validate([
14
+ 'company_name' => ['nullable', 'string', 'max:255'],
15
+ 'contact_name' => ['required', 'string', 'max:255'],
16
+ 'kana' => ['required', 'string', 'max:255', 'regex:/^[ア-ン゛゜ァ-ォャ-ョー]+$/u'],
17
+ 'tell' => ['required', 'numeric', 'digits_between:10,11'],
18
+ 'zipcode' => ['nullable', 'numeric', 'digits_between:6,7'],
19
+ 'add' => ['required', 'string', 'max:255'],
20
+ 'email' => ['required', 'email', 'max:255'],
11
- $action = $request->input('action');
21
+ 'body' => ['required','max:255']
22
+ ]);
12
23
 
13
- // action以外inputの値を取得
24
+ // actionの値を取得
14
- $inputs = $request->except('action');
25
+ $action = $request->input('action');
15
26
 
27
+ // action以外のinputの値を取得
28
+ $inputs = $request->except('action');
29
+
16
- //actionの値で分岐
30
+ //actionの値で分岐
17
- if($action !== 'submit'){
31
+ if($action !== 'submit'){
18
- // 戻るボタンの場合リダイレクト処理
32
+ // 戻るボタンの場合リダイレクト処理
19
- return redirect()
33
+ return redirect()
20
- ->route('company-info/')
34
+ ->route('company-info/')
21
- ->withInput($inputs);
35
+ ->withInput($inputs);
22
- } else {
36
+ } else {
23
- // 送信ボタンの場合、送信処理
37
+ // 送信ボタンの場合、送信処理
38
+
39
+ // ユーザにメールを送信
40
+ \Mail::to($inputs['email'])->send(new ContactsSendmail($inputs));
41
+ // 自分にメールを送信
42
+ \Mail::to('ここにユーザーのメールアドレスが入る')->send(new ContactsSendmail($inputs));
43
+
44
+ // 二重送信対策のためトークンを再発行
45
+ $request->session()->regenerateToken();
46
+
47
+ // 送信完了ページのviewを表示
48
+ return view('contact.thanks');
49
+
24
- }
50
+ }
51
+ }
25
52
  ```
26
53
 
27
54
  上記の書き方だと、// 戻るボタンの場合リダイレクト処理時に、URL company-info/{ユーザーID}へ遷移できません。(エラー画面 Route [company-info/] not defined. となる。)
28
55
 
29
56
 
30
- 前のページのURLが取得できれば良いのでは?と考え、以下のように$prev url()->previous(); としてみたのですが、  dd($prev);の結果は "http://localhost/contact/confirm" 「確認画面」が取得されています。 では前の前に表示していたページのURLを取得?または->route('company-info/{ユーザーID}')が取得できれば良いのですが、、、方法がわかりません。
31
- ```ここに言語を入力
32
- if($action !== 'submit'){
33
- // 戻るボタンの場合リダイレクト処理
34
- $prev = url()->previous();
35
- dd($prev);
36
- return redirect()
37
- ->route('company-info/')
38
- ->withInput($inputs);
39
- } else {
40
- // 送信ボタンの場合、送信処理
41
- }
57
+ 前のページのURLが取得できれば良いのでは?と考え、$prev = url()->previous(); としてみたのですが、  dd($prev);の結果は "http://localhost/contact/confirm" 「確認画面」が取得されています。 
58
+
59
+ return redirect()->route('company-info/{ユーザーID}')が取得できれば良いのですが、、、方法がわかりません。
60
+
61
+ else 以降に
62
+ ```ContactsController.php
63
+ // 自分にメールを送信
64
+ \Mail::to('ここにユーザーのメールアドレスが入る')->send(new ContactsSendmail($inputs));
42
65
  ```
66
+ 登録ユーザーのメールアドレスも取得しなければいけないので、問い合わせフォームを設置しているユーザーの情報を取得しなければいけません。
43
67
 
68
+ どうすれば、company-info/{ユーザーID}ページに設置している問い合わせフォームから「確認画面 (contact/confirm)」へ遷移。
44
- アドバイスをお願います。
69
+ 「戻る」ボタンで確認画面から company-info/{ユーザーID}に戻れるでょうか?
70
+

1

テキスト修正

2022/10/26 06:45

投稿

Fukusuke0604
Fukusuke0604

スコア554

test CHANGED
File without changes
test CHANGED
@@ -1,7 +1,7 @@
1
1
  laravel9 問い合わせフォームを作成しました。
2
2
  問い合わせフォームは、「入力画面(company-info/{ユーザーID})」-> 「確認画面 (contact/confirm)」->「送信完了画面 (contact/thanks)」へとページ遷移します。
3
3
 
4
- しかしこの「入力画面」は、登録ユーザー詳細ページに設置してあり、URLは以下のようになっています。
4
+ しかしこの「入力画面」は、登録ユーザー詳細ページに設置してあり、問い合わせフォームのURLは以下のようになっています。
5
5
  ```URL
6
6
  company-info/{ユーザーID}
7
7
  ```