Session_destroy

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

  • Session_destroy

    Ich arbeit mit Session bei einem Formular um Fehler und Falscheingaben abzufangen.

    Jetzt will ich aber das Formular noch mals aufrufen, weil ich noch was nachbestellen will, und ich bekomme die Session jetzt nicht zerstört.

    Er zeigt mir immer wieder die Fehler oder Eingaben aus dem ersten aufruf an.
    Zuletzt geändert von Wotan; 10.06.2003, 13:49.
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    wie sieht denn dein code aus ??

    ich glaube die auswirkungen vom session_destroy() bekommt man erst zu spueren wenn wieder eine neue seite angefortdert wurde ...

    ne moeglichkeit waere also, dass man die session zerstoert und per header auf die formularseite weiterleitet....
    also so funzt das bei mir zumindestens

    gruss

    iglo

    Kommentar


    • #3
      Ok.

      Aber was anderes.
      Wenn ich jetzt eine Falscheingabe korrigiere, bekomme ich sie nicht in de Session rein. Er springt zwar wieder zurück auf das Formular aber hat nicht die neue Eingabe gespeichert.Wie bekomme ich das hin?
      *winks*
      Gilbert
      ------------------------------------------------
      Hilfe für eine Vielzahl von Problemen!!!
      http://www.1st-rootserver.de/

      Kommentar


      • #4
        mit session_unregister()...

        überprüfe den alten $_SESSION['wert'] mit dem neuen Wert aus dem Formular und wenn die nicht übereinstimmen wird der alte sessionwert duch unregister entfernt und der neue wird durch session_register() eingefügt...

        cya CrazyPip

        Kommentar


        • #5
          Jetzt habe ich aber 31 Vars in der Session.
          Ich kann doch jetzt nicht alle einzel prüfen. Es muss doch auch anders gehen.

          Das ist meine Prüfung der auf Fehler und Setzen der Session:
          PHP-Code:
          if($error == 1)
              {
              
          session_unregister();// Was muss hier hin?
              
          session_register("kunden_nr","was","domain",
          "firma","FNR_firma",
          "vorname","FNR_vorname",
          "nachname","FNR_nachname",
          "strasse","FNR_strasse",
          "hausnr","FNR_hausnr",
          "plz","FNR_plz",
          "ort","FNR_ort",
          "landesvorwahl","FNR_landesvorwahl",
          "landesvorwahl2","FNR_landesvorwahl2",
          "vorw1","FNR_vorw1",
          "telefon","FNR_telefon",
          "vorw2","FNR_vorw2",
          "fax","FNR_fax",
          "email","FNR_email");
              
          $kunden_nr $kd;
              
          header("Location: /$was/auftrag1/$domain/$was/$error/");
              } 
          Wie kann ich das jetzt so machen, das er die Neueingabe in die Session schreibt?
          Zuletzt geändert von Wotan; 10.06.2003, 14:04.
          *winks*
          Gilbert
          ------------------------------------------------
          Hilfe für eine Vielzahl von Problemen!!!
          http://www.1st-rootserver.de/

          Kommentar


          • #6
            z.B.
            session_unregister("firma");

            je nach dem, welche Felder der User eben geändert hat...

            evtnl würde ich es so machen: Wenn der user merkt er habe eine falsche engabe gemacht, dann würde ich per value="" alle Felder ausfüllen, mit den Daten die der User bereits eingegeben hatte. Und egal ob er dann noch was ändert oder nicht, die sessionvars immer neu registrieren bei jedem abschicken des Formulars...

            Seite 1 : Ausfüllen und abschicken
            Seite 2: Überprüfen (wenn Fehler: Seite 1 ansonsten Seite 3)
            Seite 3: in DB Eintragen oder Auswerten

            ...ansonsten wüsste ich auch nicht wie man schneller sowas realisieren kann - no sé

            cya CrazyPip

            Kommentar


            • #7
              Sorry, aber egal was ich jetzt probiert habe, es geht nicht.
              *winks*
              Gilbert
              ------------------------------------------------
              Hilfe für eine Vielzahl von Problemen!!!
              http://www.1st-rootserver.de/

              Kommentar


              • #8
                hi

                wotan du arbeitest doch sicherlich mit ner php version > 4.1 ...

                dann wuerd ich gar net mehr session_register benutzen sonder :
                $_SESSION["varname"] = "wert";

                zum setzen und aednern ...

                aber bedenke, wenn du in einem skript ne sessionvariable aenderst, wird die auch erst beim naechsten seitenaufruf den neuen wert haben (glaub ich ....)


                greetz
                iglo

                Kommentar


                • #9
                  Das ist ja schon Klar.
                  Ich benutze zum auslesen $_SESSION[name].

                  Habe es jetzt auch mal so versucht:
                  $_SESSION["vorname"] = "$vorname";

                  Aber jetzt bringt er mir auf der nächsten Seite noch nicht mal mehr den Vornamen.

                  Ablauf:
                  Formular
                  Weiter auf Zwischenseite, hier wird geprüft und entsprechend weitergeleitet. Bei Fehler alls in der Session speichern und zurück zum Formular.
                  Im formular werden jetzt die Falscheingaben ausgegeben und farblich markiert.
                  Wieder weiter auf die Zwischenseite. Wieder prüfen ob alles richtig ist, es ist aber noch ein fehler drin, VAr in der Session speichern!!! Und zurück zum Formular. Hier werden jetzt aber nur die Session-Vars aus dem ersten aufruf ausgegeben. Die Änderungen aus dem zweiten Aufruf bleiben undeachtet!!! Und das muss ich beheben
                  Zuletzt geändert von Wotan; 10.06.2003, 15:14.
                  *winks*
                  Gilbert
                  ------------------------------------------------
                  Hilfe für eine Vielzahl von Problemen!!!
                  http://www.1st-rootserver.de/

                  Kommentar


                  • #10
                    eigentlich sollte es so keine Probleme geben:

                    PHP-Code:
                    // auf jeder Seite ganz oben
                    session_start();

                    // Sessionvariable setzen 
                    $_SESSION['variable'] = $input;

                    // Sessionvariable löschen
                    unset($_SESSION['variable']);

                    // statt $_SESSION kannste auch $HTTP_SESSION_VARS nehmen 
                    PS:
                    Bei $_SESSION["vorname"] = "$vorname";
                    lass mal die " weg, also so:

                    $_SESSION["vorname"] = $vorname;
                    TBT

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


                    PHP 2 AllPatrizier II Browsergame

                    Kommentar


                    • #11
                      @TBT
                      Bleibt dabei, es bleibt momentan alles LEER!
                      *winks*
                      Gilbert
                      ------------------------------------------------
                      Hilfe für eine Vielzahl von Problemen!!!
                      http://www.1st-rootserver.de/

                      Kommentar


                      • #12
                        ich schau mir den Code an,
                        denke du hast dann ein ganz anderes Problem
                        TBT

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


                        PHP 2 AllPatrizier II Browsergame

                        Kommentar


                        • #13
                          Ich glaube ich hatte es schon mal hinbekommen, doch dann wollte ich es umbauen, und seit dem bekomme ich es nicht mehr hin. Mir war auch an andere Stelle aufgefallen, das ich teilweise auf die alte schreibweise ausweichen musste.
                          *winks*
                          Gilbert
                          ------------------------------------------------
                          Hilfe für eine Vielzahl von Problemen!!!
                          http://www.1st-rootserver.de/

                          Kommentar

                          Lädt...
                          X