【问题标题】:Flash value cleared when user goes back laravel用户返回 laravel 时清除 Flash 值
【发布时间】:2018-12-29 07:46:27
【问题描述】:
public function create(Request $request, $id)
    {
        $request->session()->flash('id',$id);
        return view('off.news');
}

这会闪烁 id 值,然后由 store 控制器函数使用。

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

问题:

当我按回创建页面然后在创建时按提交 - > 没有任何东西传递给 $id.

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

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

【问题讨论】:

  • 我可以看到您正在将 $id 传递给 create 方法。这意味着当用户打开创建页面时,id 值将始终在 URL 上,然后您为什么要闪烁它。只需使用 with() 将 id 传递给 View

标签: php laravel frameworks laravel-blade


【解决方案1】:

如果您有需要从create 资源方法传递到资源store 方法的值,那么您应该通过表单传递这些值,您不应该为此使用闪存数据。 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');

    // ...
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-29
    • 1970-01-01
    相关资源
    最近更新 更多