2014-02-21 105 views
0

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

回答

1

首先确保改变email_activationtrue

$config['email_activation'] = TRUE; 

$config['manual_activation'] = FALSE; 

在你离子验证配置。

另外,请确保$this->ion_auth->errors()在您致电register()后未返回错误。

+0

所有这些检查出来。不知何故,它会在没有运行激活功能(控制器)的情况下激活。我将不得不追查它发生的地点。 – user3222166

+0

它看起来像一个用户注册时,但他们点击链接之前,正在调用ion_auth_model activate()函数。 – user3222166

+0

@Ben如何修改控制器中“email_activation”的值?我试过“$ this-> ion_auth-> email_activation = true”,但无法正常工作。 –

0

我遇到了同样的问题,就像我从auth链接中收到一封电子邮件,并且我从未单击过auth链接,但用户已在数据库中激活。

所以我修改activate.tpl.php象下面没有SITE_URL()函数和它的工作..

我通过SITE_URL以查看来自控制器$数据文件..


<h1>Activate account for <?php echo $identity;?></h1> 

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