我已经实现了记住我的功能作为这个问题
How to create "remember me checkbox" using Codeigniter session library?
第一个答案。 我创建了一个以随机数字代码作为值的 cookie,并将其存储在 db(用户表)中。登录时,数据库代码检查 cookie 值。它在我的本地主机服务器上运行良好。但是在具有子域 url 的实时服务器中存在问题。我还使用另一台以 ip 地址作为 url 的服务器对其进行了测试。那里也不起作用。在这两种情况下都创建了 cookie,但无法读取 cookie。请帮助我。
cookie 设置
$auto_login_hash_code = uniqid();
$domain = $_SERVER['SERVER_NAME'];
$cookie = array(
'name' => 'rememberMe',
'value' => $auto_login_hash_code,
'expire' => 31536000,
'domain' => $domain,
'path' => '/'
);
$this->input->set_cookie($cookie);
并通过
读取cookie if (get_cookie('rememberMe')) {
$hashcode = $this->CI->input->cookie('rememberMe');
$this->CI->load->model('loginmodel', '', true);
$username = $this->CI->loginmodel->get_username_by_hashcode($hashcode);//in this function setting session variables
}
提前致谢
最佳答案
您正在 github 上获取该库。 在 github 上搜索记住我,加载它并按照以下步骤操作。 验证 cookie 是否存在于数据库中转到主页
$this->load->library('rememberme');
$cookie_user = $this->rememberme->verifyCookie();
if ($cookie_user)
{
$this->load->view('search_view');
}
else
{
// If checkbox is checked it return true either false
$checked = (isset($_POST['Checkbox1']))?true:false;
if($checked== true)
{
//$this->load->view('tested');
$this->load->library('rememberme');
$this->rememberme->setCookie($this->input->post('loginemil'));
//$this->rememberme->setCookie('set cookie here');
}
else{
dont set anything
}
}
关于codeigniter - Codeigniter 中的“记住我”功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9714050/