我有问题从user1中保存来自user1的姓名和电子邮件。
当我使用带有route::post
和功能存储的Laravel中的html表单在 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放入表后,应该重定向到&#34;谢谢你&#34;页面(我有 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');
}
}
答案 0 :(得分:0)
您的表格基本上是一份注册表格。我建议为终点使用更有意义的名称。邮政路线可以是,
Route::post('/register','User1Controller@store');
现在表单操作可以是,
action="/register"
答案 1 :(得分:0)
我纠正了错字。谢谢!
我也改变了这一点 路线::后( '/', 'User1Controller @店'); 和action =“”。
它有效,现在唯一不好的是我应该重定向到一个页面“谢谢你”不要在完全相同的页面上查看另一个页面。
因为当我重新加载主页时,它在数据库中弄乱了。 我会尝试并告诉它是否有效。
谢谢大家的帮助! :)
答案 2 :(得分:0)
事情已经解决,这有效。我将添加我添加的代码,以便其他人可以找到它!
首先:我没有想到为什么,但是行动=&#34; dir1 / dir3&#34;对我来说没有用!
以下是添加的内容!
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');
}
&#13;