php - Laravel5 Session::flash() persist for more requests than only one -
i'm solving quite strange problem:
i try log in user, if credentials incorrect, flash message session , redirect user bach login page. there shown message, flashed session. anyway, after reload of page, there still message in session, however, should disappear.
could provide me help? here code, flash message session:
public static function verify($email, $password) { $verified = auth::user()->attempt([ 'email' => $email, 'password' => $password ]); if($verified) { $user = auth::user()->get(); session::flash('message', [ 'title' => trans('user.logged_in'.($user->sex != null ? '_'.$user->sex : '')), 'status' => 'success' ]); return redirect(route('admindashboard')); } else { session::flash('message', [ 'title' => trans('user.bad_credentials'), 'status' => 'error' ]); return redirect()->back(); } return $verified; }
here code of page, shown on address, redirect, after incorrect credentials (redirect()->back()
)
@if(session::has('message')) <?php $message = session::get('message'); $status = isset($message['status']) ? $message['status'] : 'success'; $messagestring = ''; if(isset($message['title']) && $message['title'] != '') $messagestring = '"'.$message['title'].'"'; if(isset($message['text']) && $message['text'] != '') $messagestring .= ($messagestring != '' ? ',' : '').'"'.$message['text'].'"'; ?> <script> $(document).ready(function () { notify({!! $messagestring !!}).{{ $status }}(); }); </script> @endif
i'm quite confused behaviour. tried manually call session::forget('message')
in view, after show message, message disappeared session, if after print session::all(), after did reload, message again in session.
thank help.
chang following line:
return redirect(route('admindashboard'));
to
return redirect()->to('/admindashboard');
i using same in project , works fine.
Comments
Post a Comment