RouteCollection.php第219行中的MethodNotAllowedHttpException错误laravel:

时间:2016-03-18 12:39:39

标签: php laravel routes

当我尝试访问post signin路径时出现此错误。我是laravel的新手,我似乎无法弄清楚如何解决这个错误。请帮忙。

我的Routes.php

 Route::group(['middleware' => ['web']], function () {
 Route::get('/', [
'uses'=>'\ocsaf\Http\Controllers\HomeController@index',
'as'=>'home',
 ]);



/*
  *Authentication
 */

Route::get('/signup', [
 'uses'=>'\ocsaf\Http\Controllers\AuthController@getSignUp',
 'as'=>'auth.signup',
 'middleware' => ['guest'],
 ]);

 Route::post('/signup', [
 'uses'=>'\ocsaf\Http\Controllers\AuthController@postSignUp',
 'middleware' => ['guest'],
 ]);

 Route::get('/signin', [
 'uses'=>'\ocsaf\Http\Controllers\AuthController@getSignIn',
 'as'=>'auth.signin',
 'middleware' => ['guest'],
 ]);

 Route::post('/signup', [
 'uses'=>'\ocsaf\Http\Controllers\AuthController@postSignIn',
 'middleware' => ['guest'],
 ]);

  Route::get('/signout', [
 'uses'=>'\ocsaf\Http\Controllers\AuthController@getSignOut',
 'as'=>'auth.signout',
  ]);


 /*
 *search
 */

  Route::get('/search', [
  'uses'=>'\ocsaf\Http\Controllers\SearchController@getResults',
  'as'=>'search.results',
  ]);



  /*
  *Profile
  */

   Route::get('/user/{username}', [
   'uses'=>'\ocsaf\Http\Controllers\ProfileController@getProfile',
   'as'=>'profile.index',
   ]);

   Route::get('/profile/edit', [
   'uses'=>'\ocsaf\Http\Controllers\ProfileController@getEdit',
   'as'=>'profile.edit',
   'middleware'=>['auth'],
   ]);

   Route::post('/profile/edit', [
   'uses'=>'\ocsaf\Http\Controllers\ProfileController@postEdit',
   'as'=>'profile.edit',
   'middleware'=>['auth'],
   ]);

   Route::post('/profile/edit', [
   'uses'=>'\ocsaf\Http\Controllers\StatusController@postStatus',
   'as'=>'status.post',
   'middleware'=>['auth'],
   ]);

   });

AuthController.php

    namespace ocsaf\Http\Controllers;
    use Auth;
   use Illuminate\Http\Request;
   use ocsaf\Models\User;



  class AuthController extends Controller
  {

  public function getSignUp()
  {
  return view('auth.signup');
  }

public function postSignUp(Request $request)
{
$this->validate($request, [
'email' => 'required|unique:users|email|max:255',
'username' => 'required|unique:users|alpha_dash|max:255',
'password' => 'required|min:6',


 ]);
 User::create([
    'email' => $request-> input('email'),
    'username' => $request-> input('username'),
    'password' => bcrypt($request -> input('password')),
 ]);

  return redirect()
  ->route('home')
  ->with('info', 'You have signed up, Please sign in!');
   }

  public function getSignIn()
  {
  return view('auth.signin');
  }

  public function postSignIn(Request $request)
  {
  $this->validate($request, [
  'email' => 'required',
  'password' => 'required',

  ]);

  if(!Auth::attempt($request -> only(['email', 'password' ]), 
  $request ->         has('remember'))){
    return redirect() ->back()->
 with('info', 'could not sign you in with those   details   ');
 }

 return redirect() ->route('home')->with('info', 'You are now signed in');

 }

 }

我的signin.blade.php表单声明

    <form class="form-vertical" role = "form" 
    method = "post" action = "{{     route('auth.signin'); }}">

1 个答案:

答案 0 :(得分:2)

您的表单方法为post,但对于路由auth.signin,HTTP谓词为get