用户
 找回密码
 入住 CI 中国社区
搜索
楼主: jejwe
收起左侧

使用CI开发manyou等社交网站平台应用的问题

[复制链接]
发表于 2009-4-17 17:20:24 | 显示全部楼层
我大概看了一下代码,好像就是 get/post 参数接不到的原因吧?
 楼主| 发表于 2009-4-17 17:28:22 | 显示全部楼层
CI 默认是取不到 $_GET 参数的,请根据 http://codeigniter.org.cn/forums/thread-692-1-1.html 来取 GET 参数
Hex 发表于 2009-4-17 17:16


上面不说了吗
"parse_str($_SERVER['QUERY_STRING'], $_GET);
但不起作用"

我在controller里用已经没问题了,但manyou.php使用这种方式不行

<?php
class Blog extends Controller
{
var $api_key = '2275222';
var $api_secret = '99b83c29';
    function index()
    {
  require_once 'Manyou.php';
  global $api_key,$api_secret;
  $my = new Manyou($api_key, $api_secret);
  $my->require_add();
  $uid = intval($my->api_client->user_getLoggedInUser());
  parse_str($_SERVER['QUERY_STRING'], $_GET);
   $data = array('uid' => $uid,
                      'heading' => '测试',
                      'message' => 'http://codeigniter.org.cn');
    $this->load->view('blog/index', $data);
    $this->load->view('folder/blog', $data)这样是在 folder 文件夹里面的 blog.php 文件。
    }
}
?>
发表于 2009-4-17 19:02:12 | 显示全部楼层
require_once 'Manyou.php';
这样写虽然简单,但我认为不是很好,应该学习“在 CI 中使用 Zend Framework”框架的方法来把其他的类库引入 CI 中。

是 $my->api_client->user_getLoggedInUser() 这里执行不正确吗?
 楼主| 发表于 2009-4-17 19:47:13 | 显示全部楼层
临时测试CI在manyou平台,所以现在没在意,后面做应用的时候会注意的。
是卡在$my->require_add();这里面有调用manyou rest,就在那里出了问题,可以看下前面的manyou api的那个php文件。不知道要应用到CI上应该如何根据CI的方式修改manyou api文件。初学CI也不太深入

谢谢管理员耐心回答,从现在看,几乎没有CI开发社交应用的例子,我想如果有人用应该也会遇到这个问题。如果这个问题解决了,我的就算第一个了
发表于 2009-4-17 23:13:42 | 显示全部楼层
parse_str($_SERVER['QUERY_STRING'], $_GET);
要写到 new Manyou 之前!我看了里面的代码,他会主动从 $_GET 中取参数,因为 CI 里没有 $_GET, 要用 parst_str 来手动赋值!
我看了一下还有 $_COOKIE 这个最好用 CI 的 Helper 来代替,其它东西还在研究中。
 楼主| 发表于 2009-4-18 08:37:47 | 显示全部楼层
parse_str($_SERVER['QUERY_STRING'], $_GET);
这个之前在manyou api里已经加过了,但不起作用
发表于 2009-4-18 10:04:41 | 显示全部楼层
parse_str($_SERVER['QUERY_STRING'], $_GET);
这个之前在manyou api里已经加过了,但不起作用
jejwe 发表于 2009-4-18 08:37

那你就要用相关的调试工具进入 api 中查看到底其所需要的信息是否正确赋值,其实用 print_r 就可以调试了,呵呵
 楼主| 发表于 2009-4-18 10:29:51 | 显示全部楼层
确实没有取到值。看来如果要使用CI,还要根据CI的方式来弄个MANYOU api才行
发表于 2009-4-18 17:29:21 | 显示全部楼层
我看了两遍才大概明白原意

现在的情况是MANYOU api现在肩负了controller的部分功能--数据接收,而MANYOU api仅仅是类似于library的角色,自然没办法直接从用户那里获取数据,从概念上这么做就不对。

怎么解决呢,抓取数据由controller负责,将数据传给MANYOU api处理,返回;而不是MANYOU api自己抓数据自己处理。你没有给出个具体的code example,我也只能点到为止
 楼主| 发表于 2009-4-20 09:52:49 | 显示全部楼层
我看了两遍才大概明白原意

现在的情况是MANYOU api现在肩负了controller的部分功能--数据接收,而MANYOU api仅仅是类似于library的角色,自然没办法直接从用户那里获取数据,从概念上这么做就不对。

怎么解决 ...
doutu 发表于 2009-4-18 17:29


你好,实际上我就是做了一个简单的测试而已,全部代码也就是下面这个

<?php
class Test extends Controller
{
var $api_key = '2275222f6e8e84fe77de1a82c95aa922';
var $api_secret = '99b83c29d33a7e904b8806c989c97f1a';
    function index()
    {
  require_once 'Manyou.php';
  global $api_key,$api_secret;
  $my = new Manyou($api_key, $api_secret);
  $my->require_add();
  $uid = intval($my->api_client->user_getLoggedInUser());
  parse_str($_SERVER['QUERY_STRING'], $_GET);
   $data = array('uid' => $uid,
                      'heading' => '测试',
                      'message' => 'http://codeigniter.org.cn');
    $this->load->view('test/index', $data);
    }
}
?>

manyou.php见附件

Manyou.rar

3.88 KB, 下载次数: 2

本版积分规则