在laravel 5.5中提交表单时出错

在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

我一个接一个地遇到两个错误中的任何一个

在提交表单时,我收到以下错误

由于不活动,该页已过期。请刷新并重试

还是这个错误

无效辩论例外

未定义路由[寄存器/用户/图像]

我反复检查了一切,无法找出真正的原因

路由/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');
       /*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令牌在一段时间后过期。包含表单的页面很可能在浏览器中保持打开状态,并在令牌过期后提交。这可以通过增加会话生存期(如果可以接受)或在令牌过期时在页面中显示警告(如果页面中的令牌仍然与会话中的令牌匹配,则可通过前端与服务器进行检查)来最容易地缓解。是的,这是我的错,已经修复了,但是谢谢,这才是真正的问题。页面过期怎么办。你能告诉我如何延长过期时间吗?不确定原因,但再见吧,这是我的错,已经修复了,但谢谢,这才是真正的问题。页面过期怎么办。你能告诉我如何延长有效期吗?不确定原因,但请看