Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

ahmed_bondok2006's avatar

i have problem in session i don't know what it is

TokenMismatchException in VerifyCsrfToken.php line 67:

I see this problem too much and sometimes I can not log in to project and make refresh and ctrl+f5 too much to log in after that fastly logout

I created session table standard as the same documentation and my route is /* admin */

Route::group(['middleware' => ['web','admin']], function (){ Route::get('/adminpanel', 'Admincontroller@index'); // Route::get('/adminpanel/adduser', 'UsersController@adduser'); Route::get('/adminpanel/addpackage', 'Admincontroller@addpackage'); Route::get('/adminpanel/allusers', 'Admincontroller@allusers'); Route::post('/newPackage', 'Admincontroller@savePackage'); Route::get('/adminpanel/editusers/{id}', 'Admincontroller@editusers'); Route::post('/edituserdetails', 'Admincontroller@edituserdetails'); Route::get('/adminpanel/deleteusers/{id}', 'Admincontroller@deleteUser'); Route::get('/adminpanel/addusers', 'Admincontroller@viewadduser'); Route::post('/addusers', 'Admincontroller@adduser'); Route::get('/adminpanel/allpackages', 'Admincontroller@allpackages'); Route::get('/adminpanel/editpackage/{id}', 'Admincontroller@vieweditpackage'); Route::post('/editpackage', 'Admincontroller@updatepackage'); Route::get('/adminpanel/deletepackage/{id}', 'Admincontroller@deletepackage'); Route::get('/adminpanel/allhotels', 'Admincontroller@viewallhotels'); Route::get('/adminpanel/addhotels', 'Admincontroller@viewaddhotels'); Route::get('/adminpanel/deletehotel/{id}', 'Admincontroller@deletehotel'); Route::post('/newhotel', 'Admincontroller@newhotel'); Route::get('/adminpanel/edithotels/{id}', 'Admincontroller@viewedithotel'); Route::post('/edithotel', 'Admincontroller@edithotel'); // Route::get('/adminpanel/allcategories', 'Admincontroller@manageCategory'); Route::get('/adminpanel/allcategories',['uses'=>'Admincontroller@manageCategory']); // Route::get('/adminpanel/addcategories', 'Admincontroller@addcategories'); Route::post('/adminpanel/addcategories',['as'=>'/adminpanel/addcategories','uses'=>'Admincontroller@addCategory']); });

and my middleware is

0 likes
14 replies
Cronix's avatar

It sounds like your session timed out. Like the session time is 2 hours and you left the browser open for 2+ hours and then came back and submitted something. So it sent the expired csrf token, which mismatched.

1 like
Sys32's avatar

We would need more info on the setup, like what the view has in regards to crsf token field, what the actual controller has in terms of handling this etc.

ahmed_bondok2006's avatar

every page has this code in its form


<input type="hidden" value="{{ csrf_token() }}" name="_token">

I made this middleware


<?php

namespace App\Http\Middleware;

use Closure;
use Illuminate\Support\Facades\Auth;
use App\keywords_model;
use App\category_model;

class IsUserAdmin
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  \Closure  $next
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        if (Auth::user()->admin !=1) {
            $allKey = keywords_model::orderby('id','desc')->get();
            $categories = category_model::where('parent_id','=','0')->orderby('id','asc')->skip(0)->take(5)->get();
            return redirect('login', compact('allKey','categories'));
        }
        return $next($request);
    }
}
ahmed_bondok2006's avatar

I made now log in and went to control panel and viewed all packages and insert one ok inserted and route me to all packages after that tried to add another package I get this error

Whoops, looks like something went wrong.
1/1
InvalidArgumentException in Response.php line 458:
The HTTP status code "1" is not valid.
ahmed_bondok2006's avatar

table migration for users


Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->integer('admin');
            $table->rememberToken();
            $table->timestamps();
        });
munazzil's avatar

Have you tried in your CMD below commands

php artisan cache:clear
php artisan view:clear
php artisan route:clear
munazzil's avatar

Can you show controller function as well, and have you used as like below in top of your controller function.

public function __construct()

    {
    $this->middleware('auth');  
    }
ahmed_bondok2006's avatar

@MUNAZZIL - I make this all every time I found the problem but it is not good


php artisan optimize
php artisan cache:clear
php artisan config:clear
php artisan view:clear
php artisan route:clear
ahmed_bondok2006's avatar

<?php

namespace App\Http\Controllers;

use App\Http\Requests;
use Illuminate\Http\Request;

use App\package_model;
use App\keywords_model;
use App\category_model;

class HomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $umra = package_model::where('package_type','=','3')->orderby('id','desc')->skip(0)->take(6)->get();

        $last_tour = package_model::where('package_type','=','5')
                                    ->where('package_type','=','9')
                                    ->orderby('id','desc')->skip(0)->take(1)->get();
        $last_tours = package_model::where('package_type','=','6')
                                    ->where('package_type','=','7')
                                    ->where('package_type','=','8')
                                    ->where('package_type','=','10')
                                    ->where('package_type','=','11')
                                    ->where('package_type','=','12')
                                    ->orderby('id','desc')->skip(0)->take(4)->get();

        $all_package = package_model::orderby('id','desc')->skip(0)->take(15)->get();
        $allKey = keywords_model::orderby('id','desc')->get();
        $categories = category_model::where('parent_id','=','0')->orderby('id','asc')->skip(0)->take(5)->get();

        return view('home', compact('umra','last_tour','last_tours','all_package','allKey','categories'));
    }
}

Please or to participate in this conversation.