- 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
Care atribut specifica metoda HTTP de trimitere (GET, POST) a datelor din formular?
action method value
<form action="script.php" method="post"> ... </form>
Ce proprietate CSS adauga umbra la chenar?
background-image box-shadow border-radius
#id {
  background-color: #bbfeda;
  box-shadow: 11px 11px 5px #7878da;
}
Clic pe functia care elimina primul element dintr-un array?
pop() push() shift()
var fruits = ["mar", "cireasa", "banana"];
fruits.shift();
alert(fruits.length);           // 2
Indicati functia cu care se poate verifica daca un anumit modul e instalat in PHP.
function() filetype() extension_loaded()
if(extension_loaded("PDO") === true) echo "PDO este valabil."
Alegeti verbul auxiliar corect care trebuie in propozitia: " ... I listen to music?".
has have Can
 Can I listen to music?
- Pot asculta muzica?
Alegeti verbul corect care trebuie in propozitia: "Me ... las frutas dulces"
están gustan gusta
Me gustan las frutas dulces.
- Imi plac fructele dulci.
Laravel tutorial - Redirectionare

Last accessed pages

  1. Efecte jQuery simple de ascundere si afisare (329)
  2. Curs PHP MySQL, Tutoriale si Scripturi PHP (43554)
  3. Instructiuni conditionale if else (865)
  4. Curs HTML gratuit Tutoriale HTML5 (74563)
  5. Verbe - Exercitii si teste engleza incepatori (12605)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (637)
  2. Curs HTML gratuit Tutoriale HTML5 (538)
  3. Curs si Tutoriale JavaScript (437)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (394)
  5. Curs CSS Online Tutoriale CSS3 (372)