在laravel 5.5中提交表单时出错
我一个接一个地遇到两个错误中的任何一个 在提交表单时,我收到以下错误 由于不活动,该页已过期。请刷新并重试 还是这个错误 无效辩论例外 未定义路由[寄存器/用户/图像] 我反复检查了一切,无法找出真正的原因 路由/web.php在laravel 5.5中提交表单时出错,laravel,routes,laravel-5.5,Laravel,Routes,Laravel 5.5,我一个接一个地遇到两个错误中的任何一个 在提交表单时,我收到以下错误 由于不活动,该页已过期。请刷新并重试 还是这个错误 无效辩论例外 未定义路由[寄存器/用户/图像] 我反复检查了一切,无法找出真正的原因 路由/web.php Route::get('/', function () { return view('welcome'); }); Auth::routes(); Route::prefix('manage')->middleware('role:superadmini
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');
/*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');
}
RegisterUserController.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');
/*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>
{{csrf_field()}}
.
.
.
.
下一个
这里的Javascript验证
要解决第一个错误,请将字段{{{csrf_field()}}
添加到表单中
对于第二个,路由的名称是register.user.image
因此,将表单的操作设置为这样
<form action=" {{ route('register.user.image') }} ">
要解决第一个错误,请将字段
{{{csrf_field()}}
添加到表单中
对于第二个,路由的名称是register.user.image
因此,将表单的操作设置为这样
<form action=" {{ route('register.user.image') }} ">
要解决第二个错误,必须在控制器方法(以及所有地方)上修复路由名称: 实际:
return redirect()->route('register/user/image');
正确:
return redirect()->route('register.user.image');
要解决第二个错误,必须在控制器方法(以及所有位置)上修复路由名称: 实际:
return redirect()->route('register/user/image');
正确:
return redirect()->route('register.user.image');
已添加csrf字段。表单用于register.user.details,提交时会将用户重定向到register.user.image页面,但每次都会出现错误。csrf字段已添加。该表单用于register.user.details,提交时会将用户重定向到register.user.image页面,但每次都会给出一个错误。通过
执行建议的更改后,您会出现哪个错误?这都是您的?@PeymanSeraj,我现在没有更改任何内容,因为csrf已经包含在我的页面上,并且表单的路径是正确的。由于不活动而过期的错误以足够清晰的方式解释了问题,并暗示您的csrf令牌在一段时间后已过期。包含表单的页面很可能在浏览器中保持打开状态,并在令牌过期后提交。这可以通过增加会话生存期(如果可以接受)或在令牌过期时在页面中显示警告(如果页面中的令牌仍然与会话中的令牌匹配,则可通过前端与服务器进行检查)来最容易地缓解。在通过执行建议的更改后,您有什么错误?这都是您的?@PeymanSeraj,我现在没有更改任何内容,因为我的页面上已经包含csrf,并且表单的路径是正确的。由于不活动而过期的错误以足够清晰的方式解释了问题,并表示您的CSRF令牌在一段时间后过期。包含表单的页面很可能在浏览器中保持打开状态,并在令牌过期后提交。这可以通过增加会话生存期(如果可以接受)或在令牌过期时在页面中显示警告(如果页面中的令牌仍然与会话中的令牌匹配,则可通过前端与服务器进行检查)来最容易地缓解。是的,这是我的错,已经修复了,但是谢谢,这才是真正的问题。页面过期怎么办。你能告诉我如何延长过期时间吗?不确定原因,但再见吧,这是我的错,已经修复了,但谢谢,这才是真正的问题。页面过期怎么办。你能告诉我如何延长有效期吗?不确定原因,但请看