【问题标题】:Activating account via email with Laravel 3使用 Laravel 3 通过电子邮件激活帐户
【发布时间】:2013-07-24 15:33:27
【问题描述】:

我正在尝试使用新用户电子邮件和哈希通过电子邮件验证用户帐户。我的路由有问题,因为我在单击链接时收到 404 错误。

我发送给用户的 URL 如下所示:

http://mywebsite.com/users/verify/<email>/<hash>

我的整个用户控制器都已注册...

Route::controller('users');

我的用户控制器中的函数如下...只是试图让我的函数触发,但我收到 404 错误。

// VERIFY NEW USER
public function post_verify($email, $hash) {
   echo "$email Acct verified with $hash!";
}

这看起来很简单。我的控制器很安静。为什么路由不正确?

谢谢!

【问题讨论】:

  • 我也试过...Route::post('users/verify/(:any)/(:any)', array('as'=&gt;'verify_acct', 'uses'=&gt;'users@verify'));作为路由,但还是不行。
  • 已解决 URL 中的电子邮件地址(或更具体地说是“@”符号)正在终止路由,导致 404 错误。如果有人知道为什么随时发表评论。只需将电子邮件更改为用户名即可成功。

标签: email laravel account laravel-3 activation


【解决方案1】:

您只需要在控制器中将 post 方法替换为 get 方法即可: get_verify($email, $hash) 而不是 post_verify($email, $hash)

// VERIFY NEW USER
public function get_verify($email, $hash) {
   echo "$email Acct verified with $hash!";
}

【讨论】:

    【解决方案2】:

    您正在发送一个 URL 给用户,所以当他们打开它时,他们实际上发送了一个 GET请求!

    在您的 Controller 中,您正在等待 POST 请求 :) 所以它永远不会发生!因为没有用户填写和发布的表格
    正如 Aleksey 所说,将其更改如下:

    // VERIFY NEW USER
    public function get_verify($email, $hash) {
       echo "{$email} Acct verified with {$hash}!";
    }
    

    【讨论】:

      猜你喜欢
      • 2014-08-17
      • 1970-01-01
      • 2017-06-22
      • 2021-05-13
      • 2020-02-15
      • 2018-08-19
      • 2014-02-01
      • 1970-01-01
      • 2016-09-30
      相关资源
      最近更新 更多