编辑:按下“登录”按钮后,即使是公共/身份验证/登录,我也会收到此错误
您好我只想尝试输出Session :: flash()但是我收到此错误消息:
TokenMismatchException in VerifyCsrfToken.php line 46
以下是代码:
public function update($id, Requests\EditPostRequest $request)
{
$post = Post::findOrFail($id);
$post->update($request->all());
return redirect(route('news.edit', $id))->with('success', 'Operation successful !');
}
这在我看来:
@if(Session::has('success'))
<div class="alert alert-success">
{{ Session::get('success') }}
</div>
@endif
我真的需要解决这个问题:/
答案 0 :(得分:1)
只需在表单的结束标记之前添加{{ Form::token() }}
。
答案 1 :(得分:1)
它似乎与在本地/开发环境和生产环境中使用相同的密钥有关。
但是,我不确定你是如何得到冲突的,因为会话应该独立于环境,但我之前做过一些本地开发。一切都在开发中工作正常,将我的项目推送到我的其他PC,而不是我点击了TokenMismatchException。我在我的.env文件周围戳了一下,果然,我的两个环境之间的键是相同的。更改我的prod环境中的密钥和TokenMismatchException会立即消失。
只要看看你设置的令牌,如果它们是相同的,用 php artisan key更改生产密钥:生成,希望你能这样做,只要让我知道它是不是&#39 ;吨
答案 2 :(得分:0)
您的表单中是否有CSRF令牌?
<form method="post" action="someaction">
{{ csrf_field() }} // Generates an input field with a token
// Other input fields
</form>