yowza
yowza

Reputation: 260

Laravel 4 Session

Good day, I recently started using Laravel 4 (I'm still a newbie) and I'm currently working on a project, an "Airline Reservation". And I have this code in my index.blade.php:

@extends('layout.master')

@section('content')
<div class="container">
      <div class="row demo-row">
        <div class="col-xs-9">
          <nav class="navbar navbar-inverse navbar-embossed" role="navigation">

            <div class="collapse navbar-collapse" id="navbar-collapse-01">
              <ul class="nav navbar-nav">
                <li class="active"><a href="#fakelink">Search Flight<span class=""></span></a></li>
                <li class="disabled"><a href="#fakelink">Select Flight<span class=""></span></a></li>
                <li class="disabled"><a href="#fakelink">Guest Details<span class=""></span></a></li>
                <li class="disabled"><a href="#fakelink">Confirmation<span class=""></span></a></li>
               </ul>
            </div><!-- /.navbar-collapse -->
          </nav><!-- /navbar -->
        </div>
      </div> <!-- /row -->

      <!-- put form here -->
      {{ Form::open(['url'=>'/']) }}

      <div class='form-row'>
        <div class='col-xs-2 form-group required'>
            {{ Form::radio('triptype','',['name'=>'intTripType', 'id'=>'intTripTypeReturn', 'onclick'=>'disablefield()', 'value'=>'roundtrip']) }}
            {{ Form::label('return','Round Trip', ['class'=>'control-label']) }}
        </div>
        <div class='col-xs-2 form-group required'>
            {{ Form::radio('triptype','',['name'=>'intTripType', 'id'=>'intTripTypeOneWay', 'onclick'=>'disablefield()', 'value'=>'oneway']) }}
            {{ Form::label('oneway','One Way', ['class'=>'control-label']) }}
        </div>
      </div>

    <br />

    <!-- Origin -->
    <div class='form-row'>
        <div class='col-xs-9 form-group required'>
        {{ Form::select('from', ['from'=>'From', 'Philippines'=> $airports],'', ['class'=>'form-control', 'id'=>'from']) }}       
        </div>
    </div>

    <!-- Destination -->
    <div class='form-row'>
        <div class='col-xs-9 form-group required'>
            {{ Form::select('to', ['to'=>'To', 'Philippines'=> $airports],'', ['class'=>'form-control', 'id'=>'to']) }}       
        </div>
    </div>

    <!-- Date Picker Departure Date -->
    <div class='form-row'>
        <div class='col-xs-9 form-group required'>
            {{ Form::text('departure','',['placeholder'=>'Departure', 'autocomplete'=>'off', 'class'=>'form-control', 'name'=>'intDepart', 'id'=>'intDepart', 'size'=>'20']) }}
        </div>
    </div>

    <!-- Date Picker Return Date -->
    <div class='form-row'>
        <div class='col-xs-9 form-group returnDate required'>
            {{ Form::text('return','',['placeholder'=>'Return', 'autocomplete'=>'off', 'class'=>'form-control', 'name'=>'intReturn', 'id'=>'intReturn', 'size'=>'20']) }}
        </div>
    </div>

    <!-- People? -->
    <div class='form-row'>
        <div class='col-xs-4 form-group card required'>
        {{ Form::label('adult','Adult', ['class'=>'control-label']) }}
            <select name="intAdults" id="intAdults" class='form-control'>
                <?php for($i=1; $i<=7; $i++) { ?>
                <option value="<?= $i ?>"><?= $i ?></option>
                <?php } ?>
            </select>
        </div>
        <div class='col-xs-4 form-group card required'>
        {{ Form::label('child','Child (below 12 years)', ['class'=>'control-label']) }}
            <select name="intChildren" id="intChildren" class='form-control'>
                <?php for($i=0; $i<=4; $i++) { ?>
                <option value="<?= $i ?>"><?= $i ?></option>
                <?php } ?>
            </select>
        </div>

        <!-- Find it -->
        <div class='form-row'>
            <div class='col-md-5 form-group'>
                {{ Form::submit('Find it', ['class'=>'btn btn-block btn-lg btn-primary', 'name'=>'submit', 'id'=>'submit']) }}
            </div>
        </div>
    </div>

    {{ Form::close() }}
</div> <!-- /container -->
@endsection

What I would like to do is to session these variables:

"Trip Type", "Origin", "Destination", "Departure Date", "Return Date", "Peoples (i.e. Adults, Children)".

How should I do this in Laravel 4? Will I place the session in the routes.php or some other way(s)?

Upvotes: 0

Views: 448

Answers (1)

clonelab
clonelab

Reputation: 651

What you want to do is place a post route in your routes.php. Here is the routing help for laravel - http://laravel.com/docs/4.2/routing

From there either in the route or in the controller you set you can set the sessions. This is done by first fetching the variables from the INPUT facade. http://laravel.com/docs/4.2/requests

Than you can add them to the session using methods here - http://laravel.com/docs/4.2/session

I would also highly suggest validation of the inputs. http://laravel.com/docs/4.2/validation

Below is a quick and dirty example. I do strongly suggest validation of all user inputs even if they are validated before submission just as a double edge sword.

Route::post('/',function(){
   Session::put('intTripType',Input::get('intTripType'));
});

Upvotes: 1

Related Questions