Php Laravel:如何将值从窗体传递给控制器?

Php Laravel:如何将值从窗体传递给控制器?,php,laravel,laravel-4,Php,Laravel,Laravel 4,我有一张表格: { Form::open(array('action' => 'RatesController@postUserRate', $client->id)) }} {{ Form::text('rate', '', array('placeholder' => 'Enter new custom client rate...')) }} {{ Form::submit('Submit', array('class' => 'btn btn-pr

我有一张表格:

{ Form::open(array('action' => 'RatesController@postUserRate', $client->id)) }}
    {{ Form::text('rate', '', array('placeholder' => 'Enter new custom client rate...')) }}
    {{ Form::submit('Submit', array('class' => 'btn btn-primary')) }}
{{ Form::close() }}
如何通过表单将$client->id值传递给控制器方法

我目前有一个控制器方法,如下所示:

public function postUserRate($id)
{
    $currentUser = User::find(Sentry::getUser()->id);
    $userRate = DB::table('users_rates')->where('user_id', $currentUser->id)->where('client_id', $id)->pluck('rate');

    if(is_null($userRate))
    {
    ...
    }else{
    ....
    }
}
错误日志显示“RatesController::postserrate()缺少参数1”

关于如何将这个$client->id传递到我的控制器中以便我可以像上面所说的那样使用它,有什么想法吗?

{{{Form::hidden('id',$client->id)}}
添加到表单中。然后,当它被发布时,您可以使用
Input::get('id')
按常规获取它的值

另外,删除
postserrate
方法的参数。

您只需使用:

Form::open(数组('action')=>array('Controller@method“,$user->id)))

  • 变量
    $user->id
    作为参数传递给方法
    method
    ,最后一个变量也应该接收参数,如下所示:
    method($userId)

来源:Laravel

您可以在表单中创建一个值为
$client->id
的隐藏字段,它将与其他字段一起提交这是一种解决方案,但是如果入侵者使用burp等工具截获html表单并更改隐藏值,会发生什么情况?如果你知道这个问题的解决办法,请告诉我。