【问题标题】:CodeIgniter - URL solutionCodeIgniter - URL 解决方案
【发布时间】: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');

标签: php url codeigniter


【解决方案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;
猜你喜欢
  • 2012-10-31
  • 1970-01-01
  • 1970-01-01
  • 2013-06-16
  • 2020-02-23
  • 1970-01-01
  • 2015-09-06
  • 2011-08-11
  • 1970-01-01
相关资源
最近更新 更多