CodeIgniter - URL 解决方案
Posted
技术标签:
【中文标题】CodeIgniter - URL 解决方案【英文标题】:CodeIgniter - URL solution 【发布时间】:2011-06-30 21:13:44 【问题描述】:我正在用 CI 编写项目,并且我有通过 URL 将值传递给 CI 的 winamp 插件(例如 http://localhost/class/method/value1/value2/value3/...) 我必须传递 7 个值,但最后 3 个值有时会为空(例如 http://localhost/class/method/value1/value2/value3/value4///value7 ),但 CI 中的 value7 分配为 value5,这不是我想要的。
我的问题: 有没有在 winamp 插件中添加额外符号的解决方案,如 x:value7 然后删除 x: 并仅获取值本身。
【问题讨论】:
您仍然可以使用常规查询字符串。如果你从 Winamp 插件调用它,最好使用键和值,而不是确保你的参数总是按顺序排列。 有没有办法为一个或多个控制器启用查询字符串? 是的...只需重建$_GET
数组,执行以下操作:parse_str($_SERVER['QUERY_STRING'], $_GET);
。如果您打算将任何信息返回给用户,请务必通过 XSS 过滤器运行它。
找到更好的解决方案:http://localhost/controller/method/?field=value&field=value
然后在控制器中$field = $this->input->get('field');
【参考方案1】:
如果其中一个值为空,则根据该值表示,将其标记为空、null 或 0:
localhost/class/method/value1/value2/empty/value4/empty/value6/value7
确保该方法对“空”做出正确反应
【讨论】:
对于那些想知道我如何修复它的人:if (data.IsEmpty()) data = "%5F";
%5F 实际上是 _ 并且在 CodeIgniter 中 if($this->data == '_') $this->data = NULL;
以上是关于CodeIgniter - URL 解决方案的主要内容,如果未能解决你的问题,请参考以下文章
我该如何解决这个“找不到对象!” CodeIgniter-4 中的错误?
如何在 Codeigniter 中使用 JQuery 修复未定义的 url