【问题标题】:Codeigniter URI Language Identifier + Tank Auth activation not working just on default languageCodeigniter URI 语言标识符 + Tank Auth 激活不适用于默认语言
【发布时间】:2015-11-11 05:01:27
【问题描述】:

我有一个安装了最新 URI 语言标识符和 Tank auth 的 codeigniter 2.2.6 问题是在我的情况下切换到非默认语言时: “http://www.mywebsite.hu/en”并继续注册,电子邮件已成功发送,但是当我单击“http://www.mywebsite.hu/auth/activate/1/8ef760c2345d21654ae92f5a70017f5e”之类的激活链接时,我会收到“您输入的激活码不正确或已过期”。错误信息。

然后,如果我在浏览器中清除了 mywebsite.hu 的相应 cookie,则激活成功完成。不知道为什么……

在 codeigniter config.php 中

$config['language'] = "hungarian";

/* default language abbreviation */
$config['language_abbr'] = "hu";

/* set available language abbreviations */
$config['lang_uri_abbr'] = array("en" => "english");

/* hide the language segment (use cookie) */
$config['lang_ignore'] = TRUE;

【问题讨论】:

  • 我认为您应该在第 17 行附近的电子邮件APPPATH . 'views/email/activate-html.php' 模板中的身份验证之前设置 lang abbr。您应该通过当前客户端使用的会话/cookie 来设置它。

标签: codeigniter uri identifier


【解决方案1】:

好的,现在我修改了控制器 auth.php 激活函数

从此:

$user_id        = $this->uri->segment(3);
$new_email_key  = $this->uri->segment(4);

到这里:

$user_id        = $this->uri->segment(1);
$new_email_key  = $this->uri->segment(2);

现在可以正常工作了!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-26
    • 1970-01-01
    相关资源
    最近更新 更多