2014-05-14 32 views
2

我有一個自定義的購物車,重量範圍從.05到大約400磅。我的航運計算器只使用UPS,它會準確地收取我們運送UPS的所有物品。當我們只有小件物品(這也是輕的)時,我們運送USPS。考慮到這一點,我只是if語句把一個在UPS計算器的末尾:PHP如果聲明不適用於所有有效數字

if($weight>0 && $weight<5){    
    $handling='7.10'; 
} 

顯然,我的車重被存儲爲一個會話變量$權重,而我的運輸費用與可變發送到貝寶$處理。

這個小小的聲明使得我的網頁忽略了1磅到5磅之間的所有UPS運費,而只是向他們收取了7.50美元。這正是我想要的,除非我需要它在.01至5磅之間的任何工作。現在它使用的是從.01到0.99磅的UPS費率。我認爲這可能是某種零或有意義的數字錯誤。

而我的網站是嚴格的PHP和HTML。請不要提示任何jquery/java /等。而只是讓你知道你的聽衆,我是自學的初學者編碼器:)

謝謝你們

+2

我已經讀了10次你的問題,我不明白你在問什麼。你在哪裏得到一個重要的數字錯誤?你是說當你發送'7.10'時,它是以'7.50'發送的呢? – Barmar

+0

你可以在這裏做一個例子:http://3v4l.org/mUT72? – aldanux

+0

不,我的意思是低於1磅的重量不會被處理。我的航運計算器中有一個緩衝區,用於填充運輸幾個百分比以彌補運輸索賠和損壞。 7.10變成7.50。不要擔心7.10-7.50的事情。問題是7.10/7.50號碼不適用於低於1磅的購物車重量。 – user1570409

回答

0

你爲什麼要使用字符串?試試這個

if($weight>0 && $weight<=5) 
{    
    $handling=7.10; 
} 
+0

這是如何解決問題中的問題的? – Barmar

+0

從我的網頁上拿了幾個字符的代碼,但沒有解決問題:( – user1570409

0

既然你不能有負權,只需使用:

if($weight < 5) 

這應該解決您的問題。

問題的最可能原因首先是重量作爲一個字符串傳遞,我想。

+0

我使用零重量的免費送貨(所以我需要它排除0)。我會進一步查看字符串的東西。 – user1570409

+0

我把字符串標籤關掉(double')...沒有改變,它是否會影響我存儲會話變量的任何東西?像這樣?$ _SESSION ['weight'] = $ weight; – user1570409