Php laravel 5.3 将输入值从一个 blade 文件传递​​到另一个 blade 文件

Php laravel 5.3 passing an input value from one blade file to another blade file

我想将输入值从一个 blade 文件传递​​到另一个 blade 文件。

我是 PHP Laravel 的新手,我在尝试使用它时遇到错误。

我认为我的语法在这里是错误的。有人可以帮忙吗?

channeling.blade:

<select class="form-control " name="fee" id ="fee"></select>

这是下一页的link,我想在其中发送"fee"的值:

<input type="hidden" value="fee" name="fee" />
<a href="{{ url('pay ') }}">Click to Channel</a></p>

这是我的 web.php:

Route::post('pay', [
    'as' => 'fee',
    'uses' => 'channelController@displayForm'
]);

这是我的控制器class:

 public function displayForm()
    {
        $input = Input::get();
        $fee = $input['fee'];
        return view('pay', ['fee' => $fee]);
    }

错误信息:

Undefined variable: fee 
(View: C:\xampp\htdocs\lara_test\resources\views\pay.blade.php)

pay.blade:

<h4>Your Channeling Fee Rs:"{{$fee}}"</h4>

我想你可以试试这个,你把 url('pay ') 误认为是空白:

更改您的代码:

<a href="{{ url('pay ') }}">Click to Channel</a></p>

<a href="{{ url('pay') }}">Click to Channel</a></p>

此外,您的问题还需要更正,因此我认为您需要先查看一下。

您可以查看 how to build a form with laravel 5.3。希望对你有帮助。

您应该使用表单发送 post 请求,因为 a href 将发送 get。因此,删除 link 并使用表单。如果你使用 Laravel Collective,你可以这样做:

{!! Form::open(['url' => 'pay']) !!}
{!! Form::hidden('fee', 'fee') !!}
{!! Form::submit() !!}
{!! Form::close() !!}

您可以使用 request()->fee 在控制器或视图中赋值。

或者您可以这样做:

public function displayForm(Request $request)
{
     return view('pay', ['fee' => $request->fee]);
}

您必须使用表单来 post 数据,然后您必须在点击事件时提交表单

 <form id="form" action="{{ url('pay') }}" method="POST" style="display: none;">
     {{ csrf_field() }}
     <input type="hidden" value="fee" name="fee" />
  </form>

关于的点击事件

<a href="{{ url('/pay') }}" onclick="event.preventDefault();
     document.getElementById('form').submit();">
      Logout
</a>

tl;dr: I believe @AlexeyMezenin's answer is the best help, so far.

您当前的问题:


前进的方向:

  • BasicTaskList Laravel 5.2 教程开启了我的 Laravel 旅程。

我像这样更改了代码并且它起作用了..

echanneling.blade

 <input type="hidden" value="fee" name="fee" />
                    <button type="submit" class="btn btn-submit">Submit</button>

channelController.php

public function about(Request $request)
    {

        $input = Input::get();
        $fee = $input['fee'];

        return view('pay')->with('fee',$fee);
    }

Web.php Route::post('/支付', 'channelController@about' );