🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

Q&A

1回答

535閲覧

プロフィール更新 パスワード確認

yumin0915

総合スコア3

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

パスワード

パスワードは主に情報にアクセスする際に扱われます。主に、アクセス可能なユーザーを限定する手段として使われます。

0グッド

1クリップ

投稿2021/02/26 20:59

前提・実現したいこと

laravelでプロフィール更新サイトを作っております。
現在のパスワードと入力したパスワードが一致した場合プロフィールを編集できるようにしたいです。

発生している問題・エラーメッセージ

パスワードが一致していなくても変更できてしまいます。
###該当のソースコード

edit.blade.php

<form method="POST" action="{{ url('users/' .$user->id) }}" enctype="multipart/form-data"> <input type="hidden" name="_token" value="{{ csrf_token() }}"> {{ method_field('patch') }} <table class="update_form"> <!--ユーザーネーム--> <tr> <th> <label>username</label> <td> <input id="username" type="text" name="username" value="{{ $user->username }}" required autocomplete="username" autofocus> </td> </th> </tr> <!--メールアドレス--> <tr> <th><label>Mail Adress</label> <td> <input id="mail" type="mail" name="mail" value="{{ $user->mail }}" required autocomplete="mail" autofocus> </td> </th> </tr> <!--現在のパスワード--> <tr> <th> <label>Password</label> <td> <input id="oldPassword" type="password" name="oldPassword"> </td> </th> </tr> <!--Newパスワード--> <tr> <th><label>NewPassword</label> <td> <input id="newPassword" name="newPassword" type="password" autocomplete="password" required> </td> </th> </tr> <!--Newパスワード確認--> <tr> <th> <label>ConfirmPassword</label> <td> <input id="confirmPassword" type="password" name="confirmPassword"> </td> </th> </tr> <!--自己紹介--> <tr> <th><label>Bio</label> <td> <input id="bio" type="text" name="bio" value="{{ $user->bio }}" autocomplete="bio"> </td> </th> </tr> <!--画像--> <tr> <th><label>IconImage<label> <td> <img src="{{ asset('public/images/' .$user->image) }}" class="mr-2 rounded-circle" width="80" height="80" alt="image"> <div class="form__file"> <label> <input type="file" name="image" id="file" autocomplete="image">ファイルを選択 </label>        </div>       </td> </th> </tr> </table> <div class="btn"> <div class="col-md-6offset-md-4"> <button type="submit" class="btn btn-primary">更新する</button> </div> </form> </div> ```UsersController

public function update(Request $request, User $user)
{
$input = $request->only('username', 'image', 'mail', 'bio', 'oldPassword', 'newPassword');
$user = User::find(auth()->user()->id);

$validator = Validator::make($request->all(), [ 'username' => ['required', 'string', 'max:12', 'min:4'], 'image' => ['file', 'image', 'mimes:jpeg,png,jpg', 'max:2048'], 'mail' => ['required', 'string', 'email', 'max:12', 'min:4', 'unique:users,mail,' . $user->id . ',id'], 'bio' => ['string', 'max:255', 'nullable'], 'oldPassword' => ['required'], 'newPassword' => ['required', 'max:12', 'min:4', 'alpha'], 'confirmPassword' => ['required', 'same:new_password'] ]); if (!\Hash::check($request['oldPassword'], $user->password)); else { return redirect('users/' . $user->id . '/edit')->withErrors($validator) ->withInput(); }

     if ($request->hasFile('image')) {
$path = $request->file('image')->store('public/images');

$user->image = basename($path); } if ($validator->fails()) { return redirect('users/' . $user->id . '/edit') ->withErrors($validator) ->withInput(); } $user->username = $request->username; $user->mail = $request->mail; $user->bio = $request->bio; $user->password = $request->newPassword;

$user->save();

return redirect('users/' . $user->id); }
web.php

Route::patch('/users', 'UsersController@update');

Route::resource('/users', 'UsersController', ['only' => ['edit', 'update', 'show']]);
### 試したこと 色々なサイトを参考にしましたが書き方がよく分からず困っています。 初心者で申し訳ございませんがご教授願います。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

newPassword

new_password

では合致しないかと。

投稿2021/02/26 22:52

m.ts10806

総合スコア80875

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yumin0915

2021/02/27 05:22

失礼致しました。 修正しましたが未解決です。
m.ts10806

2021/02/27 05:51

その結果どうなったのでしょう。 デバッグはされましたか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問