2010-04-26 60 views
0

我一直在网站上工作一段时间,改变了网上商店结帐过程的布局和皮肤。我注意到,如果您一直通过去的过程,直到最后一页,然后点击链接返回到查看产品页面,交付方式价格显示在导航按钮下方,直到您刷新并且它去了再次离开。PHP/Smarty中的“幽灵”值

我从网上下载的浏览器两个源(铬,但是这种错误适用于所有浏览器),并使用了file difference tool显示的差异,其结果只能是:

< error.html 
vs 
> normal.html 
34c34 
< <link href="gzip.php?file=167842c1496093fbcd391b41cf7b03da.css&time=1272272181" rel="Stylesheet" type="text/css"/> 
--- 
> <link href="gzip.php?file=167842c1496093fbcd391b41cf7b03da.css&time=1272272348" rel="Stylesheet" type="text/css"/> 

这是现在的样子它压缩了CSS样式表。 (afaik)

有没有人遇到过这样的问题,或者其他类似的问题?

正常: How it is meant to look

错误: The weird bug

我甚至不能妄自猜测,是什么原因造成这一点,在所有。我已经搜索了谷歌任何东西,并没有任何东西。

这个源代码中甚至没有显示leveringsmåte(Delivery method)div的标记。

这可能是什么原因造成的?

相关网站是Euroworker.no

HTML @ Pastebin

Smarty的片段:

{if !$CANONICAL} 
     {canonical}{self}{/canonical} 
    {/if} 

    <link rel="canonical" href="{$CANONICAL}" /> 

    <!-- Css includes --> 
    {includeCss file="frontend/Frontend.css"} 
    {includeCss file="backend/stat.css"} 

    {if {isRTL}} 
     {includeCss file="frontend/FrontendRTL.css"} 
    {/if} 

    {compiledCss glue=true nameMethod=hash} 
    <!--[if lt IE 8]> 
     <link href="stylesheet/frontend/FrontendIE.css" rel="Stylesheet" type="text/css"/> 
     {if $ieCss} 
      <link href="{$ieCss}" rel="Stylesheet" type="text/css"/> 
     {/if} 
    <![endif]--> 

感谢。

UPDATE:只要使用DOM查看,发现这个:

<TD class="amount shippingAmount">138.-</TD> 

这是在这个过程中的最后一页。为什么会这样带过?

更新2

得到这个从Firebug的Net选项卡,

GET order 

Response Headersview source 
Date Mon, 26 Apr 2010 11:20:06 GMT 
Server Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.10 with Suhosin-Patch mod_ssl/2.2.8 OpenSSL/0.9.8g 
X-Powered-By PHP/5.2.4-2ubuntu5.10 
Expires Thu, 19 Nov 1981 08:52:00 GMT 
Cache-Control no-store, no-cache, must-revalidate, post-check=0, pre-check=0 
Pragma no-cache 
Content-Encoding gzip 
Content-Length 5244 
Keep-Alive timeout=15, max=96 
Connection Keep-Alive 
Content-Type text/html;charset=utf-8 
Request Headersview source 
Host www.euroworker.no 
User-Agent Mozilla/5.0 (Windows; U; Windows NT 6.0; nb-NO; rv:1.9.1.9) Gecko/20100315 Firefox/3.5.9 (.NET CLR 3.5.30729) 
Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 
Accept-Language nb,no;q=0.8,nn;q=0.6,en-us;q=0.4,en;q=0.2 
Accept-Encoding gzip,deflate 
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 
Keep-Alive 300 
Connection keep-alive 
Referer http://www.euroworker.no/checkout/pay 
Cookie PHPSESSID=f5bd84668603decd779c5945d2de045c; __utma=259297566.1176642152.1271066660.1272267705.1272280025.34; __utmz=259297566.1271066660.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utmb=259297566.7.10.1272280025; __utmc=259297566 

当我在HTML点击的GET命令选项卡上,这似乎是从以前的页面获取LeveringsmåteTD并在那里添加它。

+0

你能显示HTML源代码吗?如果你不使用gzip会发生什么?这可能是一些变量被覆盖,或者某些时候没有被正确清理。 – 2010-04-26 09:55:04

+0

@Pekka,我不知道哪个代码片段可以向你展示..我可以为你上传产品页面的HTML。 – Kyle 2010-04-26 09:56:25

+0

@Kyle上面显示的HTML代码在哪里?负责这件事的聪明的模板片段可能是一个开始。 – 2010-04-26 09:57:19

回答

1

总结以上的评论:

如果谜线是不是在HTML源代码,但在Firebug的DOM显示出来,那么很可能它就会通过Ajax注入有莫名其妙。我的猜测会是一个不正确的重置变量,无论是在PHP还是JS端。

我想没有办法通过循序渐进的调试来找出根本原因。

+0

谢谢Pekka。帮助了很多!我一定会保持这个最新的原因,以及如何解决。 – Kyle 2010-04-26 12:05:51

+0

@凯尔是的,请做。你永远不知道知识何时可以派上用场。 – 2010-04-26 12:07:37