>我创建了一个页面,用于在 laravel 中创建帖子。 它工作得很好. 但是当我再次刷新感谢页面时,数据入.
MY create.blade.php 是:
<div class="container col-md-8 col-md-offset-2">
{{ Form::open(array('action'=>'create','method'=>'PUT')) }}
{{ Form::label('title','Title :') }}<br>
{{ Form::text('title','',array('required')) }}<br>
{{ Form::label('body','Post :') }}<br>
{{ Form::textarea('body','',array('required')) }}<br>
{{ Form::label('user_id','User Id :')}}<br>
{{ Form::text('user_id','',array('required')) }}<br>
{{ Form::label('done','Status :') }}<br>
{{ Form::text('done','',array('required')) }}<br><br>
{{ Form::submit() }}
{{ Form::close() }}
我的路由文件是:
Route::get('/','TasksController@home');
Route::get('/create','TasksController@create');
Route::post('/create','TasksController@createpost');
任务控制器是:
class TasksController extends BaseController{
public function home(){
$tasks = Task::all();
return View::make('home',compact('tasks'));
}
public function create(){
return View::make('create');
}
public function createpost(){
$input = Input::all();
$task = new Task;
$task->title = $input['title'];
$task->body = $input['body'];
$task->user_id = $input['user_id'];
$task->done = $input['done'];
$task->save();
return View::make('thanks');
}
}
谢谢刀片.php是:
感谢您的注册
我希望如果用户刷新 thanks.blade.php则不会再次插入数据库
谢谢
在页面刷新时,浏览器每次都会再次提交表单。我通常在表单提交后使用重定向。例如,您可以使用 header() 函数来执行此操作。
或者,您可以在 laravel 中使用消息重定向,如下所示:
return Redirect::to('thanks')->with('message', 'My message here');
提交后,使用redirect()
函数:
return redirect('make');