php - 有没有更好的方法来检查用户是否点击了收件箱中的链接(Laravel url $param to controller)
问题描述
我想知道我的潜在客户是否点击了发送到他电子邮件的链接。
所以我做了这个:
我的路线:
Route::get('/audit/{email}/{from?}', 'ProspectPageController@show');
这条路线使这个链接:mysite.com/audit/jhon@mail.com/inbox
我会将这个链接发送到 Prospect 的电子邮件,如果他点击它,我的专栏就会更新。
我的控制器:
public function show($email, $stats = null)
{
if($stats == 'inbox'){
$prospected= Prospect::where('email', $email)->first();
$prospected->stats = '1';
$prospected->save();
}
$prospect= Prospect::where('email', $email)->first();
return view('prospect.show')->with('prospect', $prospect);
}
我认为这不是一个好方法,有没有更好的方法来做到这一点?
我可以改进这个功能吗?
解决方案
首先为每封邮件生成唯一的令牌并保存在表中,然后发送带有令牌的链接:
例子
token is : 123-456-789
链接是
mysite.com/audit?token=123-456-789
在控制器中,您可以使用令牌进行检查,如果在表中存储令牌和用户 ID,您也可以使用用户进行验证。我的英语不是很好。我希望你undersatnd回答。
推荐阅读
- kubernetes - Filebeat:再次删除字段 kubernetes
- python - 使用 unittest 框架回滚 SQLAlchemy
- mysql - 如何创建一个忽略对第三个表具有特定引用的行的选择查询?
- r - 如何更改 $ 运算符在环境中的行为?
- azure - Azure ARM 策略模板拒绝特定资源
- node.js - 有没有办法安排邮件?
- c# - “safebrowsing”标志不再适用于 selenium 中最新的 chromedriver 版本 93.0.4577.1500
- dependency-injection - 使用 IsRegistered() 检查服务注册,或使用 ResolveOptional() 方法
- swagger - Swagger 问题:如何使用 Swashbucklet.AspnetCore 为 xml 文档设置 IList 类型的请求示例?
- python - 如何从数据框中返回最常用的名称?