PHP / Smarty中的“Ghost”值

时间:2010-04-26 09:52:44

标签: php html smarty

我一直在网站上工作一段时间来改变网店结账流程的布局和外观。我注意到如果你一直到整个过程直到最后一页,然后点击链接返回查看产品页面,交付方法价格显示在导航按钮下方,直到你刷新,它又消失了。

我已从浏览器下载了这两个来源(Chrome,但此错误适用于所有浏览器)并使用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

我甚至无法猜测造成这种情况的原因。我在Google上搜索过任何内容并且没有任何结果。

此源代码中甚至没有任何标记显示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 Inspector,发现了这个:

<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

当我点击GET订单选项卡的HTML时,它似乎从上一页获得了LeveringsmåteTD,只是将其添加到那里。

1 个答案:

答案 0 :(得分:1)

总结上述评论:

如果神秘线不在HTML源代码中,但是出现在Firebug的DOM中,那么很可能它会以某种方式通过Ajax注入。我的猜测是某个地方没有正确的重置变量,无论是在PHP还是JS端。

我想一步一步的调试无法找出根本原因。