Laravel,使用会话将输入变量从页面传递到其他

时间:2017-11-01 15:41:29

标签: php laravel

请注意我是Laravel的新手,所以我需要认真的帮助,因为3天寻找解决方案但没有运气。 我只需要查看或显示从表单预订表单到客户/仪表板页面的输入文本的值,请注意,在您登录之前无法发送输入数据,这是正常的,但如何传递数据并显示在下一页? 请用代码回答

形式:

   <form id="booking-form">
 <input class="indexinput" type="text" id="country" name="country" 
 placeholder="Country">
<input class="indexinput" type="text" id="state" name="state" 
placeholder="State">
<input class="indexinput" type="text" id="city" name="city" placeholder="city">
</form>

 <button class="button getbids" >GET BIDS</button> 


 <script type="text/javascript">
  $(document).on('click', '.getbids', function() {
  var loggedIn = {{ auth()->check() ? 'true' : 'false' }};
   if (loggedIn)
  window.location.replace('customer/dashboard');
  if(!loggedIn)
  $('#loginModal').modal('show'); 
   });
   </script>

路线

  Route::group(['middleware'=>['rolecustomer']], function () {

  Route::get('/customer/dashboard', 'HomeController@index')->name('customer.dashboard');
 });

控制器:

  public function index()
   {
   return view('index.customer.customerdashboard');
     }

2 个答案:

答案 0 :(得分:1)

要将值存储在会话中,请将输入值传递给laravel会话,如下所示。

Session::set('input_field', 'field_value');

要检索会话,请使用以下代码。

Session::get('input_field');

关于laravel session here的更多信息。

答案 1 :(得分:0)

如果您想在整个会话中永久放置某些内容,可以使用$session->put('key', 'value')

在你的情况下,

public function bids(Request $request){

    $request->session()->put('country', $request->country);
    $request->session()->put('state', $request->state);
    $request->session()->put('city', $request->city);
    return redirect()->route('route_name');

}

然后在下一页中,使用Session::get($key)

<div>
   <p>Country : {{ Session::get('country') }}</p>
   <p>State: {{ Session::get('state') }}</p>
   <p>City: {{ Session::get('city') }}</p>
</div>

或者,访问会话的更方便的方法是首先检查值是否在会话中Session::has('key_name')

<div>
   <p>Country : {{ (Session::has('country') ? Session::get('country') : '' ) }}</p>
   .....
</div>