liner 发表于 2014-9-29 11:27:35

为什么已经输出了echostr,但是提交不成功

weixin/action?signature=0e6228c9ef0ef38b3cb3841216939a2305d5bee7&echostr=6454814241273602047&timestamp=1411961227&nonce=2132160967
已经通过下面程序的验证,在浏览器上 输出以上地址也正确输出echostr,但是为什么提交不成功,说没有响应token
    // 用于接入验证
    private function _valid()
    {
      $token = TOKEN;
      $signature = $this->input->get('signature');
      $timestamp = $this->input->get('timestamp');
      $nonce = $this->input->get('nonce');
      $tmp_arr = array($token, $timestamp, $nonce);
      sort($tmp_arr,SORT_STRING);
      $tmp_str = implode($tmp_arr);
      $tmp_str = sha1($tmp_str);      

      if($tmp_str == $signature){

             return true;
          }else{
                   return false;
          }
    }

liner 发表于 2014-9-29 11:56:58

phoenixhuang_ 发表于 2014-9-29 11:47
lz你要把echostr返回给微信端,不是返回true或者false

是啊 我已经 在通过验证代码里面 再$echostr = trim($this->input->get('echostr'));

            echo $echostr; 输出了


phoenixhuang_ 发表于 2014-9-29 14:16:23

liner 发表于 2014-9-29 11:56
是啊 我已经 在通过验证代码里面 再$echostr = trim($this->input->get('echostr'));

            ech ...

echo $echoStr;   
exit;

你这段代码写在哪?

Closer 发表于 2014-9-30 09:01:27

彩色奶酪 发表于 2014-9-30 08:54
其实我是直接ecsho没有用视图一样可以的。。。
不是可不可以的問題
而是 CI 的規則

就像
我在控制器內
放 JS 語法可以用
但 CI 當初開發的初衷並不樂見於此

phoenixhuang_ 发表于 2014-9-29 11:47:21

lz你要把echostr返回给微信端,不是返回true或者false

彩色奶酪 发表于 2014-9-29 13:35:23

你填的URL正确吗?一般情况不需要设置路由的哦

liner 发表于 2014-9-29 14:29:17

phoenixhuang_ 发表于 2014-9-29 14:16
echo $echoStr;   
exit;



访问的 动作里面 好奇怪 我把一样的程序 再加一个 ci里面 就可以成功

liner 发表于 2014-9-29 14:30:15

彩色奶酪 发表于 2014-9-29 13:35
你填的URL正确吗?一般情况不需要设置路由的哦

正确吧,我在外面浏览器 可以输出echostr

Hex 发表于 2014-9-29 17:04:28

不要直接 echo 字符串,也不要用 exit,请使用视图输出内容。

liner 发表于 2014-9-29 17:55:17

Hex 发表于 2014-9-29 17:04
不要直接 echo 字符串,也不要用 exit,请使用视图输出内容。

嗯嗯

彩色奶酪 发表于 2014-9-30 08:54:26

其实我是直接ecsho没有用视图一样可以的。。。
页: [1] 2
查看完整版本: 为什么已经输出了echostr,但是提交不成功