php - 在 Laravel 中成功注册后如何重定向到上一页?

标签 php laravel redirect laravel-5

现在redirectTo设置为 /home .
我想知道如何重定向到上一页。
我尝试使用

protected $redirectTo = URL::previous(); 
但我得到解析错误,期待 ','' or ';''
解决这个问题的最佳解决方案是什么?我想我需要超越 $redirectTo以某种方式变量 URL::previous()这样就足够了。
这是我的注册 Controller :
namespace App\Http\Controllers\Auth;

use App\User;
use URL;
use App\Http\Controllers\Controller;
use Illuminate\Support\Facades\Validator;
use Illuminate\Foundation\Auth\RegistersUsers;

class RegisterController extends Controller
{

use RegistersUsers;

/**
 * Where to redirect users after registration.
 *
 * @var string
 */
protected $redirectTo = '/home';

/**
 * Create a new controller instance.
 *
 * @return void
 */
public function __construct()
{
    $this->middleware('guest');
}

/**
 * Get a validator for an incoming registration request.
 *
 * @param  array  $data
 * @return \Illuminate\Contracts\Validation\Validator
 */
protected function validator(array $data)
{
    return Validator::make($data, [
        // 'name' => 'required|max:255',
        'username' => 'required|max:255|unique:users',
        'email' => 'required|email|max:255|unique:users',
        'password' => 'required|min:6|confirmed',
    ]);
}

/**
 * Create a new user instance after a valid registration.
 *
 * @param  array  $data
 * @return User
 */
protected function create(array $data)
{
    return User::create([
        // 'name' => $data['name'],
        'username' => $data['username'],
        'email' => $data['email'],
        'password' => bcrypt($data['password']),
    ]);
}
}

最佳答案

RegisterController使用 RegistersUsers特征。当您提交表单时,register()调用此特征的方法。它验证输入,创建并验证用户,然后重定向到 redirectPath() 指定的路径。方法。这个方法其实是在RedirectsUsers中设置的trait,由 RegistersUsers 使用特征。redirectPath()方法将查找 redirectTo() Controller 上的方法。如果它确实找到了这个方法,它将使用从它返回的任何内容。如果没有找到这个方法,它会重定向到redirectTo中指定的url。属性(property)代替。
因此,如果您需要动态设置重定向路径,请将其放在您的 RegisterController 中:

protected function redirectTo()
{
    return url()->previous();
}
阅读更多 here .

关于php - 在 Laravel 中成功注册后如何重定向到上一页?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42326430/

相关文章:

php - 如何使用 whereBetween() 从选定的 DB::raw() 值进行查询

javascript - 如果不在 fb iframe 中,js 重定向

python - 在 Python subprocess.Popen() 中处理 Shell 重定向

php - 数据库 mysql_num_rows() 期望参数 1 是资源, bool 值在

php - 如何确保 Symfony EmbeddedForm 的对象绑定(bind)到表单的对象?

php - 上传数据后Mysql出现空白字段

Laravel Eloquent 多个 has 和 where 子句

php - 如何在 Laravel 查询中执行 IS NOT NULL

spring - 在 Spring 3 Controller 中返回字符串时为重定向设置 HTTP 状态代码

php - 未捕获的 ArgumentCountError:函数 wpdb::prepare() 的参数太少