Laravel从控制器提交表格?

时间:2017-12-02 09:56:48

标签: php laravel laravel-5

我想将表单发布到另一个webstie并同时更新我的​​数据库..使用一个提交按钮

我如何(发布$ req链接a);?

form.blade.php                

<form action="{{route('formpost')}}" method="post">
  <input type="text" name="user_id" value="">
  <input type="text" name="item_name" value="">
  <input type="text" name="first_name">

  <input type="submit" value="Submit">
</form>

formController.php

public function post(Request $req){
 //$req = user_id=1&item_name=ball&first_name=tera

 //i want to post to link a
 (post $req to link a);

 //and then updates database..
 updateusers($req,);

}

有没有办法使用控制器并仅使用php(所以我可以在需要的时候在线下添加验证)还是有另一种方法吗?

4 个答案:

答案 0 :(得分:1)

我建议您使用此命令来使用控制器资源。 php artisan make:controller whateverController --resource

这将创建一个具有创建,编辑和存储表单等必要功能的控制器。您可以在路线列表中拨打电话。

对于您的示例,在您的表单操作中,而不是{{route(&#39; formpost&#39;)}},您将拥有类似{{route(&#39; formpost @ store&#39;)}的内容存储表单信息。如果您使用的是某种表单,请不要忘记将此令牌添加到表单中,否则您将出错。

&#13;
&#13;
<form method="POST" action="/profile">
    {{ csrf_field() }}
    ...
</form>
&#13;
&#13;
&#13;

您可以在laravel controller resource

上阅读更多内容

答案 1 :(得分:1)

您可以使用Guzzle库在Laravel中执行外部http请求。您可以使用composer安装它。

composer require guzzlehttp/guzzle

要发送http请求,您可以执行以下操作:

$client = new GuzzleHttp\Client();

$response = $client->request('POST', 'http://httpbin.org/post', [ 
    'form_params' => [ 
        'field_name' => 'abc', 
        'other_field' => '123', 
        'nested_field' => [ 
            'nested' => 'hello'
        ] 
    ] 
]);

其文档中提供了更多信息。

答案 2 :(得分:0)

我相信您需要将数据发送到不同的网站而不是您的网站。

如果是,您必须使用cUrl library

之类的内容

答案 3 :(得分:0)

可以通过在表单提交事件

上传递ajax请求简单地使用javascript来完成