路线定义:
Route::get('/sign_up','NavigationController@show_sign_up');
Route::post('/sign_up','DatainsertController@sign_up_data');
控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\sender;
class DatainsertController extends Controller
{
public function sign_up_data(Request $request)
{
//create a new post using the request data
$post=new post;
$post->first_name=$request('first_name');
$post->last_name=$request('last_name');
//save to the database
$post->save();
//the redirect to the home page
return redirect('/');
}
}
这是我看到的错误消息:
我在路线上使用了post方法,并在表单中使用了CSRF令牌,但尽管一切似乎正确,但数据从未发送到数据库。
答案 0 :(得分:0)
尝试一下
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\sender;
use App\Post;
class DatainsertController extends Controller
{
public function sign_up_data(Request $request)
{
//create a new post using the request data
$post=new Post;
$post->first_name=$request->first_name;
$post->last_name=$request->last_name;
//save to the database
$post->save();
//the redirect to the home page
return redirect('/');
}
}
答案 1 :(得分:0)
在此处发布您的表单代码,也许您未在表单中设置操作。检查您的表单操作,它必须是这样的。
<form action="{{url('/sign_up')}}" method="post">
答案 2 :(得分:0)
不允许的方法路由方法配置问题将发生异常。
首先检查您的路由(web.php)
Route::get('/sign_up','NavigationController@show_sign_up')->name('getsignup');
Route::post('/sign_up','DatainsertController@sign_up_data')->name('postsignup');
转到您的视图,
打开开发人员工具,查看您的浏览器是否实际上在执行POST而不是GET
还尝试将action =“ / fproject / public / sign_up”更改为action =“ {{ route('postsignup')}}“
转到控制器
Add namespace like `App\Post` or whatever required.
没有其他解决办法。