Ankündigung

Einklappen
Keine Ankündigung bisher.

Variable übergeben mit Register Globals off

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variable übergeben mit Register Globals off

    Hallo,

    nein es ist nicht ganz so "simpel" wie die Überschrift suggeriert... Zumindest nicht für mich
    Es geht um ein Script, was die Abrechnung eines Warenkorbs macht (konkret Inetcash für xtCommerce). Das Script funktioniert nur mit Register Globals On, weil es anscheinend schon ziemlich alt ist. Ich habe nun versucht es anzupassen, die Variablen, die an die URL angehängt werden
    (https://gateway.inet-cash.de/shop/pa...&progid=222222 [Beispiel]) habe ich "zusammengepuzzelt" bekommen, ist ja auf meinem Server im Script, ok.
    Das Problem dabei ist, dass irgendwo die Variable für den Gesamtbetrag noch mit übergeben wird, aber nicht in einem versteckten Formularfeld. Soweit ich das sehe, gibt es eine Variable $total_cost, die dann anscheinend global übergeben wird, nix genaueres seh ich da aber nicht draus Auf jeden Fall kommen da immer nur 0,00€ an. Kann ich da überhaupt Einfluß drauf nehmen und das dem anderen Server irgendwie übergeben? Oder müssen die ihr Script "einfach" anpassen??

    Wäre für Hilfe dankbar

    trunky


  • #2
    Bietet die Firma keine neuere Lösung an?

    Ich persönlich bin es einfach leid, register_globals Probleme zu lösen - und auch noch für ein kommerzielles Fremdprodukt - und auch noch bei einem Bezahlsystem.
    Nicht allzu übel nehmen bitte, aber ich bin stark dagegen, dass wir hier diese Art von Problemen mit quick&dirty Hackanleitungen im Forum angehen.

    Kommentar


    • #3
      Hallo,

      danke erstmal für die Antwort.
      Nein, die Firma bietet da nix an, wär ja zu schön.
      Und ja ich bin auch dagegen, muss aber dieses Abrechnungssystem einsetzen (wegen Erotikcontent). Ansonsten bin ich auch gegen solche Lösungen, aber was ist besser, das zu "hacken" oder den gesamten Shop mit Register Globals On laufen lassen?

      Kommentar


      • #4
        Zitat von trunky Beitrag anzeigen
        muss aber dieses Abrechnungssystem einsetzen (wegen Erotikcontent).
        weil nur inet-cash die Abrechnung für Erotikinhalte zulässt? Kann ich mir kaum vorstellen. Und wenn die Software nicht mehr gewartet wird (register_globals ist kein wirklich neues Phänomen), hast Du dann wirklich ein gutes Gefühl dabei, sie für Geldgeschäfte einzusetzen? Alte Software ist nicht automatisch schlecht. Aber in kritischen Anwendungsbereichen würde ich wesentlichen Wert auf aktive Entwicklung und Wartung legen. Gerade wenn sich die Umgebung wie im Fall von PHP häufiger ändert.

        Kommentar


        • #5
          Du hast ja so recht, hilft mir nur leider alles nichts
          Und "Macken" haben in dem Bereich leider fast alle, Swisspay z.B. benutzt die round Funktion aus PHP4, musste ich auch schon neu schreiben, wollte es aber nun doch nicht einsetzen ---> daher meine Frage

          Kommentar


          • #6
            Welche Probleme gibt es denn mit [man]round[/man]?
            PHP-Code:
            <?php echo PHP_VERSION " " round(1.4552); ?>
            5.2.6 1.46

            Kommentar


            • #7
              Ich habs doch schon gelöst Funktioniert ja.
              Nur die Übergabe doch nicht

              Kommentar


              • #8
                Zitat von trunky Beitrag anzeigen
                Ich habs doch schon gelöst Funktioniert ja.
                Ihc bin ja auch nur neugierig. Welches Problem gab es mit round()?

                Kommentar


                • #9
                  Hm laß mich überlegen...
                  müßte ich den Code nochmal raussuchen, auf jeden Fall hatte sich was von PHP4 auf 5 geändert und außerdem hat das Modul immer alles rechtsbündig übergeben, also aus 23,00 € wurden dann 0,23€.

                  Wenn du noch neugieriger bist, muss ich den Code nochmal raussuchen

                  Kommentar


                  • #10
                    Wie konkret soll man jetzt helfen?
                    "Mein Name ist Lohse, ich kaufe hier ein."

                    Kommentar


                    • #11
                      Mh da der Server vom Anbieter ja das Geld irgendwie empfangen muss, ich aber auf meinem Server gerne die Register Globals Off setzen würde, war die ursprüngliche Frage, ob ich die denn anders übergeben kann, also bei mir "global" setzen und so übergeben als wär es eine globale Variable, denn anscheinend braucht der Server vom Anbieter das ja

                      Kommentar


                      • #12
                        außerdem hat das Modul immer alles rechtsbündig übergeben, also aus 23,00 € wurden dann 0,23€.
                        Das wäre allerdings mal ein interessanter Rundungsfehler. LOL.

                        war die ursprüngliche Frage, ob ich die denn anders übergeben kann, also bei mir "global" setzen und so übergeben als wär es eine globale Variable, denn anscheinend braucht der Server vom Anbieter das ja
                        Gehen tut das natürlich. Aber viel schöner wird die Situation dadurch auch nicht.

                        Denkbar wären
                        - extract
                        - besser: Eine Schleife, die vordefinierte Requestdaten durch Schreiben in $GLOBALS global macht.
                        - besser: das Script komplett überarbeiten
                        --

                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                        --

                        Kommentar


                        • #13
                          Hallo,

                          also hm, entweder ich versteh was falsch oder ich drück mich falsch aus?

                          Das Script an sich _scheint_ ohne Register Globals arbeiten zu können, wenn ich meine AnbieterID etc direkt in die Datei reinschreibe, dann wird die Anbieterseite auch korrekt aufgerufen (siehe OP). Nur die Preise werden nicht richtig übergeben, ich nehme also an, dass der Anbieterserver das in einer globalen Variable erwartet. Und da wollte ich halt fragen, wie ich die auf meinem Server erzeugen (bzw übergeben) kann, wenn ich Register Globals auf Off stelle.

                          Kommentar


                          • #14
                            Register Globals = OFF meint nicht, dass es keinen globalen Variablenraum mehr gibt, sondern, dass Request Parameter (GPC) nicht automatisch in den global scope übernommen werden.

                            Woran die o.g. Fehlberechnung liegt können wir nur mutmaßen.
                            --

                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                            --

                            Kommentar


                            • #15
                              Verräts du mir dann auch, wie ich sie global übergeben kriege? Also wie ich auf meinem Server die Variable global mache, damit sie beim anderen ankommt, ich aber ein Register Globals on (auf meinem Server) brauche?

                              PS: Um die Fehlberechnung gehts gar nicht, die war von einem Anbieter und das Programm hab ich umgeschrieben

                              Kommentar

                              Lädt...
                              X