Laravel Course

- Redirecting to Controller Actions
- Redirecting with Flashed Session data
- Redirect in Constructor

There are several ways to redirect responses. The simplest method is to use the global redirect() helper.
Route::get('noprofile', function(){
  return redirect()->to('user/profile');
});
Or:
Route::get('noprofile', function(){
  return redirect('user/profile');
});
There is also a back() function to redirect the user to their previous location.
Route::post('user/profile', function(){
  // Validate the request...

  return back()->withInput();
});

Redirecting To Named Routes

Each Route can have a specific name. The name can be assigned using the name() method.
- Example:
1. In routes/web.php create a route for "/test" page, with the name "testing".
Create another route for "/redirect" which will redirect the request to the named route "testing".
Route::name('testing')->get('/test', function(){
   return 'Life is an effect, the cause is Love.';
});

Route::get('redirect',function(){
   return redirect()->route('testing');
});
2. Visit the following URL to test the named route example.
//localhost:8000/redirect
After execution of the above URL, you will be redirected to //localhost:8000/test , the location of the named route "testing".

If your route has parameters, you may pass them into an array as the second argument to the route() method.
// For a route with the following URI: profile/{id}

return redirect()->route('profile', ['id'=>1]);

Redirecting to Controller Actions

To redirect to controller actions, pass the controller and the method name to the action() function.
return redirect()->action('HomeController@index');
If your controller route requires parameters, you may pass them into an array as the second argument to the action() method:
return redirect()->action('UserController@profile', ['id'=>1]);

Redirecting with Flashed Session data

If you want to pass a message to the page where the user is redirected, for example after successfully performing an action, you may create a redirect response and flash data to the session using the with() method.
Route::post('user/profile', function(){
  // Update the user's profile...

  return redirect('dashboard')->with('status', 'Profile updated!');
});
After the user is redirected, you may display the flashed message from the session. For example, using Blade syntax:
@if(session('status'))
 <div class="alert-success">
  {{ session('status') }}
 </div>
@endif
After redirect with the with() method, the flashed session is automatically deleted from "session".

Redirect in Constructor

To make a redirect() from a __construct() of a controller, to make sure that the redirect() is performed, without executing other method, use: redirect()->send().
If you want to make a redirect in __construct() according to a session, use the $this->middleware() method in constructor, with the code for redirect in a callback function, like in this syntax.
public function __construct(){
  $this->middleware(function($request, $next){
    //Your code with Session, for redirect

    return $next($request); //<- this is required
  });
}

- Example, a piece of code from a controller. If the Session 'admin_logg' not exist, it will redirect to '/'; the test() method will not be executed:
public function __construct(Request $request){
  //this Closure is needed because it is used session in __construct
  $this->middleware(function($request, $next){
    if(!session()->has('admin_logg')){
      return redirect('/')->send();
    }
    return $next($request);
  });

  $this->test();
}

public function test(){
  echo 'Laravel tutorial';
}

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which tag is used in <table> to create table header cell?
<thead> <th> <td>
<table><tr>
  <th>Title 1</th>
  <th>Title 2</th>
</tr></table>
Which CSS property sets the distance between lines?
line-height word-spacing margin
.some_class {
  line-height: 150%;
}
Which function opens a new browser window.
alert() confirm() open()
document.getElementById("id_button").onclick = function(){
  window.open("http://coursesweb.net/");
}
Indicate the PHP function that returns an array with names of the files and folders inside a directory.
mkdir() scandir() readdir()
$ar_dir = scandir("dir_name");
var_export($ar_dir);
Redirects

Last accessed pages

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (144117)
  2. Introduction to ActionScript 3 (3429)
  3. Clear Canvas Context (8132)
  4. Common PHP Errors and Solutions (9795)
  5. Responses (331)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (565)
  2. CSS cursor property - Custom Cursors (77)
  3. Read Excel file data in PHP - PhpExcelReader (55)
  4. PHP Unzipper - Extract Zip, Rar Archives (48)
  5. PHP-MySQL free course, online tutorials PHP MySQL code (46)