【问题标题】:When submitting a form Laravel returns "The page has expired due to inactivity. Please refresh and try again."提交表单时,Laravel 会返回“由于不活动,页面已过期。请刷新并重试。”
【发布时间】:2018-05-07 14:54:39
【问题描述】:

当我提交表单时,Laravel 返回“页面由于不活动而过期。

请刷新并重试。 "

这是我的代码中最重要的部分(我认为)

message.php:

public function uploadMessage()
{
    $query = DB::table('users')->select('id')->where('email', Auth::user()->email)->first();
    $userID = $query->id;

    $message = $_POST['message'];

    $query = DB::table('message')->insert(['userID' => $userID, 'message' => $message]);
}

Home.blade.php `

if(isset($_POST['submit']))
{
    $mess->uploadMessage();
}
?>

<form method="post" class="form-insert">
                    <h3 class="form-titel">Make your status Fresh</h3>
                    <div class="mdl-textfield mdl-js-textfield mdl-textfield--floating-label">
                        <textarea class="mdl-textfield__input" id="message" name="message"></textarea>
                        <label class="mdl-textfield__label" for="message">Text...</label>
                    </div>
                    <input type="submit" name="submit" value="Update" class="mdl-button mdl-js-button mdl-button--raised mdl-js-ripple-effect">

                </form>`

【问题讨论】:

  • 转到 config/session.php 并检查会话的生命周期。也许这是解决方案。
  • @AdamKozlowski 会话生命周期设置为 120。从未接触过。
  • 将此添加到您的表单 {{ csrf_field() }}

标签: php laravel laravel-5 laravel-5.3


【解决方案1】:

在您的表单中使用 html 视图标记:

{{ csrf_field() }}

只需粘贴此 csrf_field。它必须在&lt;form&gt; 标签之间。 这是因为VerifyCsrfToken。 阅读更多:https://laravel.com/docs/5.5/csrf

【讨论】:

  • Laravel 5.6+ 将其简化为 @csrf
  • @NerdyGinger - 很好的提示,非常感谢! [+1]
猜你喜欢
  • 2018-03-01
  • 2018-09-16
  • 2018-02-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-06
  • 1970-01-01
相关资源
最近更新 更多