Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 两个表单提交给Laravel中的同一控制器更新操作_Php_Laravel_Laravel 5 - Fatal编程技术网

Php 两个表单提交给Laravel中的同一控制器更新操作

Php 两个表单提交给Laravel中的同一控制器更新操作,php,laravel,laravel-5,Php,Laravel,Laravel 5,我有两个表单用于更新用户表 每个表单更新不同的列,路由如下所示: Route::get('users/preferences', 'Auth\AuthController@pref'); Route::get('users/profile/{id}/edit', 'Auth\AuthController@edit'); Route::patch('users/profile/{id}', 'Auth\AuthController@update'); 这两种形式的操作都指向此路由:users/p

我有两个表单用于更新用户表

每个表单更新不同的列,路由如下所示:

Route::get('users/preferences', 'Auth\AuthController@pref');
Route::get('users/profile/{id}/edit', 'Auth\AuthController@edit');
Route::patch('users/profile/{id}', 'Auth\AuthController@update');
这两种形式的操作都指向此路由:users/profile/{id}

是否有一种方法可以识别提交的表单,从而在插入之前应用验证或操作数据

注意:我不需要首选项中的id,因为我在本例中使用了当前登录的id

public function pref()
{
    return view('pages.users.pref');
}

public function edit(User $id)
{
    return view('pages.users.edit')->with('profile', $id);
}

public function update(Request $request, User $id)
{
    // want to know of best way to know which form is submitted
    /*
    if(this from)
         do this
    else 
         do that
    */

    return redirect('users/profile/'.$id->userid);
}
如果您有更好的想法,请提供。
提前谢谢。

我想您是在找。更具体地说,
if($request->isMethod(“”)){…}
向两个具有不同值的表单添加一个隐藏表单字段,然后根据该字段值执行所需操作need@Andrew这将返回类型为post/get/patch的方法,但它们都是patchmethod@K.Toress我想过,但这样做安全吗?这是最好的处理方法吗?如果将来我想在同一个动作中再添加一个表单,这会有帮助吗?@ClearDuch噢,我明白了,我明白了。在这种情况下,K.托雷斯的答案是正确的选择。它应该足够安全,因为您可以直接执行
if(case1)
if(case2)
。即使有人搞乱了前端,也没什么大不了的。我想你是在找。更具体地说,
if($request->isMethod(“”)){…}
向两个具有不同值的表单添加一个隐藏表单字段,然后根据该字段值执行所需操作need@Andrew这将返回类型为post/get/patch的方法,但它们都是patchmethod@K.Toress我想过,但这样做安全吗?这是最好的处理方法吗?如果将来我想在同一个动作中再添加一个表单,这会有帮助吗?@ClearDuch噢,我明白了,我明白了。在这种情况下,K.托雷斯的答案是正确的选择。它应该足够安全,因为您可以直接执行
if(case1)
if(case2)
。即使有人搞乱了前端,也没什么大不了的。