- 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 tag afiseaza textul oblic?
<strong> <pre> <em>
<p>Cursuri, Jocuri, Anime: <em>www.MarPlo.net</em></p>
Care proprietate CSS defineste spatiul dintre continutul elementului si bordura lui?
margin padding position
h3 {
  padding: 2px 0.2em;
}
Clic pe metoda ce returneaza primul element indicat de selectorii specificati.
getElementsByName() querySelector() querySelectorAll()
// preia primul Div cu class="cls", si afiseaza continutul
var elm = document.querySelector("div.cls");
alert(elm.innerHTML);
Indicati variabila PHP ce contine datele din formular trimise cu method="post".
$_SESSION $_GET $_POST
if(isset($_POST["field"])) {
  echo $_POST["field"];
}
Indicati pronumele corespunzator celui din paranteza in propozitia: "(Noi) speak english".
I They We
We speak english.
- Noi vorbim engleza.
Indicati pronumele corespunzator celui din paranteza in propozitia: "(Noi) hablamos español".
Ellos Vosotros Nosotros
Nosotros hablamos español.
- Noi vorbim spaniola.
Laravel tutorial - Redirectionare

Last accessed pages

  1. Blog si Cugetari Personale (8551)
  2. Conditional IF - Exercitii si teste engleza incepatori (8060)
  3. Curs si Tutoriale JavaScript (21028)
  4. Coduri pt culori (29056)
  5. Curs HTML gratuit Tutoriale HTML5 (44274)

Popular pages this month

  1. Cursuri si Tutoriale: Engleza, Spaniola, HTML, CSS, Php-Mysql, JavaScript, Ajax (4568)
  2. Curs HTML gratuit Tutoriale HTML5 (3780)
  3. Curs si Tutoriale JavaScript (3463)
  4. Curs PHP MySQL, Tutoriale si Scripturi PHP (3341)
  5. Curs CSS Online Tutoriale CSS3 (3242)