【发布时间】:2015-12-26 16:23:10
【问题描述】:
我想创建一个帐户激活,在注册后,一个链接将发送到管理员(或一个)电子邮件,管理员只需单击该链接即可激活该帐户。
我的注册和登录工作正常。我正在使用 MySQL Workbench,并且在我的帐户表中有一个“标志”或更确切地说只是一个字段(名为 user_login)来判断帐户是启用还是禁用,注册后默认禁用。
我卡住并通过电子邮件发送链接,我不知道从哪里开始。我要发送的链接将包含一个随机字符串,并将发送给管理员,例如abc/123/random?stringis=1234。然后管理员只需打开他的电子邮件并单击字符串,然后该特定用户的帐户就会被激活。我找到了this 和this,但这只是关于如何通过电子邮件发送链接。
我不知道逻辑。我是否创建了一个函数,链接将直接转到该函数,然后从那里,它将我的表中的值更改为enabled 或我称之为的任何名称,以便用户的帐户被视为已激活?那么我需要创建一个新字段来匹配随机生成的字符串吗?
主要想法是我尝试像那些典型的网站那样做管理员。
编辑:
在控制器中
public function activate_user($activation_code)
{
$result = $this->home_model->activate($activation_code);
if($result != FALSE)
{
echo "You have activated :".$result[0]->user_id.".";
}
else
{
echo "Activation failed, something went wrong.";
}
}
在模型中:
public function activate($activation_link)
{
$this->db->select('*');
$this->db->from('user_login');
$this->db->where('activation_link', $activation_link);
$query = $this->db->get();
if($query->num_rows() == 1)
{
return $query->result();
}
else
{
return FALSE;
}
}
【问题讨论】:
标签: php codeigniter email mysql-workbench activation