laravel là framework php mã nguồn mở miễn phí. nó là một công cụ rất mạnh để tạo các ứng dụng web lớn và mạnh mẽ. Nó tuân theo cấu trúc MVC
Sử dụng mã bên dưới để chuyển hướng trở lại trang trước sau khi đăng nhập
Cập nhật LoginController của bạn. php
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\URL;
public function __construct[]
{
$this->middleware['guest', ['except' => 'logout']];
Session::put['preUrl', URL::previous[]];
}
public function redirectTo[]
{
return Session::get['preUrl'] ? Session::get['preUrl'] : $this->redirectTo;
}
Trong bài đăng này, chúng tôi sẽ cung cấp cho bạn thông tin về Laravel sau khi đăng nhập, chuyển hướng trở lại url trước đó?. Nghe nói chúng tôi sẽ cung cấp cho bạn thông tin chi tiết về Laravel sau khi đăng nhập, chuyển hướng trở lại url trước đó? Và cách sử dụng nó cũng cung cấp cho bạn bản demo cho nó nếu cần thiết
Nếu bạn đang làm việc trên laravel và bạn muốn làm như thế. Cách chuyển hướng trở lại url trước, Sau khi đăng nhập. sau khi người dùng đăng nhập, bạn có thể chuyển hướng trang trước của anh ấy như trước đây. bạn có thể làm điều này, tôi muốn cung cấp cho bạn hai ví dụ. ví dụ đầu tiên đang sử dụng aim[] và ví dụ thứ hai đang sử dụng phiên nhưng tôi không biết nhiều hơn nhưng tôi nghĩ rằng dự định[] không hoạt động bình thường trong laravel 5 nhưng bạn có thể thử trong laravel 4. nhưng tôi chắc chắn rằng tôi đã cung cấp cho bạn ví dụ về phiên hoạt động tốt ở cả hai
Vì vậy, bạn có thể thử bất kỳ cách nào và nhận được giải pháp của mình, 1. sử dụng dự định[] và 2. phiên họp
ví dụ 1
public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::intended[];
}
return back[];
}
ví dụ 2
public function login[]
{
Session::put['url.intended',URL::previous[]];
return view['login'];
}
public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::to[Session::get['url.intended']];
}
return back[];
}
Thử cái này……
Hy vọng mã và bài đăng này sẽ giúp bạn triển khai Laravel sau khi đăng nhập, chuyển hướng trở lại url trước đó?. nếu bạn cần bất kỳ trợ giúp hoặc bất kỳ phản hồi nào, hãy đưa ra trong phần bình luận hoặc bạn có ý tưởng hay về bài đăng này, bạn có thể đưa ra phần bình luận. Nhận xét của bạn sẽ giúp chúng tôi giúp bạn nhiều hơn và cải thiện chúng tôi. chúng tôi cũng sẽ cung cấp cho bạn loại bài đăng thú vị hơn này trong phần nổi bật,
Phản hồi chuyển hướng là các phiên bản của lớp
Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
1 và chứa các tiêu đề thích hợp cần thiết để chuyển hướng người dùng đến một URL khác. Có một số cách để tạo một phiên bản Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
2. Phương pháp đơn giản nhất là sử dụng trình trợ giúp Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
3 toàn cầuRoute::get['/dashboard', function [] {
return redirect['/home/dashboard'];
Đôi khi, bạn có thể muốn chuyển hướng người dùng đến vị trí trước đó của họ, chẳng hạn như khi biểu mẫu đã gửi không hợp lệ. Bạn có thể làm như vậy bằng cách sử dụng hàm trợ giúp toàn cầu
Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
4. Vì tính năng này sử dụng phiên, hãy đảm bảo tuyến đường gọi hàm Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
4 đang sử dụng nhóm phần mềm trung gian Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
6 hoặc đã áp dụng tất cả phần mềm trung gian phiênRoute::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
Chuyển hướng đến các tuyến đường được đặt tên
Khi bạn gọi trình trợ giúp
Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
3 mà không có tham số, một thể hiện của Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
8 được trả về, cho phép bạn gọi bất kỳ phương thức nào trên thể hiện của Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
9. Ví dụ: để tạo một Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
2 cho một tuyến đường đã đặt tên, bạn có thể sử dụng phương thức 51public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::intended[];
}
return back[];
}
5public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::intended[];
}
return back[];
}
Nếu tuyến đường của bạn có tham số, bạn có thể chuyển chúng làm đối số thứ hai cho phương thức
51public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::intended[];
}
return back[];
}
8public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::intended[];
}
return back[];
}
Điền tham số thông qua các mô hình Eloquent
Nếu bạn đang chuyển hướng đến một tuyến đường có tham số "ID" đang được điền từ một mô hình Eloquent, thì bạn có thể chuyển chính mô hình đó. ID sẽ được trích xuất tự động
9public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::intended[];
}
return back[];
}
Nếu bạn muốn tùy chỉnh giá trị được đặt trong tham số định tuyến, bạn nên ghi đè phương thức
53 trên mô hình Eloquent của mìnhpublic function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::intended[];
}
return back[];
}
1public function login[]
{
Session::put['url.intended',URL::previous[]];
return view['login'];
}
public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::to[Session::get['url.intended']];
}
return back[];
}
Chuyển hướng đến các hành động của bộ điều khiển
Bạn cũng có thể tạo chuyển hướng đến các hành động của bộ điều khiển. Để làm như vậy, hãy chuyển bộ điều khiển và tên hành động cho phương thức
54public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::intended[];
}
return back[];
}
3public function login[]
{
Session::put['url.intended',URL::previous[]];
return view['login'];
}
public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::to[Session::get['url.intended']];
}
return back[];
}
Nếu tuyến điều khiển của bạn yêu cầu tham số, bạn có thể chuyển chúng làm đối số thứ hai cho phương thức
54public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::intended[];
}
return back[];
}
5public function login[]
{
Session::put['url.intended',URL::previous[]];
return view['login'];
}
public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::to[Session::get['url.intended']];
}
return back[];
}
Chuyển hướng với dữ liệu phiên flash
Chuyển hướng đến một URL mới và thường được thực hiện cùng một lúc. Thông thường, điều này được thực hiện sau khi thực hiện thành công một hành động khi bạn flash thông báo thành công cho phiên. Để thuận tiện, bạn có thể tạo một phiên bản
Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
2 và flash dữ liệu vào phiên trong một chuỗi phương thức thông thạo duy nhất7public function login[]
{
Session::put['url.intended',URL::previous[]];
return view['login'];
}
public function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::to[Session::get['url.intended']];
}
return back[];
}
Bạn có thể sử dụng phương thức
57 do phiên bảnpublic function loginPost[]
{
if [$this->auth->attempt[array['email' => Input::get['email'], 'password' => Input::get['password']]]]{
return Redirect::intended[];
}
return back[];
}
Route::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
2 cung cấp để flash dữ liệu đầu vào của yêu cầu hiện tại vào phiên trước khi chuyển hướng người dùng đến một vị trí mới. Sau khi đầu vào đã được đưa vào phiên, bạn có thể dễ dàng trong lần yêu cầu tiếp theoRoute::post['/user/profile', function [] {
// Validate the request...
return back[]->withInput[];
0Sau khi người dùng được chuyển hướng, bạn có thể hiển thị thông báo nhấp nháy từ phiên. Ví dụ: sử dụng cú pháp Blade