后端给前端传了一个参数,不知道是不是写法错误


一直报错,点击红色圈起来的地方就可以运行,代码也被修改了

代码修改后里面的if,else 语句就没有办法执行了,登录页没有输出数值
控制器代码,有传$member的值
修改if的语法后不报错了,但是没有办法正常输出登陆数值


关于 LearnKu
已经很明显了,你的控制器里有分支条件很关键:
你以为你的代码会向下执行到最后
view('shop/detail'),但实际是提前进入了view('shop/page404'),在shop/page404页面里,有公共的header.blade.php模板。再回头看你的控制器,在进入分支流程时,没有给$data赋值member键名,导致shop/page404中的公共模板报错。解决办法就是把
$data['member'] = $member;这句代码向前移动,放到$member = Auth::guard('member')->user();后即可。控制器的代码贴出来看看?
试试这个,但根本原因是没有在 Controller 中定义保存这个变量导致的。
在用户没有登录时,可以传$member=null
否则在判断时,应该用if(isset($member))来判断member变量是否存在
需要看看你在controller里是怎么给member赋值的
建议代码贴全
controller 里 view('模板', $data) 返回的数组里没有 member 这个key,可以用 isset(),或者empty() 先判断变量是否存在
已经很明显了,你的控制器里有分支条件:
if(!$data['item]),这里很关键。你以为你的代码会向下执行到最后view('shop/detail'),但实际是提前进入了view('shop/page404')。在shop/page404页面里,有公共的header.blade.php模板。再回头看你的控制器,在进入分支流程时,没有给$data赋值member键名,导致shop/page404中的公共模板报错。哎,运算符顺序……
PS:
''最好还是改成null自己解决了,逻辑错了,不是语法问题,在进入前台的时候分离后的公共文件已经在判断$member了,所有在登录就直接给模板赋值,而不是在付款页面