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

使用 codeigniter 在 URL 中传递多个变量

Codeigniter - XAMP - htaccess 问题

Codeigniter重写URL用斜杠替换问号

如何用破折号替换codeigniter url中的下划线?