Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 会话闪存消息执行两次Laravel_Php_Laravel_Session_Laravel 5 - Fatal编程技术网

Php 会话闪存消息执行两次Laravel

Php 会话闪存消息执行两次Laravel,php,laravel,session,laravel-5,Php,Laravel,Session,Laravel 5,我的会话闪存消息有问题 我有这样一个简单的逻辑 if(empty($code)) { return redirect()->back()->with('modal', 'working'); } 在我的视图文件中,我正在进行警报测试 @if(session('modal')) <script> alert('working'); </script> @endif @if(会话('mod

我的会话闪存消息有问题

我有这样一个简单的逻辑

if(empty($code))
        {
            return redirect()->back()->with('modal', 'working');
        }
在我的视图文件中,我正在进行警报测试

@if(session('modal'))
  <script>
    alert('working');
  </script>
@endif
@if(会话('modal'))
警报(“工作”);
@恩迪夫
问题是这个
警报('working')执行两次。所以,当它重定向回时,一次它立即执行,第二次它在加载文档后执行

我尝试了各种解决方法,如删除会话密钥、加载准备好使用javascript的文档,但都不起作用

有什么问题吗?

您应该像这样使用laravel helper

$request->session()->flash('status','Task was successful!')


returnback()

假设您正在使用引导

以下是我的做法:

在视图中创建一个名为:alerts的新文件夹,并在其中创建一个名为alerts.blade.php的文件

粘贴:

@if (Session::has('success'))
    <div class="alert alert-success alert-dismissable">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">&times;</span>
        </button>
        {{ Session::get('success') }}
    </div>
@elseif (Session::has('error'))
    <div class="alert alert-danger">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">&times;</span>
        </button>
        {{ Session::get('error') }}
    </div>
@elseif(Session::has('warning'))
    <div class="alert alert-warning">
        <button type="button" class="close" data-dismiss="alert" aria-label="Close">
            <span aria-hidden="true">&times;</span>
        </button>
        {{ Session::get('warning') }}
    </div>
@endif
通过这种方式,您不必不断地向每个包含任何消息的页面添加HTML,因为您只需包含一个文件,当调用该文件时,该文件将被标记


我知道最初的化妆看起来有点冗长,但最终它会为您节省大量时间

您的html代码中可能会有两次这样的化妆。你能用浏览器检查html代码并检查你是否有两次吗?你能粘贴你有问题的控制器和刀片吗
Session::flash('success', 'Success message here')

return redirect()->back();


Session::flash('error', 'Error message here')

return redirect()->back();


Session::flash('warning', 'warning message here')

return redirect()->back();