- 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 meta tag se foloseste pentru scurta descriere a paginii?
<meta content="..."> <meta description="..."> <meta http-equiv="...">
<meta name="description" content="70-160 caractere ce descriu continutul paginii" />
Ce proprietate CSS opreste efectul dat de "float"?
clear text-align position
#some_id {
  clear: both;
}
Clic pe metoda ce creaza un array cu toate elementele din pagina cu un anumit nume de tag.
getElementsByName() getElementById() getElementsByTagName()
var divs = document.getElementsByTagName("div");
var nr_divs = divs.length;
alert(nr_divs);
Indicati functia PHP ce returneaza numarul de elemente dintr-un array.
is_[) count() strlen()
$arr =[7, 8, "abc", 10);
$nri = count($arr);
echo $nri;        // 4
Indicati adverbul corespunzator adjectivului din paranteza in propozitia: "I live (happy)".
happly happily hapily
I live happily.
- Traiesc fericit (in mod fericit).
Indicati adverbul corespunzator adjectivului din paranteza in propozitia: "Vivo (feliz)".
felizamente felizmente felices
Vivo felizmente.
- Traiesc fericit (cu fericire).
Laravel tutorial - Redirectionare

Last accessed pages

  1. Alphabet and Pronunciation - Alfabetul si pronuntia in limba engleza (22066)
  2. Gramatica limbii engleze - Prezentare Generala (72291)
  3. Prepozitii - Prepositions (7819)
  4. HTML5 - Elemente si atribute noi in formular (1341)
  5. HTML5 - Tag-uri Noi (1020)

Popular pages this month

  1. Gramatica limbii engleze - Prezentare Generala (2613)
  2. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (1259)
  3. Prezentul simplu si continuu - Present Tense Simple and Continuous (827)
  4. Gramatica limbii spaniole. Indrumator si prezentare generala (807)
  5. Alphabet and Pronunciation - Alfabetul si pronuntia in limba engleza (744)