Php Codeigniter Ion验证电子邮件激活已激活

Php Codeigniter Ion验证电子邮件激活已激活,php,codeigniter,ion-auth,Php,Codeigniter,Ion Auth,在Ion Auth方面还有一些问题。 我已将$config['email\u activation']=TRUE,并发送了一封电子邮件。但是,MySQL表中的“activation\u code”现在是NULL,并且“active”=1。这是用户激活前的。 我做了一些改变,允许更多的领域等,一切都很好。电子邮件中的实际激活代码似乎没有问题(http://domain.com/userID/code),但虽然它以前在数据库中设置,但现在不设置,否则它会自动激活(新用户不提交电子邮件链接)。首先确保

在Ion Auth方面还有一些问题。 我已将
$config['email\u activation']=TRUE
,并发送了一封电子邮件。但是,MySQL表中的“
activation\u code
”现在是
NULL
,并且
“active”=1
。这是用户激活前的
我做了一些改变,允许更多的领域等,一切都很好。电子邮件中的实际激活代码似乎没有问题(
http://domain.com/userID/code
),但虽然它以前在数据库中设置,但现在不设置,否则它会自动激活(新用户不提交电子邮件链接)。

首先确保将
电子邮件激活更改为

$config['email_activation'] = TRUE;

在你的Ion身份验证配置中


另外,请确保在调用
register()
后,
$this->ion\u auth->errors()
没有返回错误。我遇到了同样的问题,比如我收到了一封带有auth link的电子邮件,我从未单击过auth link,但数据库中的用户已经激活了

因此,我在没有site_url()函数的情况下修改了activate.tpl.php,如下所示,它成功了

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


激活的帐户


所有这些都已签出。不知何故,它在不运行激活功能(控制器)的情况下激活。我必须追踪其发生的位置。看起来用户注册后,会立即调用ion_auth_model activate()函数,但在他们单击链接之前。@Ben我如何修改控制器中“email_activation”的值?我试过“$this->ion\u auth->email\u activation=true”,但不起作用。
$config['manual_activation'] = FALSE;
<h1>Activate account for <?php echo $identity;?></h1>

<p><a href=<?=$site_url?>auth/activate/<?=$id;?>/<?=$activation;?>>Activate Your Account</a></p>