私はPHPコードで「1ページに2つのフォーム」問題に取り組もうとしていますが、予想以上に使い勝手が良くなり、正しい方法で動作しません。Laravelの同じページに2つのフォームがありますか?
最初のフォーム(ログイン)の場合、このif文を使用して、ログインのメッセージがあるかどうかを判断します。
@if(Session::has('message') && Session::get('last_message_for') == 'login')
<div class="notification is-{{ Session::get('color') }}">
<i class="fa fa-times"></i> {{ Session::get('message') }}
</div>
@elseif($errors->first() && Session::get('last_message_for') == 'login')
<div class="notification is-warning">
<i class="fa fa-times"></i> {{ $errors->first() }}
</div>
@endif
私は私の第二の形式のために同じコードを持っているが、それは単に「ログイン」と異なる値をlast_message_for
をチェックします。今ダウン問題へ
@if(Session::has('message') && Session::get('last_message_for') == 'modal')
<div class="modal is-active" id="modal-forgotPassword">
@else
<div class="modal" id="modal-forgotPassword">
@endif
<div class="modal-background"></div>
<div class="modal-card">
<header class="modal-card-head">
<p class="modal-card-title" id="open-modal">Forgot Password?</p> <button class="delete"></button>
</header>
<form action="{{ route('frontend.guest.password.forgot') }}" method="post">
<input type="hidden" name="_token" value="{{ csrf_token() }}">
<section class="modal-card-body">
<div class="content">
@if(Session::has('message') && Session::get('last_message_for') == 'modal')
<div class="notification is-{{ Session::get('color') }}">
<i class="fa fa-times"></i> {{ Session::get('message') }}
</div>
@endif
<div class="field">
<p class="control has-icons-left">
<input class="input" name="email" placeholder="Enter an email..." type="email">
<span class="icon is-small is-left"><i class="fa fa-envelope"></i></span>
</p>
</div>
<input type="hidden" name="_token" value="{{ csrf_token() }}">
</div>
</section>
<footer class="modal-card-foot">
<button class="button is-success" type="submit"><i class="fa fa-sign-in"></i> Send email</button>
</footer>
</form>
</div>
</div>
、ログイン部分は完全に正常に動作し、そのためのいずれかが存在するときのエラーメッセージを示しているが、私はいくつかを持っているときに、第2の1は、すべてのエラーを表示されません。
私はここでlast_message_for
Session::put('last_message_for', 'login');
を設定するためにこれを使用していますが、私の第二の形式のコードです:
public function onForgotPassword(Request $request) {
$validator = Validator::make($request->all(), [
'email' => 'required|email|exists:users,mail',
]);
Session::put('last_message_for', 'modal');
if ($validator->fails()) {
return redirect()->route('frontend.guest.login')->withErrors($validator->messages());;
}
else {
Mail::to($request->input('email'))->send(new ForgotPasswordEmail());
return redirect()->route('frontend.guest.login')->withMessage('Email Sent')->withColor('warning');
}
}
あなたは '$エラー - >最初の()' seesionがある場合は 'このため –