【问题标题】:Converting Coldfusion to PHP: cgi.query_string将 Coldfusion 转换为 PHP:cgi.query_string
【发布时间】:2013-10-16 18:02:36
【问题描述】:

我是编程新手,有幸将一些 CFML 转换为 PHP 作为我的第一个任务之一。

 <cfif find("tips",cgi.query_string) or find("tip",cgi.query_string)>  
 <li class="current middle"><a class="topnavtext" href="#siteurl#tips">GF Tips</a></li>
 <cfelse><li class="middle"><a class="topnavtext" href="#siteurl#tips">GF Tips</a></li>
 </cfif>

它是否在cgi.query_string 中寻找“提示”?

如何将其转换为 PHP?

【问题讨论】:

  • 是的,它正在寻找变量 cgi.querystring 中的字符串提示。对于 php 人来说,cgi.querystring 是 url 变量的集合。它会在“a.com?x=1&y=2&frick=frack”中的问号之后的所有内容。

标签: php coldfusion cgi


【解决方案1】:

$_SERVER['QUERY_STRING'] 是获取查询字符串所需要的。

有更多信息可用here。

【讨论】:

  • 所有这些都将被解析为$_GET superglobal array中的条目。
  • 那么,以下是否适用于 if 语句? if (strstr($_SERVER['QUERY_STRING'], "tips")) || if (strstr($_SERVER['QUERY_STRING'], "tip"))
  • 与在查询字符串中搜索子字符串相比,检查$_GET 中的条目可能会更好。原因如下:假设查询字符串为?type=tipsy 搜索字符串“tips”将返回true,而您可能正在寻找名为“tip”(或“tips”)的URL 变量。基本上,ColdFusion 代码中的初始逻辑似乎不是最优的。
  • 目前,出于所有意图和目的,我坚持这样做。我将在下面发布的代码的 if 部分遇到解析错误。
  • &lt;?php define("siteurl", "http://www.site.com"); ?&gt; &lt;?php if (strstr($_SERVER['QUERY_STRING'], "tips")) || if (strstr($_SERVER['QUERY_STRING'], "tip")) { echo "&lt;li class=\"current\"&gt;&lt;a class=\"topnavtext\" href=\"#siteurl#\"&gt;Home&lt;/a&gt;&lt;/li&gt;"; } else { echo "&lt;li&gt;&lt;a class=\"topnavtext\" href=\"#siteurl#\"&gt;Home&lt;/a&gt;&lt;/li&gt;"; } ?&gt;
猜你喜欢
  • 1970-01-01
  • 2015-11-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-21
  • 2014-07-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多