#laravel
#ларавель
Вопрос:
здравствуйте, я использую модальную форму, и в случае успешного входа в систему сообщение об успешном завершении отображается в окне сообщения alertity. Почему мое сообщение не отображается? Если я успешно войду в систему, останусь на той же странице и покажу сообщение о предупреждении в окне сообщения, и если не удалось, тогда покажите сообщение о сбое и снова покажите модальное? код работает и перенаправляется на ту же страницу после входа в систему и сбоя при входе в систему.
Контроллер:
public function submitUser(Request $req)
{
$req->validate([
'email' => 'required|email',
'password' => 'required',
]);
$email_address=$req->input('email');
$password=$req->input('password');
$query_select=DB::table('table_users')->where('email','=',$email_address)->where('password','=',$password)->first();
if($query_select)
{
if($email_address==$query_select->email amp;amp; $password ==$query_select->password)
{
$remember=$req->input('remember');
$req->session()->put('name',$query_select->name);
$req->session()->put('user_id',$query_select->id);
$req->session()->put('user_email',$query_select->email);
if(!empty($remember))
{
setcookie ("email",$query_select->email,time() (10 * 365 * 24 * 60 * 60));
setcookie ("password",$query_select->password,time() (10 * 365 * 24 * 60 * 60));
return redirect()->back()->with('status_of_login','You log in successful');
}
else
{
if(isset($_COOKIE["email"]))
{
setcookie ("email","");
}
if(isset($_COOKIE["password"]))
{
setcookie ("password","");
}
return redirect()->back()->with('status_of_login','You log in successful');
}
}
else
{
// $req->session()->flash('error','You have entered wrong credentials');
return redirect()->back()->with('status_of_login_wrong','Your credentials are wrong');
}
}
else
{
return redirect()->back()->with('status_of_login_wrong','Your credentials are wrong');
}
}
HTML:
<div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="exampleModalLabel">Login safely</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">amp;times;</span>
</button>
</div>
<div class="modal-body">
<div class="card">
<center>
<div class="social-media">
<a href="/facebook"><i class="fa fa-facebook-f fa_fb_new"></i></a>
<a href="/google"><i class="fa fa-google fa_go_new"></i></a>
</div>
</center>
<form class="ps-product__review" action="{{ route('submit_user')}}" method="post" enctype="multipart/form-data">
<input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
<div class="form-group">
<label for="inputEmail">Email</label>
<input type="email" class="form-control" id="" placeholder="Enter Email" name="email" value="<?php if(isset($_COOKIE["email"])) { echo $_COOKIE["email"]; } ?>" required>
<span class="text-danger">{{ $errors->first('email') }}</span>
</div>
<div class="form-group">
<label for="inputPassword">Password</label>
<input type="password" class="form-control" id="" placeholder="Enter Password" name="password" value="<?php if(isset($_COOKIE["password"])) { echo $_COOKIE["password"]; } ?>" required>
<span class="text-danger">{{ $errors->first('password') }}</span>
</div>
<div class="form-group">
<label class="form-check-label"><input type="checkbox" name="remember" <?php if(isset($_COOKIE["email"])) { ?> checked <?php } ?>> Remember me</label>
</div>
<button type="submit" class="ps-btn-login">Log In</button>
<a href="{{ route('register')}}" class="ps-btn-register">Sign Up</a>
</form>
</div>
</div>
</div>
</div>
</div>
в нижнем колонтитуле:
<script type="text/javascript" src="{{ asset('js/alertify.min.js')}}"></script>
<script type="text/javascript">
@if(session('status_of_login'))
alertify.set('notifier','position', 'top-center');
alertify.success("{{session('status_of_login')}}");
@endif
</script>
Комментарии:
1. добавьте
@if(session('status_of_login'))
этот код внутрь функции загрузки2. @KamleshPaul я хочу добавить в скрипт. нужна ваша помощь
3. @KamleshPaul Мой код правильный или нет?? вернуть перенаправление-> с помощью () … не удается создать сеанс в моем коде??
Ответ №1:
измените код нижнего колонтитула следующим образом
<script type="text/javascript" src="{{ asset('js/alertify.min.js')}}"></script>
@if(session('status_of_login'))
<script type="text/javascript">
$(function(){
alertify.set('notifier','position', 'top-center');
alertify.success("{{session('status_of_login')}}");
alertify.error("{{session('status_of_login_wrong')}}");
})
</script>
@endif
здесь он проверяет, есть ли какой-либо сеанс или нет, как только он получил сеанс, тогда он запускает функцию onload jQuery
Комментарии:
1. привет, значение сеанса становится нулевым, пожалуйста, проверьте строку перенаправления моего контроллера, это правильно?? поскольку я являюсь значением сеанса echo после входа в систему, оно стало нулевым..
2. верните redirect()-> back()->with(‘status_of_login’, ‘Вы вошли в систему успешно’); эта строка отправляет пустой сеанс
3. это не после отправки
4. когда я удаляю сеанс, он отображается при каждой загрузке
5. значение сеанса поступает с контроллера пустым