在Laravel中为HTML添加表单操作

32

我无法在视图HTML表单的操作标签中传递URL。

<form method="post" action="??what to write here??" accept-charset="UTF-8">

我希望将其操作设置为WelcomeController文件中的log_in函数,在控制器中。
以下是我的路由:
Route::get('/','WelcomeController@home');
Route::post('/', array('as' => 'log_in', 'uses' => 'WelcomeController@log_in'));
Route::get('home', 'HomeController@index');

提交后URL不变。
http://localhost:8000/

主要错误行

Whoops, looks like something went wrong.

之后出现了 1/1 TokenMismatchException in compiled.php line 2440:

13个回答

2
以下内容应该可以正常运作。
{{  Form::open( array('url' => action('WelcomeController@log_in'), 'files'=>true,'method'=>'post') )  }}

...
{{ Form::close() }}

1

我想在我的应用程序中存储一篇文章,所以我创建了一个帖子控制器(PostsController),其中包括资源:

php artisan make:controller PostsController --resource

该控制器已创建所有必要的方法来执行CRUD应用程序,然后我将以下代码添加到routes文件夹中的web.php中:

Route::resource('posts', 'PostsController');

我通过这样做解决了表单操作问题:

  1. 我通过执行php artisan route:list检查了我的路由列表
  2. 我在终端中的结果表格中搜索了store方法的路由名称,并在posts.storename下找到了它
  3. 我将此添加到我的表单的action属性中:action="{{route('posts.store')}}"而不是action="??what to write here??"

0

你的表单还缺少'{{csrf_field()}}'


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接