Jan är inne på rätt spår, det är cookies som kommer på avvägar.
Om man väljer att uppdatera antalet produkter i varukorgen så ser den cookie som Firefox skickar tillbaka till din server ut så här:
Cookie: INICart=1; Cart_ID=123456789; Currency=USD\r\n
Om man använder IE ser den ut så här:
Cookie: Currency=USD\r\n
En variabel som scriptet använder för att kontrollera om cookies är påslagna i användarens webläsare (gissar jag) och id-nummret för den varukorg man använder kommer alltså inte med i svaret från IE till din server. Resultatet av det blir att scriptet inte vet vilken varukorg som man vill ändra och man får upp det där tråkiga meddelandet.
Så vad beror då detta på? Vi återgår till att se hur din server skickade cookie-värdena till min webläsare. De såg ut så här:
Set-Cookie: INICart=1; expires=Wed, 08-Mar-06 04:17:06 GMT; path=/
Set-Cookie: Cart_ID=123456789; expires=Wed, 08-Mar-06 04:17:06 GMT; path=/
Set-Cookie: Currency=USD; expires=Wed, 15-Mar-06 01:17:06 GMT; path=/
Och här klarnar allt.
Expire-värdena för INICart och Cart_ID är satta till en tidpunkt som vi redan passerat. IE anser att värdena inte är relevanta längre och skickar dem därför inte i retur till din server. För Currency är expire-värdet dock korrekt satt till en tidpunkt i framtiden och skickas alltså till servern.
Och hur rättar man då till det då. Först och främst, kontrollera om klockan i din server går rätt. Lite långsökt eftersom expire-värdena skiljer sig åt så pass mycket mellan INICart/Cart_ID och Currency, men att kontrollera det kostar ingenting. Mest troligt behöver scriptet uppdateras lite så att expire-värdena sätts korrekt. Det kan antagligen vem som helst som skrivit mer än 100 rader PHP-kod fixa på fem minuter. Har du inte någon sån i närheten så kan jag göra det om du skickar scriptet till mig.