2017-06-06 129 views
-3

我有一個簡單的輸入表單,帶有文本輸入字段和提交按鈕。我試圖從提交按鈕被點擊後,從輸入字段的值再次顯示在同一頁上。到目前爲止,laravel總是拋出一個錯誤,即變量未定義。如何從控制器獲取值以在laravel中查看?

路線:

Route::get('/find/names', "[email protected]_name")->name('names'); 

控制器

public function get_name(){ 
     $name = Input::get('name_by_user'); 
     return $name; 
    } 

視圖

 <form role="form" method="GET"> 
        <div class="row"> 
         <div class="form-group"> 
          <div class="input-group"> 
           <input type="text" name="name_by_user"/> 
           <span class="input-group-btn"> 
            <button class="btn search-button" type="submit"> 
            <span aria-hidden="true"> 
            <span>Search</span> 
            </button> 
           </span> 
           </span> 
          </div> 
         </div> 
        </div>   
       </form> 

    display name after submitting: {{$name}} 
+0

只是要另一種觀點。存儲數據後,重定向到該視圖 –

+0

我在哪裏存儲數據?它在這裏嗎? $ name = Input :: get('name_by_user'); – Imi

+0

我忘了仔細看。如果你將它保存到數據庫,那麼它會更容易 –

回答

1

我會做這樣的事情

路線

Route::name('names')->get('/find/names', "[email protected]_name"); 

控制器

public function get_name(){ 
    $collection = Input::all(); 
    $name = $collection->pluck('name_by_user'); 
    return view('view_file_in_resources', compact('name')); 
} 

現在你將有一個$names收集你的看法。

但如果你只想獲取從一個行的結果,你控制器應是這樣的:

public function get_name($name){ 
    $name = Input::where('name_by_user', $name)->get(); 
    return view('view_file_in_resources', compact('name')); 
} 

而且你的路由文件

Route::name('names')->get('/find/names/{name}', "[email protected]_name"); 
1

您需要返回了同樣的觀點:

public function get_name(Request $request) 
{ 
    return view('same.view', ['name' => $request->name]); 
} 

或者,你可以重定向回:

return redirect()->back()->with('name', $request->name); 

和顯示名稱,比如使用會話數據:

@if (session()->has('name')) 
    {{ session('name') }} 
@endif 
+0

我仍然沒有得到它在視圖 – Imi

2

當生成路由控制器內部的視圖,你可以做跟在一個函數中,根據數據是否存在返回一個視圖。

public function showNameView() { 

    if(is_null(Input::get('name_by_user')) 
    { 

     return view('my.view')->with(['name' => Input::get('name_by_user')]); 

    } 
    else 
    { 

     return view('my.view')->with(['name' => Input::get('name_by_user')]); 

    } 

} 
+1

should'nt它將返回view('my.view') - > with(['name'=> Input :: get('name_by_user')]); - 另一個結束? – Imi

+0

是的,它應該,我的壞 – DanTheDJ1

相關問題