tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
1525
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Joshman Joshman ist offline Mitglied
    Registriert seit
    May 2003
    Ort
    Hamburg
    Beiträge
    19
    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

    PHP-Code:
    $var round($var,2); 
    daergebnis ist x,xx (mit einem Komma als Dezimaltrenner.

    Jetzt zum Problem:

    Ich habe dann den wert mit

    PHP-Code:
    $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-Code:
     $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-Code:
    <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
    Geändert von Joshman (03.11.07 um 18:12 Uhr) Grund: Irgendwie ist der PHP Code nicht Vollständig übernommen worden...
     
    Träume nicht dein Leben, lebe deinen Traum.

  2. #2
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    PHP-Code:
    $this->item_weight[$index] = ($weight ? (string)$weight '0' ); 
    Das ist der sogenannte ternäre Operator mit dem sie bei OS:Commerce leider sehr viel arbeiten... Teilweise übertrieben viel. Es ist eine Kurzform zum if() Konstrukt.

    Man könnte es auch so schreiben:

    PHP-Code:
    if($weight)
    {
      
    $this->item_weight[$index] = (string)$weight;
    }
    else
    {
      
    $this->item_weight[$index] = 0;

    Zu den anderen Fehlern kann ich ohne den gesamten Code nichts sagen.
     
    KIDS Kinderbetreuungsdienst
    Xing

    "When you play the game of thrones, you win or you die. There is no middle ground."
    by Cersei Lannister in "A Game Of Thrones"

  3. #3
    Avatar von erik s.
    erik s. erik s. ist offline Mitglied Brokat
    Registriert seit
    Mar 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    317
    Hallo,

    vielleicht so:
    PHP-Code:
    $var str_replace(",",".",strval($var)); 
    Könnte funktionieren, muss aber nicht. Wie lautet denn die Fehlermeldung komplett? Bzw. wie sieht denn die Zeile aus, auf die der Fehler verweist?

    MfG Erik
     

Ähnliche Themen

  1. Komma wird zu Punkt - aber wie wieder rückgängig?
    Von TechM im Forum VisualStudio & MFC
    Antworten: 0
    Letzter Beitrag: 09.10.06, 21:38
  2. Antworten: 2
    Letzter Beitrag: 04.09.06, 23:05
  3. Punkt als Komma
    Von Jai im Forum Visual Basic 6.0
    Antworten: 3
    Letzter Beitrag: 05.08.05, 13:03
  4. Punkt und Komma in PHP
    Von DaRula im Forum PHP
    Antworten: 7
    Letzter Beitrag: 11.03.05, 23:51
  5. Punkt zu Komma
    Von racer_lars im Forum .NET Archiv
    Antworten: 6
    Letzter Beitrag: 08.07.04, 15:55