- Redirect catre actiunea unui Controller
- Redirect cu date in Session
- Redirectionare in metoda Constructor

Exista mai multe metode de a face redirect in Laravel. Cea mai simpla metoda este cu functia redirect().
Route::get('noprofile', function(){
  return redirect()->to('user/profile');
});
Sau:
Route::get('noprofile', function(){
  return redirect('user/profile');
});
Exista de asemenea o functie back() pentru a redirectiona utilizatorul la locatia anterioara.
Route::post('user/profile', function(){
  // Validate the request...

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

Redirectionare un anumit Route

Fiecare Route poate avea un nume specific. Numele poate fi dat folosind metoda name()
- Exemplu:
1. In routes/web.php creaza un route pentru pagina "/test" cu numele "testing".
Creaza inca un route pentru "/redirect" care va redirection request-ul la ruta numita "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. Acceseaza in browser urmatoarea adresa pentru a testa exemplu cu nume la Route.
//localhost:8000/redirect
Dupa executarea URL-ului de mai sus, vei fi redirectional la //localhost:8000/test , loatia route-ului numit "testing".

Daca route-ul are parametri, poti sa ii adaugi intr-un array ca al doilea argument a metodei route().
// For a route with the following URI: profile/{id}

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

Redirect catre actiunea unui Controller

Pentru a redirectiona catre actiunea unui controller, pune controller-ul si numele metodei la functia action().
return redirect()->action('HomeController@index');
Daca ruta la controller necesita parametri, poti sa ii ad] intr-un array ca al doilea argument al metodei action():
return redirect()->action('UserController@profile', ['id'=>1]);

Redirect cu date in Session

Daca vrei sa transmitu un mesaj la pagina unde utilizatorul este redirectionat, de exemplu dupa efectuarea cu succes a unei actiuni, poti folosi metoda with() pentru a adauga mesajul intr-o sesiune.
Route::post('user/profile', function(){
  // Update the user's profile...

  return redirect('dashboard')->with('status', 'Profile updated!');
});
Dupa ce utilizatorul este redirectiona, poti afisa mesajul din sesiune. De exemplu, folosind formatul Blade:
@if(session('status'))
 <div class="alert-success">
  {{ session('status') }}
 </div>
@endif
Dupa redirect, sesiune creata cu metoda with() este automat stearsa din "session".

Redirectionare in metoda Constructor

Pentru a face redirect() dintr-un __constructor() al unui controller, pentru a fi sigur ca redirect-ul este efectuat, fara a executa alta metoda, foloseste: redirect()->send().
Daca vrei sa faci o redirectionare in __construct() in functie de o sesiune, foloseste metoda $this->middleware() in constructor, cu codul pentru redirectionare intr-o functie callback, ca in acest format.
public function __construct(){
  $this->middleware(function($request, $next){
    //Your code with Session, for redirect

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

- Exemplu, o bucata de cod dintr-un controller. Daca sesiune 'admin_logg' nu exista, va redirectiona la '/'; metoda test() nu va fi executata:
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';
}

Un Test simplu in fiecare zi

HTML
CSS
JavaScript
PHP-MySQL
Engleza
Spaniola
Ce atribut e folosit in tag-ul <a> pentru adresa link-ului?
src href rel
<a href="http://coursesweb.net/" title="CoursesWeb.net">CoursesWeb.net</a>
Ce proprietate CSS seteaza tipul fontului utilizat?
font-family text-decoration font-size
h2 {
  font-family:"Calibri", sans-serif;
}
Ce instructiune selecteaza toate tag-urile <div> cu class="cls"?
querySelector("div.cls") getElementsByTagName("div") querySelectorAll("div.cls")
var elm_list = document.querySelectorAll("div.cls");
var nr_elms = elm_list.length;       // numar elemente selectate
alert(nr_elms);
Indicati functia care returneaza suma valorilor dintr-un array.
array_sum() array_diff() array_shift()
$arr =[1, 2, 3, 4);
$arr_sum = array_sum($arr);
echo $arr_sum;       // 10
Indicati forma corecta a verbului "study" (a studia) la Trecutul Simplu in aceasta propozitie: "We (study) English."
studyed studys studied
We studied English.
- Noi am studiat engleza.
Indicati forma corecta a verbului "decir" (a spune) la Prezent in aceasta propozitie: "Yo (decir) siempre la verdad."
digas digo decir
Yo digo siempre la verdad.
- Eu spun mereu adevarul.
Laravel tutorial - Redirectionare

Last accessed pages

  1. Blog si Cugetari Personale (15554)
  2. Adjectivul in limba engleza - The adjective (13017)
  3. Subjunctivul sau indicativul prezent - adjective (44)
  4. Verbe modale - SHALL, SHOULD, OUGHT TO, WILL, WOULD, USED TO, BE TO, DARE (17536)
  5. Viitor simplu si continuu - Future Tense Simple and Continuous (25227)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (7723)
  2. Curs HTML gratuit Tutoriale HTML5 (6394)
  3. Curs si Tutoriale JavaScript (5147)
  4. Curs CSS Online Tutoriale CSS3 (4906)
  5. Curs PHP MySQL, Tutoriale si Scripturi PHP (4726)