Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用php/smarty确定站点的路径?_Php_Url_Smarty_If Statement - Fatal编程技术网

如何使用php/smarty确定站点的路径?

如何使用php/smarty确定站点的路径?,php,url,smarty,if-statement,Php,Url,Smarty,If Statement,好的,假设我有一个带有url的页面:url.com/checkout/completed,我如何设置if语句来执行: <if "This page has url of checkout/completed"> No Content <else> Content </if> 没有内容 所容纳之物 有办法吗?一个简单的方法,我的php/smarty fu缺少。。很多 编辑: {if$smarty.server.REDIRECT\u URL eq'h

好的,假设我有一个带有url的页面:
url.com/checkout/completed
,我如何设置if语句来执行:

<if "This page has url of checkout/completed">

No Content

<else>

Content

</if>

没有内容
所容纳之物
有办法吗?一个简单的方法,我的php/smarty fu缺少。。很多

编辑:

{if$smarty.server.REDIRECT\u URL eq'http://www.euroworker.no/checkout/completed'}
{else}
滚动内容
鹿茸
{include file=“/choosePaymentMethod.tpl”}
{/if}

谢谢。

看看
$\u服务器['REQUEST\u URI']
$\u服务器['REDIRECT\u URL']

if($_SERVER['REDIRECT_URL'] == 'checkout/completed') {
   echo 'Some content';
}
在smarty中:

{if $smarty.server.REDIRECT_URL eq 'checkout/completed'}
Some content
{/if}
如果您没有设置重定向URL并使用请求URI,您可能希望使用
strstr
而不是典型的比较,以防您只想匹配该URI而忽略可能发送的任何其他参数,或者按照@Pekka的建议使用
SCRIPT\u NAME

if(strstr($_SERVER['REQUEST_URI'], 'checkout/completed')) {
   echo 'Some content';
}
编辑:尝试:

{if $smarty.server.REQUEST_URI eq '/checkout/completed'}

看看
$\u服务器['REQUEST\u URI']
$\u服务器['REDIRECT\u URL']

if($_SERVER['REDIRECT_URL'] == 'checkout/completed') {
   echo 'Some content';
}
在smarty中:

{if $smarty.server.REDIRECT_URL eq 'checkout/completed'}
Some content
{/if}
如果您没有设置重定向URL并使用请求URI,您可能希望使用
strstr
而不是典型的比较,以防您只想匹配该URI而忽略可能发送的任何其他参数,或者按照@Pekka的建议使用
SCRIPT\u NAME

if(strstr($_SERVER['REQUEST_URI'], 'checkout/completed')) {
   echo 'Some content';
}
编辑:尝试:

{if $smarty.server.REQUEST_URI eq '/checkout/completed'}

我更喜欢返回完整请求路径的
SCRIPT\u NAME
,而不是像
request\u URI
那样返回查询字符串

if ($_SERVER["SCRIPT_NAME"] == "/checkout/completed")
 ......

我更喜欢返回完整请求路径的
SCRIPT\u NAME
,而不是像
request\u URI
那样返回查询字符串

if ($_SERVER["SCRIPT_NAME"] == "/checkout/completed")
 ......

这是一个非常好的答案,但是为什么要重定向URL呢?在我的WAMP设置中调用PHP脚本时没有设置它。这不是只有在出现某种重定向时才适用吗?@Pekka-我的设置有它的原因。另外,为了防止OP没有重定向URL,我加入了
请求URI
。可能与mod_rewrite和我的ZF设置有关。@karim我明白了。请注意,
REQUEST\u URI
将包含任何传递的GET参数:
/checkout/completed?a=b&c=d&e=f
在进行比较时,您需要考虑到这一点。抱歉,伙计们,这些都不起作用:(将用代码更新我的问题。@Kyle Sevenoaks-$smarty.server.REQUEST_URI eq'/checkout/completed'一个非常好的答案,但是为什么
重定向\u URL
?在我的WAMP设置中调用PHP脚本时它没有设置。这不是只有在有某种重定向时才适用吗?@Pekka-我的设置有它是出于某种原因。我加入了
REQ。)UEST_URI
另外,如果OP没有重定向_URL
。可能与mod_rewrite和我的ZF设置有关。@karim我明白了。请注意,
请求_URI
将包含任何传递的GET参数:
/checkout/completed?a=b&c=d&e=f
在进行比较时,您需要考虑到这一点。抱歉是的,但这些都不起作用:(将更新我的问题。使用代码。@Kyle Sevenoaks-$smarty.server.REQUEST_URI eq'/checkout/completed'我不理解脚本名称的含义。我必须附加另一个脚本吗?@Kyle抱歉,不,这是关于使用
$\u server
变量的问题。这些是由web服务器ava定义的预设变量可通过
$\u服务器
数组在每个脚本中使用。
script\u NAME
就是其中之一。有几个非常相似的变量,但它们在不同的环境下(有时是服务器设置)的行为不同。请尝试
如果(…)
如上所述的条件。感谢您的解释,我应该回家学习PHP更多知识。+1我不明白您所说的脚本名称是什么意思。我必须在此附加另一个脚本吗?@Kyle抱歉,不,这是关于使用哪个
$\u服务器
变量的问题。这些是web服务器定义的预设变量,可用在通过
$\u服务器
数组的每个脚本中。
script\u NAME
就是其中之一。有几个非常相似的变量,但它们在不同的情况下(有时是服务器设置)表现不同。请尝试
if(…)
条件如上所述。感谢您的解释,我应该回家学习PHP更多内容。+1