[英]MethodNotAllowedHttpException in RouteCollection.php - laravel
[英]MethodNotAllowedHttpException in RouteCollection.php Laravel
我在將user1的名稱和電子郵件保存到我創建的表user1s中時遇到問題。
當我在Laravel中使用html形式的route::post
和function存儲在textareas中輸入它們時,它不起作用。 當我輸入文字並點擊“注冊”按鈕時,將輸出以下錯誤:
RouteCollection.php行中的MethodNotAllowedHttpException
您將看到我使用HTML表單,並且嘗試將<input ....>
添加到我的表單中。
這是我的文件:
route.php
<?php
Route::get('/','PageController@home');
Route::post('/','User1Controller@store');
Route::get('about','PageController@about');
welcome.blade.php
我不確定該action
。 將user1 inf放入表后,應將其重定向到“謝謝”頁面 (我有Thankyou.blade.php ),也許就是問題所在
<form method="POST" action="">
<input name="_token" type="hidden" value="{{ csrf_token() }}"/>
<ul class="list-group" >
<li >
NAme
<div class="form-group" title="email" >
<textarea name="name" class="form-control" >
</textarea>
</div>
</li >
<li>Email
<div class="form-group" >
<textarea name="email" class="form-control" >
</textarea>
</div>
</li>
<li >
<div class="form-group" >
<button class="btn btn-primary">Register</button>
</div>
</li>
</ul>
</form>
為user1遷移
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateNotesTable extends Migration
{
public function up()
{
Schema::create('notes', function (Blueprint $table) {
$table->increments('id');
$table->integer('card_id')->unsigned();
$table->text('body');
$table->timestamps();
});
}
public function down()
{
Schema::drop('notes');
}
}
user1controller.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User1;
class User1Controller extends Controller
{
public function store(Request $request)
{
$user= new User1;
$user->name = $request->name;
$user->email = $request->email;
$user->save();
return view('thankyou');
}
}
pagecontroller.php
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User1;
class PageController extends Controller
{
public function home()
{
$user1s= User1::all();
return view('welcome',compact('user1s'));
}
public function about()
{
return view('pages.about');
}
}
您的表格基本上是注冊表格。 我建議為終點使用更有意義的名稱。 發布路線可以是這樣的,
Route::post('/register','User1Controller@store');
現在可以執行表單操作了
action="/register"
我糾正了錯字。謝謝!
我也更改了此Route :: post('/','User1Controller @ store'); 和action =“”。
它有效,唯一不好的是我應該重定向到頁面“謝謝”,而不要轉到完全相同頁面上的另一個視圖。
因為當我重新加載主頁時,它會使數據庫混亂。 我會嘗試一下,然后告訴它是否有效。
謝謝大家的幫助! :)
事情解決了,行得通。 我將添加已添加的代碼,以便其他人可以找到它!
所有人:我還沒弄清楚為什么,但是對我來說action =“ dir1 / dir3”無效!
這是添加的東西!
routes.php Route::get('thankyou','PageController@thankyou'); ***PageController.php*** public function thankyou() { return view('thankyou'); } *****User1Controller.php***** public function store(Request $request) { $user= new User1; $user->name = $request->name; $user->email = $request->email; $user->save(); return redirect('/thankyou'); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.