gpt4 book ai didi

php - jquery ajax 未创建 session

转载 作者:行者123 更新时间:2023-12-01 04:39:46 25 4
gpt4 key购买 nike

我正在使用 Codeigniter 3.1.2 并尝试在我的应用程序中实现 Facebook 登录。当用户登录并授权我的应用程序时,我想在数据库中保存一些用户信息,然后创建 session 。

除了创建 session 之外,一切正常,这就是为什么用户在成功授权我的应用程序后无法登录到我的应用程序。

点击 FB 登录按钮后,将触发以下代码

FB.login(function (response) {
if (response.status === 'connected') {
var site_url = $('#site_url').val();
$.ajax({
url: site_url + 'weapons/register',
type: 'post',
data: {
email: response.email
}
});
window.location.href = '<?php echo site_url_tr('profile'); ?>';
}
}, {scope: 'public_profile,email'});

这是我的注册方法

public function register() {
$email = $this->input->post('email');
$user = array(
'email' => $email
);
$u = $this->pm->total_item('users', 'email', $email);
if ($u < 1) {//if user not exist then create
$this->db->set('reg_date', 'NOW()', FALSE);
$user_id = $this->pm->insert_data('users', $user, TRUE);
}else{
$user = $this->pm->get_row('email', $email,'users');
$user_id = $user['id'];
}
$user_data = array(
'user_id' => $user_id,
'username' => $email,
'email' => $email,
'user_type' => 'user'
);
$this->session->set_userdata($user_data);
}

$this->session->set_userdata($user_data); 所以这是我创建 session 的尝试,但它不起作用。并且没有从上面的 JS 代码重定向到 Profile Controller 。谢谢

I have auto loaded session library and drivers. Any Idea how can I create session (via Codeigniter) when user authorize my app most welcome

最佳答案

  1. 确保您的文件中包含 $this->load->library('session'); 或自动加载它。

  2. Ajax 调用是异步的:您在有机会完成请求之前就进行了重定向。

    $.ajax({ //参数}).done(函数(){ //重定向到这里});

希望有帮助。

关于php - jquery ajax 未创建 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41279011/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com