我想知道,如果有一种方法倾倒的所有价值观

$this->session->userdata() 

这样我就可以解决?

我正在Facebook,并有一个登录网页,并且一旦成功我想绕过UID当前用户的,并且我认为这会很好的工作。

我目前有uid定如下:

require_once 'facebook.php';
$appapikey = 'XXXX';
$appsecret = 'XXXX';
$facebook = new Facebook($appapikey, $appsecret);
$user_id = $facebook->require_login();
$this->db->like('uid', $user_id);
$this->db->from('users');
$has_signed_up = $this->db->count_all_results();

if ($has_signed_up == 0) {
redirect('/setup/signup/', 'location');
}
else {
$this->session->set_userdata('uid', $user_id);
redirect('/preferences/index/', 'location');
}

所以重新定向的发生,我有一个非常简单的设置在偏好/index:

    echo "this is the preferences form <br />";
    echo $this->session->userdata('uid');
    echo $this->session->userdata('session_id');

结果是高深莫测的:

this is the preferences form
858f500e167e359edc1942a96f3bac35

所以它完全跳过中间echo含uid。我不是设置这个正确吗?有没有一种方法倾倒的所有价值观的会议阵列,看看有什么得到通过?任何帮助将不只是伟大的。

更新

我已经运行var_dump($this->届会议-->用户数据)在每个原网站,并通过Facebook.

在网站上,它暴露了所有的设定值是在一个阵列含有5个值(session_id、知识产权、用户代理,last_activity,并uid)。

在Facebook铬然而,它只显示了4个值设定的笨.我听说过的饼干只能4k和加密可能是一个问题。可以FB被填满了饼干与自己密(阅读:大)的数据?

更新2

当我注释出的重新定向,并且只要有:

  else {
  $this->session->set_userdata('uid', $user_id);
  echo ':test_'.$this->session->userdata('uid').'_test:';
  //redirect('/preferences/index/', 'location');
  }

它尽职尽责地返回:test_1234_test:在Facebook.所以在某个地方重新定向它失去这一部分列(但不是全体阵列)。

是可能只是创建一个新的会议上向页面?所以这就是为什么它只有四个"股票"变量?如果是这种情况下,我将需要研究如何创建的会议,并且如果Facebook清除饼干我假设。

3的更新

所以我转向使用一个数据库来存储届会议的信息,而不是饼干,想FB是剥夺他们或与他们发生碰撞。我目前拥有的应用程序的设置

  1. 设置$user_id=1234
  2. $this->届会议-->set_userdata('uid',$user_id)
  3. 重定向到新网页
  4. Var_dump所有可能的信息

什么发生在该数据库是这样的:DB记录http://nikolausjj.facebook.joyent.us/Picture2.png

因此,它创建了一个良好的记录,与用户的数据,然后立即重新定向创建一个新的会议没有认识到现有一个。有人可以解释其中的CI框架的检查,看看它是否有一个现有会议现有的?用户手册解释了它为"魔法"。

有帮助吗?

解决方案

你可以使用 var_dump() 输出本届会议。像这样的东西

var_dump($this->session);

set_userdata 电话看起来确定。你确定 $user_id 被设定。因为echo是切切实实的执行,但 uid 不是设定或设置空串。

尝试更换的回声

echo ':test_'.$this->session->userdata('uid').'_test:';

其他信息有助于回答

  • 什么浏览器是使用你?
  • 你有下划线 _ 在你的域名字?
  • 您使用的是CI届会议或某些包装用于本机PHPsessions
  • 是的价值 uid 还丢失/设置不当评论的重定向?

其他建议:

  • 尝试 redirect('/preferences/index/', 'refresh'); 而不是的 location
  • 我不熟悉的facebook发展但是 /preferences/index 你的控制之下?如果是尝试移除(如果存在的话) $this->load->library(‘session’) 和而不是加载 autoload.php.
  • 试着改变 $config[‘sess_match_ip’] 为`FALSE
  • 试图设置 $config[‘sess_encrypt_cookie’]
  • 尝试更换使用CI-会议与 CI机会
  • 是UID明智的信息,如果不存在一个饼干。如果它的事项,如果它可以被欺骗不。

其他提示

我没有解决如何通过Facebook将会话变量从一个页面传递到另一个页面的问题。我的解决方案只是在每个页面上再次为用户的UID调用Facebook API。不是很好的编程,但它对我来说没问题。 : - /

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top