Hi.
Ich bastell an einem Webshop, und binde UPS Tools ein.
Das ist auch gelungen.
Jetzt muss ich eine Variable runden, das mache ich mit
daergebnis ist x,xx (mit einem Komma als Dezimaltrenner.
Jetzt zum Problem:
Ich habe dann den wert mit
geändert.
Aber das Webshop Script (PHP, OsCommerce Conribution UPSXML)
verarbeitet dieses Variable irgendwie selbst, und ich bekomme die Fehlermeldung:
---- Fatal error: Cannot use string offset as an array in ...... -------
Was ich nicht hinbekomme ist das Komma zu ersetzen, um es UPS tauglich zu machen, der nimmt nur das Zahleformat "x.xx" an.
Ich weiss das es schwer ist ohne das Script komplett zu zeigen, mir zu helfen.
Aber ich will auch diese Fehler meldung Verstehen.
Mein Vermutungen:
1. Das liegt an der Codepage (Länderkodierung) des Browser oder des Servers.
Die Codepage einstellungen will ich wenns geht nicht ändern, weil sonst ja der Webshop komplett ein andere einstellung bekommt.
2. Die Variable auf die zugreifen will ist eine Referenz Variable oder so etwas,und ich versuche immer einen Referenzwert zu ändern, und nicht den Tatsächlichen Wert der Variable.
3. Das hier verstehe ich nocht nicht als Code:
Wenn dann Inline ?
Könnte mir da bitte jemand das hier erklären? (Bekommst auch Richtig vile Lob und so... )
4. So was eigentlich Passieren soll ist:
Soll "x.xx" bekommen, aber bekommt dieses Format "x,xx" , und UPS nimmt das nicht an.
Ich habe hier mit str_replace, number_format und strstr undundund probiert...
Folge war immer die Fehlermeldung von oben, wenn ichrgendwas an "$this->item_weight[$i]" geändert habe.....
Bin jetzt mit 12 Std. und recherche wohl auf dem Holzweg und sehe die Wälder vor Lauter globalisierung nicht mehr....
Also ich weis genau was ich gändert haben will, aber nix geht...
Trändrüsedrückextrem: HILFE ! Ich breack; together und sowas.... Verdammte Winterdepression.....
THX Joshi aus HH
Ich bastell an einem Webshop, und binde UPS Tools ein.
Das ist auch gelungen.
Jetzt muss ich eine Variable runden, das mache ich mit
PHP:
$var = round($var,2);
daergebnis ist x,xx (mit einem Komma als Dezimaltrenner.
Jetzt zum Problem:
Ich habe dann den wert mit
PHP:
$var = str_replace(",",".",$var);
geändert.
Aber das Webshop Script (PHP, OsCommerce Conribution UPSXML)
verarbeitet dieses Variable irgendwie selbst, und ich bekomme die Fehlermeldung:
---- Fatal error: Cannot use string offset as an array in ...... -------
Was ich nicht hinbekomme ist das Komma zu ersetzen, um es UPS tauglich zu machen, der nimmt nur das Zahleformat "x.xx" an.
Ich weiss das es schwer ist ohne das Script komplett zu zeigen, mir zu helfen.
Aber ich will auch diese Fehler meldung Verstehen.
Mein Vermutungen:
1. Das liegt an der Codepage (Länderkodierung) des Browser oder des Servers.
Die Codepage einstellungen will ich wenns geht nicht ändern, weil sonst ja der Webshop komplett ein andere einstellung bekommt.
2. Die Variable auf die zugreifen will ist eine Referenz Variable oder so etwas,und ich versuche immer einen Referenzwert zu ändern, und nicht den Tatsächlichen Wert der Variable.
3. Das hier verstehe ich nocht nicht als Code:
Wenn dann Inline ?
PHP:
$this->item_weight[$index] = ($weight ? (string)$weight : '0' );
Könnte mir da bitte jemand das hier erklären? (Bekommst auch Richtig vile Lob und so... )
4. So was eigentlich Passieren soll ist:
PHP:
<Weight>" . $this->item_weight[$i] . "</Weight>\n".
Soll "x.xx" bekommen, aber bekommt dieses Format "x,xx" , und UPS nimmt das nicht an.
Ich habe hier mit str_replace, number_format und strstr undundund probiert...
Folge war immer die Fehlermeldung von oben, wenn ichrgendwas an "$this->item_weight[$i]" geändert habe.....
Bin jetzt mit 12 Std. und recherche wohl auf dem Holzweg und sehe die Wälder vor Lauter globalisierung nicht mehr....
Also ich weis genau was ich gändert haben will, aber nix geht...
Trändrüsedrückextrem: HILFE ! Ich breack; together und sowas.... Verdammte Winterdepression.....
THX Joshi aus HH
Zuletzt bearbeitet: