2010-04-26 96 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