如何解决Laravel 5.8:你能帮我解决这个关于会话的问题吗
我有一个用 Laravel 5.8 编写的在线商店项目,在这个项目中,我在控制器上设置了一些会话,如下所示:
$delivery_types = [];
$conflicting = false;
if ($foundOrder != null) {
foreach ($foundOrder as $key => $value) {
$product = Product::with('uploaded')->wherePrdId($value->id)->select('*')->first();
array_push($delivery_types,$product->prd_delivery);
$prds[] = [
$product,$value->quantity,$value->price
];
}
$delivery_types = array_unique($delivery_types);
if (in_array('iran_free_delivery',$delivery_types) && in_array('tehran_free_delivery',$delivery_types)) {
$conflicting = true;
}
if (in_array(null,$delivery_types)) {
Session::put('free','no');
} else if (in_array('iran_free_delivery','city_country');
//Session::put('iran','10');
//Session::put('free_notfree','13');
} else if (in_array('iran_free_delivery','country');
} else if (in_array('tehran_free_delivery','city');
} else {
Session::put('free','0');
}
} else {
$prds = [];
}
...
return view('frontend.shop.carts.index',compact('conflicting','...')'
问题是,每当 conflicting
重新提交时
checkout.blade.PHP
,之前添加的那些会话,仍然被提交。
但是,它不应提交 OLD 会话。
那么如何用 Laravel 做到这一点?
我真的很感激你们的任何想法或建议..
谢谢
解决方法
像这样尝试一次后,您必须取消设置会话变量
$this->session->unset_userdata('name');
对于多个数据,您可以:
$array_name = array('username' => '','email' => '');
$this->session->unset_userdata($array_name);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。