POSt-Daten Problem

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

  • POSt-Daten Problem

    N'Abend/Morgen zusammen,

    ich suche nun wirklich schon nach geraumen Zeit die Lösung für ein Problem.

    Die Anwender tätigen auf meiner Seite viele Eingaben. Diese werden ausgewertet, gespeichert oder sonstiges mit den Daten gemacht.

    Die Eingabe erfolgt über Eingabefelder und werden über $_POST eingelesen, gecheckt etc.

    Geht man im Firefox nun eine Seite zurück (ohne Links zu verwenden), so kommt eine Warnmeldung in etwa: "Die Seite wurde mit Postdaten aufgebaut[...]"

    Wie kann ich das verhindern? Ich hab ewig gegoogelt und herausgefunden , dass ich die $_POST Variabeln am besten an eine $_Session übergebe und dazwischen einen Redirect schalte.

    Soweit sogut.

    Hat jemand evtl ein Tutorial oder mal ein handfestes Beispiel? Ich kann mir zur Zeit keinen Reim daraus machen wie ich das am besten Bewerkstellige.

    Grüße
    Noro

  • #2
    Geht man im Firefox nun eine Seite zurück (ohne Links zu verwenden), so kommt eine Warnmeldung in etwa: "Die Seite wurde mit Postdaten aufgebaut[...]"
    Afaik gar nicht.

    Ich hab ewig gegoogelt und herausgefunden , dass ich die $_POST Variabeln am besten an eine $_Session übergebe und dazwischen einen Redirect schalte.
    Nagut, das ändert den Sachverhalt und dürfte wohl nur als Workaround gelten.

    Hier mein Tutorial:

    1) Seite mit Formular: form.php
    PHP-Code:
    <form method="post" action="search.p2s.php">/* deine Felder */</fom
    2) Zwischengeschaltete Seite: search.p2s.php
    PHP-Code:
    /* ggf. Daten Prüfen */
    $_SESSION['postdata'] = $_POST;
    header('Location: [url]http://example.com/search.php[/url]'); 
    3) Die eigentliche Suchseite (Beispiel): search.php
    PHP-Code:
    /* normaler Code, allerdings jetzt $_SESSION['postdata'] verwenden. */ 
    Zuletzt geändert von TobiaZ; 26.04.2008, 11:21.

    Kommentar


    • #3
      Ok, doch einfacher als erwartert.

      Danke schonmal ^^ Dachte man müsste es komplexer aufziehen.

      Ich füge grad eine Frage hinzu, die zum Thema passt:

      Gibt es ein $_SESSION Variabeln limit? Durch die vielen benutzereinagaben würden sicher ein paar zusammenkommen.


      Ich habe recht oft den Fall, dass ich einen Redirect durchführen muss. Die Lösung dafür wäre ein Switch Case dem ich per $_GET wohin sie redirecten soll.

      z.B. redirect.php?action=main

      Gibt es eine elegantere Lösung?


      Danke im Vorraus

      Greetz
      Noro

      Kommentar


      • #4
        Gibt es ein $_SESSION Variabeln limit? Durch die vielen benutzereinagaben würden sicher ein paar zusammenkommen.
        Ja, das dürfte aber vom Speicher definiert werden und das wirst du auch hoffentlich nicht erreichen.

        Ich habe recht oft den Fall, dass ich einen Redirect durchführen muss. Die Lösung dafür wäre ein Switch Case dem ich per $_GET wohin sie redirecten soll.

        z.B. redirect.php?action=main

        Gibt es eine elegantere Lösung?
        ??? Häh?

        Kommentar


        • #5
          Ok, ich versuchs nochmal anders zu formulieren. ar vorhin nicht ganz wach ^^


          Also, ich habe oft den Fall, dass Benutzerdaten eingeben werden.

          Jetzt wäre es ja wahrscheinlich nicht so praktisch, für jede Weiterleitung ne neue Datei zu schreiben. D.h. ich würde jetzt eine Datei zum redirecten schreiben.

          Z.B. redirect.php

          An diese kann ich dann übergeben, was sie tun soll mit. Z.B. wenn ich vom login auf die hauptseite weiterleiten will:

          redirect.php?action=main


          Gibt es eine bessere Möglichkeit das mit dem Redirect zu lösen?

          Hoffe ich konnte mich klarer ausdrücken.

          Greetings
          Noro

          Kommentar


          • #6
            Also wenn du schon der Meinung bist, dass du das für jedes Formular so anwenden willst, dann schreib dir doch ne Routine, die überprüft, ob die Daten ausm POST kommen und sie dann in die Session speichert und weiterleitet. Dann kannst du auf die zusätzliche Recirect-Seite verzichten.

            Kommentar

            Lädt...
            X