Menu

AGB's

Help 2.02
der Fiede
2003-01-19
2013-04-08
  • der Fiede

    der Fiede - 2003-01-19

    Erst mal ein fettes Danke!
    Habe lange nach einem Shop gesucht und auch einige getestet und mich fr diesen Shop entschieden.
    Die V2.02 ist um einiges besser als die Vorgngerversion.
    Alle Probleme sind Weg! *hpf*
    Eine Frage htte ich aber doch noch ;-)*beschmtzubodenguck*
    Wie kann man die AGB's zum anklicken machen, so das diese besttigt werden mssen.

     
    • Andreas Kansok

      Andreas Kansok - 2003-01-19

      Hm, ja, da ist etwas knifflig.

      Erstmal mu natrlich eine Checkbox in pay.php her.
      <input type=checkbox name=agb value=ja>

      Am Anfang von payed.php BEVOR header.inc.php aufgerufen wird, kommt etwas wie:
      if ($agb!="ja")
      header("Location:pay.php?sess=$sess&error=13");

      Damit wird zurck zu pay.php gesprungen. Dort kannst Du dann (anhand von $error) eine Fehlermeldung ausgeben.

      Zwei Empfehlungen dazu noch:
      - hnliches Vorgehen fr die Widerrufsbelehrung.
      - berprfung auch in main.php nochmal, bevor mailer.inc.php und header* included wird.

      Das sind aber nur Empfehlungen, damit mit Sicherheit nix schiefgeht.

      Gru,
      Andreas.

       
      • ppdd

        ppdd - 2004-07-14

        Hatte die Checkbox wunderbar am Funktionieren. Leider nach Umzug auf neuen Webspace funktioniert diese berhaupt nicht mehr. Habe die alte Datenbank wieder eingebunden und alles klappt nur der Teil mit der checkbox beim bezahlen nicht, egal ob markiert oder nicht ich bekomme immer den ERROR 13 und dazu die Mitteilung das der Warenkorb leer ist.
        Ich wei mir keinen Rat mehr. Bitte Helft!!
        - shopadresse http://www.lalelu-kinderladen.de/shop_1,

         
        • Andreas Kansok

          Andreas Kansok - 2004-07-14

          Zwei Ideen dazu:
          - Da wo die Checkbox geprft wird, gibt's da noch eine SessionID?

          - PHP-Version gewechselt und nun gibt es $HTTP_POST_VARS nicht mehr? Vielleicht auch register_globals=off und deshalb wird die Checkbox als nicht-aktiv ausgewertet?

          Schreib doch mal vor die Auswertung (testhalber) ein
          print_r($_POST);
          Dann siehst Du, was berhaupt alles 'ankommt'.

          Gru,
          Andreas.

           
          • ppdd

            ppdd - 2004-07-15

            Da ich ein PHP-Laie bin, weiss ich nicht, wo ich dies plazieren soll... , was ich nicht verstehe ist das alles geht, nur bei pay.php der vorgang wie abbricht egal ob die orginale genommen wird oder die abegenderte... an dieser stelle bricht alles ab und es kommt kein Verkaufsvorgang zustande....
            Ich bin am Ende und weiss mir keinen Rat mehr :-(

             
          • ppdd

            ppdd - 2004-07-15

            Also eins habe ich jetzt definitiv herausgefunden (dank deiner Hilfe ;) ), die registers_global sind off!!
            kann man da was tun, das der Shop auch so funktioniert? Oder was kann ich da nur den Anbieter wechseln.?  Danke fr die Anworten

             
            • Andreas Kansok

              Andreas Kansok - 2004-07-15

              Dann ist wenigstens schon mal klar, warum's nicht fuktioniert.

              Du mut jetzt eigentlich nur die berprfung der Checkbox, die derzeit etwa so aussieht:
              if ($agb != "ja")
              ersetzen durch
              if ($_POST["agb"] != "ja")

              Zur Thematik register_globals gibt's hier im Forum aber schon etwas zu lesen. Teilweise funktionierts auch schon.

              Fr den Bilder-Upload in /admin/header.inc.php wirst Du etwas einfgen mssen wie:
              if(is_array($_FILES) && count($_FILES)>0)
              { extract($_FILES);
                if (is_array($npicfile))
                {
                  $tnpicfile_name = $npicfile['name']; $tnpicfile_type = $npicfile['type'];
                  $tnpicfile = $npicfile['tmp_name']; $tnpicfile_size = $npicfile['size'];
                  $npicfile_name = $tnpicfile_name; $npicfile_type = $tnpicfile_type;
                  $npicfile = $tnpicfile; $npicfile_size = $tnpicfile_size;
                }
              }

              Oder
              extract($HTTP_POST_FILES);

              Am PHP-Manual (http://www.php.net/de/manual) wirst Du auf Dauer allerdings nicht vorbeikommen ;-)

              Gru,
              Andreas.

               
              • ppdd

                ppdd - 2004-07-15

                Danke! :) fr die schnelle Antwort; das hilft mir jetzt ersteimal - werde nochmal das Forum durchforsten...wegen die register-globals ;)

                 
    • der Fiede

      der Fiede - 2003-01-23

      Danke!
      Die Checkbox funktioniert, nur die Fehlermeldung wird nicht angezeigt *wiedermalverlegenguck*

       
    • Andreas Kansok

      Andreas Kansok - 2003-01-24

      In pay.php verarbeitest Du den Fehler auch irgendwie?
      Da die Abfrage nicht dabei ist, wird der Fehler 13 auch standardmig nicht behandet ... ;-)

       
      • Andreas Kansok

        Andreas Kansok - 2003-10-01

        Die Verarbeitung des Fehlers gehrt nicht in den switch ...case-Teil, der wird nur beim Daten ndern verwendet, wie aus if($mode=="edith") zu ersehen ist.
        Die AGB-Checkbox wird ja aber unabhngig davon gebraucht.
        Ein if($error==13) echo $error13; wre also in der Nhe der Checkbox sinnig.

        Gru,
        Andreas.

         
    • der Fiede

      der Fiede - 2003-01-24

      Achso, bin leider (kans ja auch nicht verstecken :-) ein PHP Laie, wenn ich diese Bezeichnung schon tragen darf :-)
      Ich habe mir die pay.php schon einige Stunden betrachtet und Experimentiert.
      Das einzige, aber auch das allereinige was mir gelungen ist, ist nach dem nicht akzeptieren der AGB's die spanische Anmeldeaufforderung kommt.
      Jetzt fragt mich aber bitte nicht wie ich es geschafft habe *grins*
      Also ber einen kleinen Tip fr die pay.php wrde ich mich bestimmt nicht rgern, es wrde mich mal einen Schritt weiter voran bringen ;-)
      fiede, der momentan nir if's und echo's sieht

       
    • der Fiede

      der Fiede - 2003-01-24

      Ich hab's *hpf*

      href=\&quot;agb.php\&quot; target=\&quot;bsites\&quot;> $pay_22b.</a>\n";
          echo " $error13 \n";

      den Zeilenumbruch habe ganz unbrokratisch in den Errortext eingebaut.
      Keine Ahnung ob es Fachmnnisch ist, es funktioniert aber

       
    • bit

      bit - 2008-01-21

      Ich kram das Thema mal wieder raus, weil ich mit den Register_Globals = off derzeit auch ein Problem habe.
      Die pay.php funktionierte ohne Probleme, bis ich folgende Änderungen vorgenommen hatte:

      payed.php:
      <?
      if ($_POST['agb'] != "ja") {
          header("Location:pay.php?sess=$sess&fehler=1");
      }
      $caller="payed";
      require("header.inc.php");

      pay.php:
          echo "<table align=center width=500>\n";
          echo "<tr><td colspan=2>$pay_22a <a href=\&quot;agb.php\&quot; target=\&quot;bsites\&quot;>$pay_22b</a>\n";
          echo " $pay_22c <a href=lfb.php target=\&quot;bsites\&quot;>$pay_22d.</a></td></tr>\n";
          echo "<tr><td><input type=\&quot;checkbox\&quot; name=\&quot;agb\&quot; value=\&quot;ja\&quot;> AGB gelesen und akzeptiert.</td></tr>";
          if ($fehler == 1) {
              echo "<tr><td><font color=\&quot;red\&quot;> Die AGB m&uuml;ssen best&auml;tigt werden!</font></td></tr>";
          }
          echo "<tr><td><br><input type=submit value='$pay_24'></form></td>\n";

      Wenn ich den Button markiere, geht alles wie gehabt weiter, so wie es geplant ist. Wenn ich das jedoch nicht mache, dann komme ich auf dem lokalen Webserver zurück zur pay.php ohne Formulardaten, oder auf dem Providerwebserver kommen dann haufenweise Fehler dieser Art:
      1x: Warning: fopen(./): failed to open stream: Permission denied in [root]\shop\lib.inc.php on line 29

      mehrmals: Warning: fgets(): supplied argument is not a valid stream resource in [root]\shop\lib.inc.php on line 32

      1x: Warning: fclose(): supplied argument is not a valid stream resource in [root]\shop\lib.inc.php on line 37

      Wie kann ich verhindern, dass die Formulardaten bei dem Redirect auf die pay.php gelöscht werden?

       
      • Andreas Kansok

        Andreas Kansok - 2008-01-21

        Hallo,

        also zwei verschiedene Probleme, oder?

        Einmal wird versucht eine Formulardatei einzulesen, die wohl angegeben ist, aber nicht geöffnet werden darf.
        Entweder die Dateiangabe ist leer, was ich aus "Warning: fopen(./)" schließe oder es hängt an Dateirechten.
        fgets() und fclose() sind dann Folgefehler. fopen() gibt einen Fehler und keine Resource zurück. Diese Resource hätten fgets() und fclose() aber gebraucht.
        Die beste Lösung wird da wohl sein, vor dem fopen() etwas einzufügen wie
        if(file_exists())
        {
          ...fopen() (lib.inc.php line 29)
          ... weiter wie gehabt.
        }
        Bin mir nicht ganz sicher, ob das die Lösung ist. In meiner payed.php, wo die besagte Formulardatei geöffnet wird, steht das fopen() in Zeile 17 und das file_exists() ist bereits drin.

        In meiner lib.inc.php, aus Deiner Fehlermeldung hervorgeht, gibt es ein fopen() in Zeile 33.
        $file = fopen ("./$row[3]", "r");

        Falls das also Deine Stelle sein sollte folgende Lösung:
        if($row[3]=="" || !file_exists(basename($row[3]))
        {
          $auto_convert=0;
        }
        else
        { // die Originalzeilen
          $file = fopen ("./$row[3]", "r");
          $i=0;
          while ($i<32)
          {
            $line = fgets ($file, 200);
            $i++;
          }
          $line = fgets ($file, 200);
          $auto_convert=substr($line,17,1);
          fclose($file);
        }
        Falls Du nur mit einer Währung arbeitest, laß das alles weg und nur
        $auto_convert=0;
        übrig.

        Diese Problematik steht letztlich im Zusammenhang mit der fehlenden Session.
        Die Session fehlt und deshalb auch der Name der Konfigurationsdatei. Und einiges andere mehr.

        Warum fehlt nun also die Session?
        Aus register_globals = off folgt vermutlich auch, daß $sess keinen Wert hat.
        Hast Du's mit
        header("Location:pay.php?sess=".$_POST["sess"]."&fehler=1");
        versucht? 

         

Log in to post a comment.

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.