session :: push error htmlspecialchars()期望参数1为str​​ing,给定

时间:2017-03-17 20:14:23

标签: php session laravel-5

我使用session::push在会话中插入了一些项目,直到刷新页面我才会收到错误:

  

htmlspecialchars()期望参数1为字符串

这是控制器功能:

 public function shopping(Request $request){
    if($request->has('cart')){

        $x=request('name');
        $y=request('quantity');
        Session::push('item',$x);

        return view('Crochet.shopping');

    } else {
        return redirect()->back();
    }
}

在视图中:

@foreach(session('item')as $y){{$y}} @endforeach

如何修复?

从评论中添加:

$x是我从每个页面的网址请求的字符串:

http://127.0.0.1:8000/Pearl%20Crochet/cart/shopping?name=Nubian&image=image1.jpg

$x就是这个名字。

1 个答案:

答案 0 :(得分:0)

您可以在循环之前检查会话是否存在:

@if (session('item'))

   @foreach(session('item') as $y)
     {{ $y }} 
   @endforeach

@endif