laravel使用session来存储输入字段并传递给另一个页面

时间:2017-10-31 18:56:58

标签: php laravel

我是laravel中的新手我有输入字段的表单但是我想使用会话在其他页面中发送输入值和显示以便稍后检查它们 请用代码回答

形式:

   <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');
     }

3 个答案:

答案 0 :(得分:0)

您可以将值放在会话中(在控制器中),如下所示:

$request->session()->put('sampleid', $samplevalue);

并在刀片页面上检索它们:

@if(Session::has('sampleid'))
        <div class="alert alert-success">
             {{Session::get('sampleid')}} 
        </div>
    @endif

在这样的控制器中:

if($request->session()->has('sampleid')) 
{ 
 $request->session()->get('collegeid');
}

答案 1 :(得分:0)

如果用户未按特定请求登录,您似乎正在尝试重定向用户。在laravel中有中间件来处理这个问题。看看文档。它并不难设置。

所有这些身份验证规则都可以使用Laravel中间件处理。

文档中间件:https://laravel.com/docs/5.5/middleware

答案 2 :(得分:0)

通过查看您的代码,我了解您在单击提交按钮后尝试检查用户是否已通过身份验证。如果他已通过身份验证,则您将其重定向到customer/dashboard。如果未经过身份验证,则表示您正在显示登录模式。

问题是您是使用javascript将用户重定向到某个页面,而您无法使用该表单获取提交的数据。所以我想您正在尝试使用session来获取customer/dashboard中的表单数据。你可以像下面那样实现你想要的方式。

<form id="booking-form" method="POST" action="{{ route('customer.dashboard') }}">

将您的javascript代码更改为

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

现在将您的路线设为

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