Laravel 解决TokenMismatchException
使用 laravel5.4 提交表单使用的如果是POST方法会产生 TokenMismatch 错误
解决方法
在提交表单中添加一个隐藏域,name 为 _token,值为 {{ csrf_token() }}
<input type="hidden" name="_token" value="{{ csrf_token() }}"/> 使用 laravel5.4 提交表单使用的如果是POST方法会产生 TokenMismatch 错误
解决方法
在提交表单中添加一个隐藏域,name 为 _token,值为 {{ csrf_token() }}
<input type="hidden" name="_token" value="{{ csrf_token() }}"/> 看到这种提示首先去检查自己的配置信息是否填写正确
检查根目录下的 .env
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=root填写完毕.
检查 config 目录下的 database.php
'mysql' => [
'driver' => 'mysql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'laravel'),
'username' => env('DB_USERNAME', 'root'),
'password' => env('DB_PASSWORD', 'root'),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'strict' => true,
'engine' => null,
]填写上数据库名,用户名,密码
关闭服务,再开启
不成功的话,你需要把配置的缓存清理掉,再开启服务
// shell
$ php artisan config:clear
$ php artisan serve laravel 5.4 使用ORM模型中的 findOrFail 操作,不会报错,但会返回 NULL
laravel 5.4以前版本会报错,没有返回
学习的过程中,发现ORM的存进数据库的时间戳,再取出时,是本地时间相差了少了八个小时
在 getDateFormat() 函数中,设置 date_default_timezone_set('PRC'); 与 ini_set('date.timezone', 'Asia/Shanghai'); 均无效
查看手册知晓,在 config/app.php 里的 'timezone' 参数
'timezone' => 'PRC' // 或者 Asia/Shanghai ,时区设置成我大天朝就好了