【发布时间】:2018-02-14 20:03:29
【问题描述】:
我一个接一个地遇到 2 个错误。
在提交表单时,我收到以下错误
页面由于不活动而过期。请刷新并重试。
还是这个错误
无效参数异常
路由 [注册/用户/图像] 未定义。
我已经交叉检查了一切无法找出真正的原因。
Routes/web.php
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::prefix('manage')->middleware('role:superadministrator|administrator|editor|member')->group(function() {
Route::get('/', 'ManageController@index');
Route::get('/carezone', 'ManageController@carezone')->middleware('role:superadministrator|administrator')->name('manage.dashboard');
Route::get('/dashboard', 'ManageController@dashboard')->name('manage.dashboard');
});
Route::middleware('role:superadministrator|administrator|editor|member|subscriber')->group(function() {
Route::get('register/user/details', 'RegisterUserController@showUserDetailsForm')->name('register.user.details');
Route::post('register/user/details', 'RegisterUserController@postUserDetailsForm')->name('register.user.details');
Route::get('/api/username/unique', 'RegisterUserController@apiCheckUniqueUserName')->name('api.username.unique');
Route::get('register/user/image', 'RegisterUserController@showUserImageForm')->name('register.user.image');
Route::post('register/user/image', 'RegisterUserController@postUserImageForm')->name('register.user.image');
});
Route::get('/email/unique', 'RegisterUserController@checkUniqueEmail')->name('email.unique');
Route::get('/get/city', 'RegisterUserController@ajaxGetCity')->name('get.city');
Route::get('/registration', 'RegisterUserController@showRegistrationForm')->name('registration');
Route::get('/home', 'HomeController@index')->name('home');
RegisterUserController.php
/*function to redirect user to user details page after register page*/
public function showUserDetailsForm() {
$states = State::all();
return view('pages.registration.registerUserDetails', ['states'=> $states]);
}
/*function to post and save data to the database*/
public function postUserDetailsForm(Request $request) {
$validatedData = $request->validate([
'username' => 'required|alpha_num|min:6|max:20|unique:details,username',
'dob' => 'required|date',
'gender' => 'required|string',
'state' => 'required|numeric',//validation rule for max min values
'city' => 'required|numeric',//validation rule for max min values
]);
$post = new Detail;
$post->user_id = Auth::user()->id;
$post->username = $request->username;
$post->dob = $request->dob;
$post->gender = $request->gender;
$post->state_id = $request->state;
$post->city_id = $request->city;
$post->save();
return redirect()->route('register/user/image');
}
我的表单的一小部分
<form id="registerUserDetails" class="form-horizontal clearfix" method="POST" action="{{ route('register.user.details') }}" role="form" novalidate>
{{ csrf_field() }}
.
.
.
.
<button type="submit" class="tabButton">Next</button>
</form>
<script>Javascript Validation here</script>
【问题讨论】:
-
在进行
it is all yours建议的更改后,您遇到了哪些错误? -
@PeymanSeraj,我现在没有更改任何内容,因为我的页面中已经包含 csrf 并且表单的路径是正确的。
-
expired due to inactivity 错误以足够清晰的方式解释了问题,并暗示您的 CSRF 令牌在一段时间后已过期。很可能包含表单的页面在浏览器中保持打开状态,并在令牌过期后提交。这可以通过增加会话生存期(如果可以接受)或在令牌已过期时在页面中显示警告(如果页面中的令牌仍然与会话中的一个)。
标签: laravel routes laravel-5.5