【问题标题】:Codeigniter Ion Auth email activation is active alreadyCodeigniter Ion Auth 电子邮件激活已激活
【发布时间】:2017-03-22 01:02:23
【问题描述】:

Ion Auth 还有一些问题。 我设置了$config['email_activation'] = TRUE,并发送了一封电子邮件。但是,MySQL 表中的“activation_code”现在是NULL"active" = 1。这是用户激活之前。 我进行了一些更改以允许更多字段等,并且一切正常。电子邮件中的实际激活码似乎很好(http://domain.com/userID/code),但是虽然它曾经在数据库中设置,但现在不是,否则它会自动激活(没有新用户提交电子邮件链接)。

【问题讨论】:

    标签: php codeigniter ion-auth


    【解决方案1】:

    首先确保将email_activation 更改为true

    $config['email_activation'] = TRUE;
    

    $config['manual_activation'] = FALSE;
    

    在您的 Ion Auth 配置中。

    另外,请确保 $this->ion_auth->errors() 在您调用 register() 后没有返回错误。

    【讨论】:

    • 所有的检查。不知何故,它在不运行激活功能(控制器)的情况下激活。我必须追查它发生的地方。
    • 看起来 ion_auth_model activate() 函数在用户注册后立即被调用,但在他们点击链接之前。
    • @Ben 如何修改控制器中“email_activation”的值?我试过“$this->ion_auth->email_activation = true”但没有用。
    【解决方案2】:

    我遇到了同样的问题,我收到了一封带有身份验证链接的电子邮件,我从未点击过身份验证链接,但用户已经在数据库中激活。

    所以我在没有 site_url() 函数的情况下修改了下面的 activate.tpl.php 并且它起作用了..

    我通过 site_url 从控制器 $data 中查看文件..


    <h1>Activate account for <?php echo $identity;?></h1>
    
    <p><a href=<?=$site_url?>auth/activate/<?=$id;?>/<?=$activation;?>>Activate Your Account</a></p>
    

    【讨论】:

      猜你喜欢
      • 2014-01-23
      • 2014-03-03
      • 2014-06-24
      • 2014-02-10
      • 2013-01-13
      • 2018-03-26
      • 1970-01-01
      • 2018-08-19
      • 2021-08-06
      相关资源
      最近更新 更多