質問編集履歴

5

書式変更

2022/09/26 14:44

投稿

lala
lala

スコア19

test CHANGED
File without changes
test CHANGED
@@ -1,189 +1,6 @@
1
-
2
- ### 前提・実現したいこと
3
- SNSのプロフィール編集を実装中です。
4
- アイコンの画像を変更したいのです。
5
-
6
- ブラウザ上にはフォルダ選択されファイル名は確認できており、
7
- 更新ボタンを押すと保存ざれず元の画像が更新されてしまいます。
8
-
9
- UserName、MailAdress、Bioは問題なく変更出来ます。
10
1
 
11
2
 
12
3
 
13
-
14
- ### 該当のソースコード
15
- app/Http/Controllers/UsersController.php
16
- ```php
17
- //プロフィール表示
18
- public function profileIndex($id){
19
- $user = User::query()->where('id', $id)->first();
20
- $user_id = Auth::id();
21
- $post = User::query()
22
- ->join('posts','user_id', '=', 'users.id')
23
- ->where('user_id', $id)
24
- ->orderBy('posts.created_at', 'desc')
25
- ->get()
26
- ->all();
27
-
28
- return view('users.profile', [ 'user' => $user, 'post' =>$post, 'user_id' =>$user_id]);
29
- }
30
-
31
- //マイプロフィール編集ページ
32
- public function edit(){
33
- return view('users.profileEdit', ['user' => Auth::user() ]);
34
- }
35
-
36
- //マイプロフィールの編集を保存
37
- public function update(Request $request)
38
- {
39
- $rules = [
40
- 'username' => 'required|string|max:12',
41
- 'mail' => 'required|string|min:4|email',
42
- 'bio' => 'string|max:200|nullable',
43
- 'images' => 'nullable',
44
- ];
45
-
46
- $this->validate($request, $rules);
47
-
48
- $user = Auth::user();
49
- $user->username = $request->input('username');
50
- $user->mail = $request->input('mail');
51
- $user->bio = $request->input('bio');
52
- $user->images = $request->file('images')->store('public/');
53
-
54
- //$images = $request->input('images');
55
-
56
- //保存
57
- if(!isset($images)){//何も選択せずにボタンを押した場合、アイコンは既存のままにする
58
- $user_img = User::query()
59
- ->where('id', Auth::id())
60
- ->value('images');//valueメソッドでカラムの値を直接返す
61
- $user->images = $user_img;
62
- $user->save();
63
- }
64
- $user->save();
65
- //リダイレクト
66
- return redirect()->back()->with('status', 'プロフィールを更新しました');
67
- }
68
-
69
- }
70
- ```
71
- resources/views/users/profileEdit.blade.php
72
- ```php
73
- @extends('layouts.login')
74
- @section('content')
75
-
76
- <div class="profile_edit">
77
- @if (session('status'))
78
- <div class="alert alert-success">
79
- {{ session('status') }}
80
- </div>
81
- @endif
82
- <div class="profile_edit_flex">
83
- <div class="now_icon">
84
- <p>
85
- <img class="image-circle profile_image" src="{{ asset('images/' . Auth::user()->images ) }}" alt="ユーザーアイコン">
86
- </p>
87
- <p>現在のアイコン</p>
88
- </div>
89
-
90
- <div class="edit_form">
91
- <form class="" action="{{ route('updateProfile', 'id') }}" method="post" enctype="multipart/form-data">
92
- @isset ($filename)
93
- <div>
94
- <img class="image-circle" src="{{ asset('images/' . Auth::user()->images ) }}" alt="ユーザーアイコン">
95
- </div>
96
- @endisset
97
- <div>
98
- <input type="hidden" name="id" value="{{ Auth::user()->id }}">
99
- </div>
100
-
101
- <div class="pro_edit_form-group">
102
- <label for="username">
103
- UserName
104
- </label>
105
- <div>
106
- <input class="form-control" type="text" name="username" value="{{ Auth::user()->username }}">
107
- @if ($errors->has('username'))
108
- <span class="help-block">
109
- <strong>{{ $errors->first('username') }}</strong>
110
- </span>
111
- @endif
112
- </div>
113
-
114
- </div>
115
- <div class="pro_edit_form-group">
116
- <label for="mail">
117
- MailAdress
118
- </label>
119
- <div>
120
- <input class="form-control" type="text" name="mail" value="{{ Auth::user()->mail }}">
121
- @if ($errors->has('mail'))
122
- <span class="help-block">
123
- <strong>{{ $errors->first('mail') }}</strong>
124
- </span>
125
- @endif
126
- </div>
127
- </div>
128
- <div class="pro_edit_form-group">
129
- <label for="bio">
130
- Bio
131
- </label>
132
- <div>
133
- <textarea class="form-control" name="bio" value="" >{{ Auth::user()->bio }}</textarea>
134
- </div>
135
- @if ($errors->has('bio'))
136
- <span class="help-block">
137
- <strong>{{ $errors->first('bio') }}</strong>
138
- </span>
139
- @endif
140
- </div>
141
- <div class="pro_edit_form-group">
142
- <label for="images">
143
- Icon Image
144
- </label>
145
- <div>
146
- <input type="file" enctype="multipart/form-data" name="images" >
147
- @if ($errors->has('images'))
148
- <span class="help-block">
149
- <strong>{{ $errors->first('images') }}</strong>
150
- </span>
151
- @endif
152
- </div>
153
- </div>
154
-
155
- <button type="submit" class="btn-primary btn mt-1 profile_edit_btn" class="user-btn" name="button">更新</button>
156
- {{ csrf_field() }}
157
- </form>
158
- </div>
159
-
160
- <div class="pass">
161
- <p class="side_bar_btn">
162
- <a class="side_bar_link" href="/password">
163
- パスワードを変更
164
- </a>
165
- </p>
166
- </div>
167
- </div>
168
-
169
-
170
- <p class="">
171
- <a class="" href="/{{ Auth::id() }}/profile">
172
- << 戻る
173
- </a>
174
- </p>
175
- </div>
176
-
177
- @endsection
178
-
179
- ```
180
-
181
-
182
- routes/web.php
183
- ```php
184
- Route::get('/profileEdit', 'UsersController@edit');
185
- Route::post('/profileEdit', 'UsersController@update')->name('updateProfile');
186
- ```
187
4
 
188
5
 
189
6
  ### バージョン

4

誤記修正

2022/09/21 10:59

投稿

lala
lala

スコア19

test CHANGED
File without changes
test CHANGED
@@ -49,7 +49,8 @@
49
49
  $user->username = $request->input('username');
50
50
  $user->mail = $request->input('mail');
51
51
  $user->bio = $request->input('bio');
52
- $user->images = $request->file('image')->store('public/image');
52
+ $user->images = $request->file('images')->store('public/');
53
+
53
54
  //$images = $request->input('images');
54
55
 
55
56
  //保存

3

記載変更

2022/09/21 10:07

投稿

lala
lala

スコア19

test CHANGED
File without changes
test CHANGED
@@ -49,8 +49,8 @@
49
49
  $user->username = $request->input('username');
50
50
  $user->mail = $request->input('mail');
51
51
  $user->bio = $request->input('bio');
52
+ $user->images = $request->file('image')->store('public/image');
52
- $user->images = $request->input('images');
53
+ //$images = $request->input('images');
53
- $images = $request->input('images');
54
54
 
55
55
  //保存
56
56
  if(!isset($images)){//何も選択せずにボタンを押した場合、アイコンは既存のままにする

2

誤字修正

2022/09/20 15:24

投稿

lala
lala

スコア19

test CHANGED
@@ -1 +1 @@
1
- Laravel SNSプロフィール画像
1
+ Laravel 画像更
test CHANGED
File without changes

1

誤字修正

2022/09/20 14:45

投稿

lala
lala

スコア19

test CHANGED
File without changes
test CHANGED
@@ -14,8 +14,6 @@
14
14
  ### 該当のソースコード
15
15
  app/Http/Controllers/UsersController.php
16
16
  ```php
17
-
18
-
19
17
  //プロフィール表示
20
18
  public function profileIndex($id){
21
19
  $user = User::query()->where('id', $id)->first();
@@ -72,9 +70,7 @@
72
70
  resources/views/users/profileEdit.blade.php
73
71
  ```php
74
72
  @extends('layouts.login')
75
-
76
73
  @section('content')
77
-
78
74
 
79
75
  <div class="profile_edit">
80
76
  @if (session('status'))