x69 x69 - 3 months ago 14
PHP Question

Laravel : How to send variable from one page to another in blade

I'm building a laravel application where from The first page I want to send a variable or say value to second page in a form ..How do I do it?
Let's say In my first page I have several buttons so when a user click on any one button, he will be redirected to another page where he has to submit a form.
In first page while he select a button, he automatically select a course_id which will also submit inside the second page form. But How do i send the course_id from the first page button?

<li> <a href="{{route('registration')}}">A</a> </li>
<li> <a href="{{route('registration')}}" >B</a> </li>

When a user click on the button second page will appear ..Where I'm gonna submit a form where course_id will come from the first page means the

Here is my form demo:

{!! Form::open(array('route' => 'postRegistration','class'=>'form-horizontal','method'=>'POST')) !!}
{!! Form::token(); !!}
{!! csrf_field() ; !!}

<div class="form-group">
<label class="sr-only" for="form-first-name">Name</label>
<input type="text" name="name" placeholder="Name..." class="form-first-name form-control" id="form-first-name">
<div class="form-group">
<label class="sr-only" for="form-email">Email</label>
<input type="text" name="email" placeholder="Email..." class="form-email form-control" id="form-email">

<div class="form-group">
<label class="sr-only" for="form-last-name">Address</label>
<textarea rows="4" style="height:100px;" name="address" placeholder="Address..." class="form-last-name form-control" id="form-last-name"></textarea>
<button type="submit" class="btn">Submit</button>
{!! Form::close() !!}

In my database I have to submit the above field as well as the course_id from the database.
How do I do it in Laravel?

Any suggestion or solution please?


You can send the variable as route parameter. To do this change your <a> tags like this.

<li> <a href="{{route('registration', ['course_id' => 'A'])}}">A</a> </li>
<li> <a href="{{route('registration', ['course_id' => 'B'])}}">B</a> </li> 

Then you need to allow your registration route to take parameter. Suppose your route is like this

Route::get('/registration', [
    'as' => 'registration', 'uses' => 'SomeController@method'

Change it to

Route::get('/registration/{course_id}', [
    'as' => 'registration', 'uses' => 'SomeController@method'

Now you have to add this parameter into your SomeController@method

public method($course_id){ ... }

Now pass this $course_id to your form view. To submit this variable with your other fields you can add this as hidden input field.

<div class="form-group">
    <input type="hidden" name="course_id" value="{{ $course_id }}">