Formular Sperre nach Abbruch Internetverbindung

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

  • Formular Sperre nach Abbruch Internetverbindung

    Hallo zusammen,

    das ist mein erster Beitrag, ich hoffe er ist im richtigen Unterforum.

    Ich habe folgende Problemstellung zu bewältigen:
    Ich habe einen Fragebogen, der aus mehreren Fragen besteht. Der User loggt sich ein und bearbeitet den Fragebogen. Die Daten werden nach jeder Beantwortung einer Frage in eine Datenbank eingetragen. Wenn der User komplett fertig ist und den Fragebogen abschliesst wird sein account gesperrt.
    So, jetzt kann es ja vorkommen, das die Internetleitung abbricht oder der User plötzlich weg muss oder was weiss ich... Jetzt sollte es so sein, das die bisher gemachten Eingaben des Users dann gelöscht werden und er nach erneutem Login von vorne anfangen muss.
    Irgendwie finde ich da keinen ansatz wie ich das machen soll, wenn z.B. die Internetverbindung während der bearbeitung abbricht... vielleicht mit ner session-id....?

    Vielen Dank schonmal für eure anregungen

    grüsse

  • #2
    Könntest alles in einer Session speichern und dann am Ende an die Datenbank übermitteln, wäre son nen passender Ansatz, ja.
    Erst meckern, dann helfen!

    Kommentar


    • #3
      hi

      oder du speicherst bei jedem eintrag die Zeit.
      Wenn die Zeit zwischen zwei einträgen groesser als nen gewisser von dir bestimmter Wert ist, werden alle Felder der Umfrage aus der DB gekickt.

      Obwohl im normalfall würde ich wohl auch das alles in ner Session handhaben. So haste dann nur eine Datenbankverbindung am Ende des Fragebogens.

      Allerdings kann es auch hierbei natuerlich vorkommen, dass du einen Internetabbruch nicht mitbekommst. Dazu muesstest du wohl noch in der Session einiges weiteres Speichern um den User zu identifizieren. (z.b. IP).

      gruss
      iglo

      Kommentar


      • #4
        danke schonmal für eure antworten.

        Wär das vielleicht ein Ansatz:
        Loggt sich ein User ein, wird eine Session-ID erzeugt in die DB geschrieben. Wenn jetzt die Internetleitung abbricht und sich der User neu anmeldet, dann prüfe ich, ob die neue Session-ID des Users gleich ist wie die Session-ID in der DB --> wenn nicht: alle Einträge löschen und dann darf der user erst mit der bearbeitung beginnen...

        grüsse

        Kommentar


        • #5
          Hi

          guter Ansatz.

          Nur wenn bei einem User bspw. das Internet 10 min weg ist, hat er immer noch die alte Sessionid und ist angemeldet.

          Wenn du also diesen Fall nicht auch abdecken willst, ist es eine praktikable Lösung. Wüsste allerdings auch nicht, warum man deswegn den User zwingen sollte das FOrmular neu auszufüllen.

          gruss
          Iglo

          Kommentar


          • #6
            Warum eigentlich überhaupt wieder alles löschen? Lass den Kram doch gespeichert in der DB. Am Ende des Formulars machst du dann ein Knopf "Bestätigen" womit dann eben der gesammte Vorgang abgeschlossen und der Acc gesperrt wird. So können deine Leute auch in Etappen arbeiten.
            Erst meckern, dann helfen!

            Kommentar


            • #7
              ist halt ne vorgabe, hab ich mir nicht selbst ausgedacht

              hmm, gibts vielleicht noch ne lösung, das auch einen längeren verbindungsunterbruch behandeln würde?

              Kommentar


              • #8
                mal na andere frage, wenn die daten scheinbar nur relevanz haben, wenn der typ das formular abschließt (sprich der account gesperrt wird), warum schreibst du nicht beim abschließen des fragebogens einmalig die antworten in eine db... verringert zusätzlich die mysql-requests.
                **********
                arkos
                **********

                Kommentar

                Lädt...
                X