Php 如何使用Smarty模板中的http_referer仅为内部链接创建后退按钮
我正在使用网站上的以下代码在Smarty模板中创建后退按钮:Php 如何使用Smarty模板中的http_referer仅为内部链接创建后退按钮,php,smarty,http-referer,Php,Smarty,Http Referer,我正在使用网站上的以下代码在Smarty模板中创建后退按钮: <div id="back-button"> <a href="{$smarty.server.HTTP_REFERER}">BACK</a> 当浏览内部页面时,这会根据需要工作。但是,当用户通过外部网站上的超链接访问我的网站时,后退按钮会将他重定向到该外部网站。我希望按钮仅在http_referer值是内部链接时才起作用。至于外部链接,它应该重定向到我的网站主页 对不起,我的问题非常简单。
<div id="back-button">
<a href="{$smarty.server.HTTP_REFERER}">BACK</a>
当浏览内部页面时,这会根据需要工作。但是,当用户通过外部网站上的超链接访问我的网站时,后退按钮会将他重定向到该外部网站。我希望按钮仅在http_referer值是内部链接时才起作用。至于外部链接,它应该重定向到我的网站主页
对不起,我的问题非常简单。我对Smarty是新手
另外,我知道如何用Javascript编写。我需要用smarty
谢谢你试试这个
{if isset($smarty.server.HTTP_REFERER) && strpos($smarty.server.HTTP_REFERER, $smarty.server.HTTP_HOST) != false}
<a href="{$smarty.server.HTTP_REFERER}">Back</a>
{else}
<a href="/">Back</a>
{/if}
{if-isset($smarty.server.HTTP\u REFERER)和&strpos($smarty.server.HTTP\u REFERER,$smarty.server.HTTP\u HOST)!=false}
{else}
{/if}
它检查是否存在一个引用者,并且该引用者来自同一主机,然后添加一个引用者链接。如果不存在,则添加一个主页链接。http引用者是由请求服务器在请求任何资源(无论是内部资源还是外部资源)时设置的。您可以做的是在代码中获取这个值服务器端,并将其放入内部变量中。然后根据需要在Hyperlink中使用变量。在设置推荐人之前,您应该检查域。如果链接与主机匹配,则为您的回复设置HTTP_RefererHanks。请分享一个示例代码片段。这正是我想要的。此行
{$link->getPageLink('index')}
产生了一个错误。所以我修正了它并做了一些改进。多谢各位<代码>{if-isset($smarty.server.HTTP\u REFERER)和&stripos($smarty.server.HTTP\u REFERER,$smarty.server.server\u NAME)!=false}{else}{/if}哦,对不起。我并没有认为这个问题只与smarty有关,而是使用了prestashop中的那个部分。我会修好的