Shop-Lösung

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

  • Shop-Lösung

    Guten Tag

    Meine Frage bezieht sich auf einen Internetshop,
    den ich aktuell am erstellen bin.


    Jeder Artikel den der Besucher in den Warenkorb legt
    wir in eine Mysql-Tabelle geschrieben sowie noch
    die Session ID und ein Timestamp.

    Will der Shopbesucher nun die Bestellung abschliessen
    liest es alle Atikel mit der gleichen Session-ID wie die
    des aktuellen Besuchers aus und stellt Sie in Tabellenform
    dem Benutzer dar.

    Nun muss der Besucher in einem Formular seine Daten eingeben
    (Name, Vorname, Firma, Telefon usw), sowie die Anzahl Stücke
    der jeweiligen Artikel.

    Bei drücken des "Senden" Buttons wird alles auf die vollständigkeit
    überprüft und die Personalien des Besuchers in eine Mysql-Tabelle
    geschrieben. Auch die Atikel in der Mysql-Tabelle werden mit
    der eingegebenen Stückzahl und der Zeilenid der Personalien-Tabelle ergänzt.

    Danach wird die aktuelle Session beendet. Wenn der Benutzer
    nun eine neue Bestellung ausführen möchte wird Ihm auch eine
    neue Session-ID zugeteilt.



    Kann mir jemand sagen ob es nicht noch andere Lösungswege gibt,
    um einen Shop inkl. Warenkorb zu erstellen. (Ich möchte keinen
    Shop bei dem man sich registrieren muss).

    Ist es möglich das zwei Benutzern die gleiche Session-ID zugewiesen
    wird? Wenn ja würde mein Shop wie oben beschrieben nicht eine
    100% funktionssicherheit besitzen.


    Vielen Dank.


    Gruss
    SebyZ
    **Lieber mit dem Kopf durch die Wand als gar kein Fenster.**

  • #2
    Re: Shop-Lösung

    Original geschrieben von sebyz
    Ist es möglich das zwei Benutzern die gleiche Session-ID zugewiesen
    wird?
    das hängt davon ab, welchen session-mechanismus du nutzt/auf welche art du einen implementiert hast.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Re: Shop-Lösung

      Original geschrieben von sebyz

      Kann mir jemand sagen ob es nicht noch andere Lösungswege gibt,
      um einen Shop inkl. Warenkorb zu erstellen. (Ich möchte keinen
      Shop bei dem man sich registrieren muss).
      z.B. über Session, wo du schon Session nutzst, warum legst du die Daten nicht in die Session ab, dann brauchst du dich nicht um die "Leichen" in der DB zu kümmern, wenn der User plötzlich keine Lust mehr hat und den Browser einfach schliesst oder 'ne andere Seite (z.B. vom Konkurenz )) aufruft.

      Kommentar


      • #4
        @asp2php
        Ich finde das handling mit einer Datenbank irgendwie parktischer. Oder sagen wir mir fehlt das know-how um dies nur mit Sessions zu bewerkstelligen. Vielleicht kannst du mir ja groben zügen beschreiben wie du dies machen würdest.


        @wahsaga
        Welchen session-mechanismus muss ich nutzen damit keine gleichen Session-IDs zugewiesen werden?


        Danke für die Antworten.
        **Lieber mit dem Kopf durch die Wand als gar kein Fenster.**

        Kommentar


        • #5
          Original geschrieben von sebyz
          Ich finde das handling mit einer Datenbank irgendwie parktischer. Oder sagen wir mir fehlt das know-how um dies nur mit Sessions zu bewerkstelligen. Vielleicht kannst du mir ja groben zügen beschreiben wie du dies machen würdest.
          $_SESSION ist ein ganz normales Array


          Welchen session-mechanismus muss ich nutzen damit keine gleichen Session-IDs zugewiesen werden?[/B]
          Den von PHP mitgelieferten. session_start
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6

            Leider hab ich nun ein Problem bei dem ich nicht mehr weiter weiss:

            Oben die Liste der Artikel die sich im Warenkorb befinden, unten auf der Seite ein Formular um die Rechnungsandresse einzugeben.
            Rechts von jedem Artikel ist ein "Löschen"-Link um ihn wieder aus dem Warenkorb zu entfernen. Der Link zum Löschen zeigt auf das selbe Dokument inkl. ID ($PHP_SELF?delid=$row[0]).

            Angenommen der Benutzer füllt zuerst das Formular aus mit seiner Adresse, wenn er nun bevor er es abschickt noch einen Artikel löschen möchte gehen all seine eingegebenen Daten verloren.

            Gibt einen Weg um dies zu verhindern?
            **Lieber mit dem Kopf durch die Wand als gar kein Fenster.**

            Kommentar


            • #7
              affenformular
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Affenformular:
                Wenn das Formular also abgesendet wird und die
                Eingabewerte nicht korrekt sind, wird das Formular wieder dargestellt
                und die alten Werte werden als Standardwerte wieder eingesetzt.
                Damit kann der Anwender sie korrigieren, ohne sie noch einmal
                eingeben zu müssen.
                Das Affenformular bringt im meinem Fall leider nichts, beim Löschen eines Artikels wird das Formular
                nicht abgeschickt sondern nur die Seite neu geladen wird.


                Der Link zum Löschen zeigt auf das selbe Dokument inkl. ID ($PHP_SELF?delid=$row[0]).
                Somit können die Daten auch nicht mit $_REQUEST['feldname'] abgerufen werden.
                **Lieber mit dem Kopf durch die Wand als gar kein Fenster.**

                Kommentar


                • #9
                  works as designed

                  Wenn du das nicht möchtest, dann zeige den Link nicht an.
                  Oder packe den Link als Submitbuttons ins Formular, kannst ihn ja per CSS so formatieren,dass er wie de rbisherige Link aussieht.
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Original geschrieben von sebyz
                    Das Affenformular bringt im meinem Fall leider nichts, beim Löschen eines Artikels wird das Formular nicht abgeschickt sondern nur die Seite neu geladen wird.
                    dann denk nach und ändere das ...
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Gut so sehen jetzt meine Links zum Löschen aus:

                      PHP-Code:
                      <a href="javascript:document.form.submit();">Löschen</a
                      Kann mir jemand sagen wie ich nun eine Variable anhängen kann, damit beim neu laden die var $delid einen wert hat.

                      $wahsage: ich dachte nach und versuchte es zu ändern!
                      Zuletzt geändert von sebyz; 02.02.2005, 16:06.
                      **Lieber mit dem Kopf durch die Wand als gar kein Fenster.**

                      Kommentar


                      • #12
                        Original geschrieben von mrhappiness
                        Wenn du das nicht möchtest, dann zeige den Link nicht an.
                        Oder packe den Link als Submitbuttons ins Formular, kannst ihn ja per CSS so formatieren,dass er wie de rbisherige Link aussieht.
                        Warum nicht so?
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          Also weil ich nicht weiss wie:

                          PHP-Code:

                          <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form">


                          //normaler link
                          <a href="<?php echo $_SERVER['PHP_SELF']."?delid=$row[0]"?>" target="_self">
                          <img src="del.gif" alt="Artikel Löschen" width="19" height="16" border="0" />
                          </a>

                          //wie kann ich jetzt den teil $_SERVER['PHP_SELF']."?delid=$row[0] hier im submit type integrieren?
                          <input name="send" type="submit" id="send" value="Senden" class="button"  />

                          </form>
                          Vielen Dank...

                          ..gruss Seby
                          **Lieber mit dem Kopf durch die Wand als gar kein Fenster.**

                          Kommentar


                          • #14
                            Habe die Lösung gefunden:


                            PHP-Code:
                            <a href="javascript:document.form.action=('<?php echo "cart.php?delid=$row[0]"?>'); 
                            document.form.submit();" target="_self">
                            Zuletzt geändert von sebyz; 03.02.2005, 07:41.
                            **Lieber mit dem Kopf durch die Wand als gar kein Fenster.**

                            Kommentar


                            • #15
                              Viel Benutzerfreundlicher wäre doch eine Checkbox vor jedem Artikel.
                              Dann machst du direkt unter die Liste der Artikel noch einen Button und es ist perfekt.
                              So muss der Benutzer nicht, wenn er mehrere Artikel löschen möchte, auf etliche Links klicken, sondern kann das mit einem mal erledigen.

                              Und für dich hat es den technischen Vorteil, dass du das gleiche Formular benutzen kannst.
                              Und dann die erwähnte Affenmethode dazu.

                              Kommentar

                              Lädt...
                              X