如何在laravel中单击链接时将URL值添加到表单字段中

时间:2017-05-20 22:57:07

标签: php laravel session cookies

我想在laravel 5.4 Registration form中创建这样的参考链接  电子邮件example.com 对于每个注册用户,当链接被点击时,它应该重定向到注册表单,其中ref值自动进入图像中给出的REF表单字段。以下是相关图片RegistrationController

3 个答案:

答案 0 :(得分:1)

编辑:根据评论更新了链接生成

使用登录用户的电子邮件生成推荐链接。假设您已将登录用户设为$user,如果没有将其替换为auth()->user()->email。请注意,这将需要登录用户的电子邮件。所以不用说,你需要先登录才能生成ref链接。

如果您将当前登录的用户从控制器传递到您的视图,请执行此操作,其中$user = auth()->user();

<a href="{{ route('register', ['ref' => $user->email]) }}" target="_blank">Referral register link</a>

如果您想直接访问登录用户的电子邮件

<a href="{{ route('register', ['ref' => auth()->user()->email]) }}" target="_blank">Referral register link</a>

这就是视图中的样子。

<a href="http://example.com/register?ref=example@example.com" target="_blank">Referral register link</a>

根据您创建表单的方式,在注册表单中添加以下代码。

<input type="text" name="referrer" value="{{ request('ref') }}">

Or

{!! Form::text('referrer', request('ref')) !!}

答案 1 :(得分:0)

这样的想法:在电子邮件中添加如下链接:

<a href="{{ route('register', ['ref' => auth()->user()->email]) }}">Register</a>

在表单中,您可以添加隐藏或禁用的文本框,如下所示:

<input type="textbox" name="ref" value="{{ request()->get('ref') }}"/>

答案 2 :(得分:0)

您还可以将它添加到控制器中的会话对象,如下所示:

function create(Request $request) {
    return view('register')->with(['ref' => $request->query('ref')]);
}

如果您正在使用Former或使用表单模型绑定(请参阅here

,请使用{!! Former::populate(['ref' => $ref]) !!}填充表单

register.blade.php 中的表单标记与前者:

{!!Former::horizontal_open()
        ->method('POST') !!}
    {!! Former::populate(['ref' => $ref]) !!}
    {!! Former::text('ref') !!}
    ...
    {!! Former::actions()
        ->large_primary_submit('Create') # Combine Bootstrap directives like "lg and btn-primary"
        ->large_inverse_reset('Reset') !!}
{!!Former::close() !!}