用户返回laravel时清除了Flash值

时间:2018-07-21 01:11:41

标签: php laravel frameworks laravel-blade

public function create(Request $request, $id)
    {
        $request->session()->flash('id',$id);
        return view('off.news');
}

这将闪烁ID值,然后该ID值将由商店控制器功能使用。

如果我从第一页转到创建页面,它将通过-> $id闪烁

问题:

当我按回创建页面时,在创建- >时按提交,则没有任何内容传递给$id.

我只希望它停留一次(不保留)。

我如何确保用户不能按回去进入创建页面?

1 个答案:

答案 0 :(得分:0)

如果您有需要从create资源方法传递到资源store方法的值,则应通过表单传递这些值,因此请勿为此使用Flash数据。 Flash数据对于在请求之间传递非必要信息(例如成功消息)很有用,它不适合用于传递功能所依赖的信息。

例如,您的实现可能如下所示:

create

public function create(int $id)
{
    return view('resource.create', ['resource_id' => $id]);
}

form.blade.php

<form>
  ...
  <input type="hidden" name="resource_id" value="{{ $resource_id }}">
  ...
</form>

store

public function store(Request $request)
{
    $id = $request->input('resource_id');

    // ...
}