Thijs
Thijs

Reputation: 103

When submitting a form Laravel returns "The page has expired due to inactivity. Please refresh and try again."

When I'm submit a form Laravel returns "The page has expired due to inactivity.

Please refresh and try again. "

This are the most important parts of my code (I think)

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>`

Upvotes: 3

Views: 13768

Answers (2)

Hesam Moosapour
Hesam Moosapour

Reputation: 592

Put @csrf after opening form tag in your blade file.

Upvotes: 1

Adam Kozlowski
Adam Kozlowski

Reputation: 5906

Use in your form in html view token:

{{ csrf_field() }}

Just paste this csrf_field. It must be between <form> tags. It is because of VerifyCsrfToken. Read more: https://laravel.com/docs/5.5/csrf

Upvotes: 17

Related Questions