Announcement

Collapse
No announcement yet.

erneuten Insert bei zurück verhindern

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • erneuten Insert bei zurück verhindern

    Ich leite Daten von einer Formularseite (step1.php) auf eine neue Seite(step2.php) weiter - diese startet in meiner Datenbank ein paar Inserts - soweit alles OK. Auf dieser Seite kann man anschließend weitere Angaben ergänzen und wird wieder auf eine neue Seite (step3.php) weitergeleitet. Das Problem ist nun, wenn jemand die "Zurück"-Taste im Explorer nutzt, führt die Seite (step2.php) die inserts erneut aus. Dies führt dazu, dass ein Datensatz doppelt verknüpft wird.
    Wie kann ich erreichen, dass der Insert nur ausgeführt wird, wenn der Aufruf von der Seite "Step1.php" kommt - und nicht von Step3.php .
    Die Möglichkeit abzufragen, ob die Verknüpfung bereits besteht kann ich nicht nutzen, da es u.U. gewollt ist, dass eine Verknüpfung mehrfach besteht.

    Ich hoffe Ihr könnt mir weiterhelfen.
    Vertipper könnt Ihr gerne behalten....
    Gruß löhni (www.loehni.de)

  • #2
    Hallo Peter,

    ich gehe mal davon aus, das du bereits eine Session benutzt. Deshalb würde ich vorschlagen beim Aufruf der Seite step1.php in der Session eine Variable zu setzen:
    PHP Code:
    $_SESSION['test_auf_step1'] = 1
    Die Sessionvariable wird dann in step2.php ausgewertet:
    PHP Code:
    if ( isset( $_SESSION['test_auf_step1'] ) ) {
      
    /* kommt von step1.php */
      
    MacheMeineInserts();
      unset(
    $_SESSION['test_auf_step1']);
    }
    else {
      
    /* kommt NICHT von step1.php! */
      
    MacheNurAusgabe();

    Wichtig ist das Zurücksetzen der Sessionvariable in step2.php!

    Gruß Falk
    Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

    Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

    Comment


    • #3
      ich würde in dem fall einfach mit header("LOCATION: step1.php"); den Gast wieder zurück befördern oder auf eine weitere Seite leiten.

      Comment


      • #4
        Originally posted by Onko View Post
        ich würde in dem fall einfach mit header("LOCATION: step1.php"); den Gast wieder zurück befördern oder auf eine weitere Seite leiten.
        Das löst aber das Problem nicht, sondern verschiebt es nur auf das zweite "Zurück"!

        Gruß Falk
        Wenn du denkst du hast alle Bugs gefunden, dann ist das ein Bug in deiner Denksoftware.

        Quellcode ohne ein Mindestmaß an Formatierung sehe ich mir nicht an! Ich leiste keinen Privatsupport per Mail oder PN!

        Comment

        Working...
        X