[英]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.