Formular & Button "Go Back"

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

  • Formular & Button "Go Back"

    hi,

    habe folgendes problem:

    wenn ich eine seite mit hilfe von formularwerten neue generiere und ich anschliessend auf eine andere seite browse, kann ich den zurück button des browsers nicht mehr verwenden. folgende meldung bekomme ich dann:

    Achtung: Seite ist nicht mehr gültig!

    so, jetzt hab ich mal ein bisschen rumgeschaut, weil ich mir gedacht habe das ich das prob mit entsprechenden meta info's lösen kann, aber es klappt nicht so ganz gibt es einen trick wie ich auf die seite ohne meldung zurück komme??

  • #2
    ja, mit nem eigenen Sessionhandler geht das
    TBT

    Die zwei wichtigsten Regeln für eine berufliche Karriere:
    1. Verrate niemals alles was du weißt!


    PHP 2 AllPatrizier II Browsergame

    Kommentar


    • #3
      sessionhandler .. wie meinste das jetzt? also sessions verwende ich schon.

      wie gesagt, der user gibt ein paar daten in ein formular ein, das script lädt sich neu und die daten werden in session var's gespeichert. wird jetzt eine andere seite inerhalb der session aufgerufen, kommt das prob mit der meldung, sobald der user zurück möchte.

      Kommentar


      • #4
        das meinte er ja, schreibst du einen eigenen Sessionhandler, geht das!

        gruss

        Kommentar


        • #5
          der Sessionhandler von PHP verlangt jedesmal aktuelle Daten,
          was du nicht unterdrücken kannst. Daher kommt die Meldung
          "Achtung: Seite ist nicht mehr gültig!"

          Schreibst du deinen eigenen Sessionhandler und nimmst nicht den von PHP,
          wird die Aktualität nichtmehr zwingend gefordert, und du kannst
          vor und zurückgehen wie du willst.
          TBT

          Die zwei wichtigsten Regeln für eine berufliche Karriere:
          1. Verrate niemals alles was du weißt!


          PHP 2 AllPatrizier II Browsergame

          Kommentar


          • #6
            achso (jetzt hat es geklingelt) *g*

            hm.. wenn ich jetzt noch einen eigenen session handler schreiben muss, puhh.. wie sollte ich das machen?

            Kommentar


            • #7
              du schnappst dir eine sessionfunktion nach der anderen und baust die nach
              machs über eine Datenbank, die tabelle legst du als HEAP-Table an.

              @tbt: meine Mail heute morgen bekommen ??

              gruss

              Kommentar


              • #8
                ups..

                das hört sich jetzt aber nicht nach "ist in einer stunde erledigt" an
                dazu kommt ja noch das ich zusätzlich noch einige funktionen in das ganz script chaos unterbingen müsste *nörgel*.

                nagut erstmal danke, vieleicht finde ich noch einen anderen weg.. es sei denn jemand bestätigt mir nochmal das es definitiv keinen anderen weg gibt )

                Kommentar


                • #9
                  das hört sich jetzt aber nicht nach "ist in einer stunde erledigt" an
                  stimmt, dauert nur 5 min
                  (hoffe da sind jetzt keine Tipfehler drin, ist mal so schnell hingeschrieben)
                  PHP-Code:
                  class Session{
                      var 
                  $time;
                      var 
                  $data;
                      var 
                  $sessid;
                      var 
                  $expire;
                      function 
                  Session($_sessid=0,$_expire=300){
                          
                  $this->expire=$_expire;
                          if(
                  $_sessid)
                              
                  $this->load();
                          else
                              
                  $this->start();
                      }
                      function 
                  start(){
                          
                  $this->sessid md5(uniqid($this->time time()));
                      }
                      function 
                  load(){
                          
                  // lade die Session aus DB / File, woher du willst,
                          
                  $result=mysql_query("select time,data from session where 
                                          sessid='"
                  .$this->sessid."'
                                          and time>"
                  .($this->time-$this->expire)."");
                          
                  // wenn kein Ergebniss, dann mit
                          // return $this->start()
                          // eine neue Session starten, sonst
                          // packe die Daten in die Objectvariablen
                          // ...
                      
                  }
                      function 
                  save(){
                          
                  // irgendwo hin speichern, zB. Datenbank
                          
                  mysql_query("insert into session (sessid,time,data) 
                                          values ('"
                  .$this->sessid."',
                                          "
                  .$this->time.",
                                          '"
                  .serialize($this->data)."')");
                      }
                      function 
                  set($_var,$_value){
                          return 
                  $this->data[$_var]=$_value;
                      }
                      function 
                  get($_var){
                          return isset(
                  $this->data[$_var])?$this->data[$_var]:'';
                      }    
                      function 
                  remove($_var){
                          if(isset(
                  $this->data[$_var]))
                              unset(
                  $this->data[$_var]);
                      }

                  beim Benutzen an jeden Link ein

                  sessid=$sessionobject->sessid

                  ranhängen, außerdem nachdem der User eingeloggt ist, bzw am Ende jedes Aufrufes deiner Scripte ein

                  $sessionobject->save();

                  machen, damit die Session aktualisiert wird

                  EDIT:
                  du kannst die sessid auch im Cookie speichern, soweit der User das erlaubt hat
                  Zuletzt geändert von TBT; 06.11.2002, 11:03.
                  TBT

                  Die zwei wichtigsten Regeln für eine berufliche Karriere:
                  1. Verrate niemals alles was du weißt!


                  PHP 2 AllPatrizier II Browsergame

                  Kommentar


                  • #10
                    oder du benutzt die ADO-DB , geht auch--ist allerdings mehr schreibarbeit
                    <Life>Traumprojekt-Die Design-Community</life>

                    Kommentar


                    • #11
                      Original geschrieben von MoRtAlAn
                      @tbt: meine Mail heute morgen bekommen ??
                      nu gelesen und geantwortet.

                      Danke für die Ehre
                      TBT

                      Die zwei wichtigsten Regeln für eine berufliche Karriere:
                      1. Verrate niemals alles was du weißt!


                      PHP 2 AllPatrizier II Browsergame

                      Kommentar


                      • #12
                        fett danke. ich dachte jetzt ich müsste den php-code modifizieren, aber so ist's schon einfacher..

                        Kommentar

                        Lädt...
                        X