prgrm
prgrm

Reputation: 3833

Passing information between pages with Laravel

I need to pass information between pages.

I would usually just use sessions in plain PHP. I wonder if there is a more correct way to do this on Laravel.

First_page.php

<?php

session_start();

$_SESSION["ID"] = 'item_id';

?>

Second_page.php

<?php

session_start();


echo $_SESSION['ID'];
#"item_id"


?>

How is this supposed to be done in Laravel?

Upvotes: 4

Views: 2510

Answers (3)

KuKeC
KuKeC

Reputation: 4610

If you want to use session then you need to do 2 things.

  1. save session variables in your controller
  2. display session variables in your view

In your controller you can use something like

session()->put('your_session_variable','some value');

In your view then you can display that session variable

@if(session()->has('your_session_variable'))  
{{Session::get('your_session_varible',"session_not_set(default value)") }}
@endif

Its good to use default value for displaying session variables (many times that session variable is not set).

Upvotes: 1

Mukesh
Mukesh

Reputation: 953

Just use Session.

Session::flash(); //or Session::put

Session::flash('values', $passvalues);     
Redirect::to('/add1');

$oldinput = Session::get('values');

Upvotes: 3

Onix
Onix

Reputation: 2179

In laravel you can pass a variable in your url i.e. :

In routes.php

 Route::get('/page1', 'YourController@Yourfunction');
 Route::get('/page2/{id}', 'YourController@loadpage2');

In your controller.php

public function Yourfunction(){
   return view('page1');
}

public function loadpage2(id){

   return view('page2', compact('id'));

}

in your view have a link to url /page2/3 where 3 is your id

Upvotes: 2

Related Questions