CI 修改版,基于2.1.3 定名为ICI,欢迎下载
本帖最后由 crazhou 于 2013-3-18 14:27 编辑以下是修改版的一些特性,持续更新中。。。谢谢大家
-- 增加了和Apache 下的 nginx 下的Rewrite 规则
-- 增加 input 类下的 is_post 和 is_get 方法
-- 增加 output 类下的 toJSON 和 ajaxError 方法
-- 建立了 static 及其子目录 js, css, images, captcha
-- system/core/Input.php 下的 Disallowed Key Characters 的问题
-- 增加了ranstr, static 注意ranstr 中包含ranstr 生产随机字符,和 create_valicode 生成验证码两个函数,并依赖 captcha 扩展
zip 包在此----下载吧
{:soso_e113:}沙发,坐等下载地址 不错,支持 startbbs 发表于 2013-3-18 20:12 static/image/common/back.gif
不错,支持
谢谢转载,请保持正确性啊,:curse:
http://www.startbbs.com/forum/view/375 标记一下。 mark一下 大半夜来发帖,就是这个问题。不知道此版本解决没有,完全是把“&”当键名
$post_data = array(
"key" => $this->submit_remote_key,
"ipa_list" => json_encode($id_data)
); // 这里数组如果是只有一个值,则没有问题
$context = array(
'http' => array(
'method' => 'POST', // GET方式,也不会有问题
'header' => 'Content-type:application/x-www-form-urlencoded',
'content' => http_build_query($post_data)
)
);
运行出现了 Disallowed Key Characters.
我在input的_clean_input_keys下对$str输出后得到 "amp;ipa_list",也就是 &ipa_list 无法通过
而在POST方式下,post的数组$post_data是要被转换成如下格式的,
"keys=skljfdl8908sdfs0sfd0&ipa_list=%5B%7B%22item_id%22%3A..
它把“&”链接符号当键名处理,于是视为非法字符了。如果这不算是一个bug的话,那我只能GET或者只提交一个表单元素了
这个问题,我一般是不想去改动或重写方法的。如果处处我都要重写,我为何要用CI呢?
加上Hex老大对此问题有非凡的见解,我只好深更半夜来发发贴了~~
也不知道楼主解决这个没有
Beyoung 发表于 2013-3-22 04:19 static/image/common/back.gif
大半夜来发帖,就是这个问题。不知道此版本解决没有,完全是把“&”当键名
运行出现了 Disallowed Key Cha ...
这是什么问题?不能POST提交内容?
另外,http_build_query($post_data) 这个函数默认是用 & 拼接字符串,如果你想用 & 拼接要这样写(PHP 5.1.2以后):
http_build_query($post_data, '', '&')
Hex 发表于 2013-3-22 10:04 static/image/common/back.gif
这是什么问题?不能POST提交内容?
另外,http_build_query($post_data) 这个函数默认是用 & 拼接字符串, ...
我一直使用的手册中 http_build_query 只有2个参数, 官方最新的此函数都4个参数了!~~!,我太OUT了,换手册
因为我在网上看到人家也没有这样处理过就post了, 第一次知道有这样一个符号区别。
核实后果真如Hex老师所说,
原生PHP是不会提示的,并且会把这个&加到表单名中,CI对此给出了提示而已
是我浅薄了
感谢Hex老师 Beyoung 发表于 2013-3-23 01:30 static/image/common/back.gif
我一直使用的手册中 http_build_query 只有2个参数, 官方最新的此函数都4个参数了!~~!,我太OUT了,换手 ...
呵呵,太客气了。
这个问题,我猜想可能有一定的历史和环境因素,在当初php5发布的时候,XHTML正如日中天,那时候PHP估计是为了兼容XHTML而使用&的,但为了灵活也保留了可定制性。
一般来说在XHTML里要使用&,而真正的URL规范里是必须用&组合的。
页:
[1]