到目前为止,我已经制作了一个带登录/注册的应用程序,它运行正常。 注册后会发送欢迎电子邮件。
但我想做的是在该邮件中发送一个链接,只有点击它之后才能登录。
就像论坛等的常见注册电子邮件一样。
有人可以帮我吗?
这是postRegister方法:
public function postRegister()
{
$input = Input::all();
$rules = array(
'username' => 'required',
'password' => 'required');
$validation = Validator::make($input, $rules);
if ($validation->passes()) {
$password = $input['password'];
$password = Hash::make($password);
$user = new User;
$user->username = $input['username'];
$user->email = $input['email'];
$user->password = $password;
$mailer = new Mailers\UserMailer($user);
// var_dump($mailer);
$mailer->welcomeMail()->deliver();
$user->save();
return Redirect::to('afterRegister');
}
return Redirect::back()->withInput()->withErrors($validation)->with('message', 'Validation Errors!');
}
谢谢
答案 0 :(得分:26)
以下是一些线索(不会为你编写代码)。
confirmation
,confirmed
。registration/verify/{confirmation}
的路线,您可以在其中使用给定的确认码(如果找到,将用户的confirmed
字段设置为1)在您的数据库中查找用户。str_random()
辅助功能)。confirmation
=随机代码,confirmed
= 0)现在可以像这样进行验证尝试:
$user = array(
'username' => Input::get('username'),
'password' => Input::get('password'),
'confirmed' => 1
);
if (Auth::attempt($user)) {
// success!
return Redirect::route('restricted/area');
}