传递变量从一个视图到其他视图 - Laravel 5.1(Passing Variable Fro

2019-10-24 13:19发布

之后回答我刚才的问题,我复制一切顶端回答说,它完全适用于他,而它确实不适合我。

我希望把我主页上的两个按钮(作家与读者),这将引导他们到注册页面,并把职业作为形式的隐藏字段。

我的主页:

    {!! Form::open(['route' => ['writer_path']]) !!}
    {!! Form::hidden('profession', 'writer') !!}
    {!! Form::submit('Writer', array('class' => 'btn btn-warning')) !!}
    {!! Form::close() !!}

我routes.php文件

   Route::post('auth/register', [
     'as' => 'writer_path',
     'uses' => 'ProfessionController@displayForm'
   ]);

ProfessionController.php

   class ProfessionController extends Controller
    {
      //
   public function displayForm()
   {
    $input = Input::get();
    $profession = $input['profession'];
    return view('auth/register', ['profession' => $profession]);
   }
}

当我按一下按钮没有任何反应。 当我检查的开发工具>网络,之前我按一下按钮,寄存器似乎不但是当我点击它来了,但它并没有告诉我任何地方。

当寄存器来那里,它也示出了在timelime和长条initiator = Other 。 当我点击注册,然后Preview它说Failed to load response data 。 你有什么主意吗?


编辑:

  • 我使用Laravel 5.1 + Laravel集体

源代码:

 <form method="POST" action="http://app.com/auth/register" accept-charset="UTF-8"><input name="_token" type="hidden" value="qq1exVYYTrmuRBrj62HGgOxJWidUK770lF5Wv1qH">
 <input name="profession" type="hidden" value="writer">
 <input class="btn btn-warning" type="submit" value="Writer">
 </form>
  • 当我点击Chrome开发者工具>来源>来源> auth/register ,我得到了一个错误(仅适用于一次性的其他时间不显示在寄存器中。 Sources ):

TokenMismatchException在/home/vagrant/Code/Laravel/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php 53行:


编辑2:

Answer 1:

有几件事情怎么回事。

除了我在评论中提到刚才(正在注册两条路线,同样的路径下做不同的事情,即

Route::post('auth/register', [
'as' => 'writer_path',
'uses' => 'ProfessionController@displayForm'
 ]);

Route::post('auth/register', 'Auth\AuthController@postRegister');

)这些共存于同一个routes.php文件文件,并可能有冲突,如果这些网址都是一样的

另外,您

public function displayForm()
{
    $input = Input::get();
    $profession = $input['profession'];
    return view('auth/register', ['profession' => $profession]);
}

正在恢复的观点,路线,不是像在说明一个名为路线:

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

}

这一点,因为我说的应该直接向你,你将在一个名为writerregistration.blade.php你应该把在我通过在这里我的回答底部的窗体的代码文件创建一个视图:

Laravel传递数据从一个视图到其他视图



Answer 2:

通过添加“方法”,以表格::开放的尝试

{!! Form::open(['route' => ['writer_path'], 'method' => 'POST']) !!}

和“输入”使用“\”上控制器

$input = \Input::get();


文章来源: Passing Variable From One View to Another View - Laravel 5.1