Сообщение об успешном завершении не отображается в окне оповещения

#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. значение сеанса поступает с контроллера пустым