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 a block element?
<div> <img> <span>
<div>Web Programming and Development</div>
Which CSS code displays the text underlined?
font-style: italic; text-decoration: underline; font-weight: 500;
h2 {
  text-decoration: underline;
}
Click on the JavaScript function that can access other function after a specified time.
insertBefore() setTimeout() querySelector()
function someFunction() { alert("CoursesWeb.net"); }
setTimeout("someFunction()", 2000);
Click on the instruction that returns the number of items of a multidimensional array in PHP.
count($array) count($array, 1) strlen()
$food =["fruits" =>["banana", "apple"), "veggie" =>["collard", "pea"));
$nr_food = count($food, 1);
echo $nr_food;       // 6
Redirects

Last accessed pages

  1. Register and show online users and visitors (39389)
  2. Creating Gradients (951)
  3. Arrays in ActionScript 3 (3082)
  4. Select in two MySQL tables (5329)
  5. JavaScript trim, rtrim and ltrim (13044)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (327)
  2. Read Excel file data in PHP - PhpExcelReader (122)
  3. The Four Agreements (97)
  4. PHP Unzipper - Extract Zip, Rar Archives (94)
  5. The Mastery of Love (87)