Ankündigung

Einklappen
Keine Ankündigung bisher.

Nach Speichern zurück zum Datensatz in der Liste

Einklappen

Neue Werbung 2019

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

  • Nach Speichern zurück zum Datensatz in der Liste

    Hi,
    ich habe eine Seite Liste.php. Aus dieser Liste rufe ich einen Datensatz auf in edit.php. Nach dem Speichern wird wieder die angezeigt Liste.php. Leider erhalte ich nicht mehr die selektierte Liste und lande auch nicht bei dem aufgerufenen Datensatz, sondern ich erhalte alle Datensätze angezeigt und befinde mich am Anfang der Liste.
    Wie kann ich die selektierte Liste wieder erhalten und automatisch zu dem aufgerufenen Datensatz springen?

    Danke
    Salü
    Ralphonso

  • #2
    Wie baust du denn die "selektierte Liste" auf? Bzw. was ist diese?

    Du musst dir grundsätzlich den Status z.B. in eine Session speichern. Wenn du zurück leitest, dann fragst du ab, ob die Seite einen Status hat und baust die Liste entsprechend wieder auf.

    Kommentar


    • #3
      Zitat von Ralphonso Beitrag anzeigen
      Wie kann ich die selektierte Liste wieder erhalten
      In dem du dafür sorgst, dass die Selektionskriterien erhalten bleiben - sie also irgendwie durchschleifst oder speicherst.
      und automatisch zu dem aufgerufenen Datensatz springen?
      Anker.

      Kommentar


      • #4
        Hi,
        also nochmal ausführlicher:

        In "Computer-Kurse_Planung.php" übergebe ich und rufe auf:
        Code:
        <a href="Computer-Kurse_Planung_aendern.php?_id=<? echo $line[id]?>">
        In "Computer-Kurse_Planung_aendern.php" speicher ich die Änderungen und rufe auf:
        Code:
        <form action="save.php" method="get" enctype="multipart/form-data">
        "save.php" speichert und ruft wieder auf:
        Code:
           $url="Computer-Kurse_Planung.php";
        Wie kann ich nun den Code vom Anfang "durchschleifen":
        Code:
        Computer-Kurse_Planung.php?Level=&Kurstitel=&Kursort=Germering&Status=&sortierung=Beginn
        und dann noch zum geänderten Datensatz springen?

        Danke und Salü
        Ralphonso

        Kommentar


        • #5
          Schreib deine Parameter in die Session.
          Meinetwegen so:

          PHP-Code:
          $_SESSION['listparams'] = array();

          if ( isset(
          $_GET['Level']) ) {
              
          $_SESSION['listparams']['Level'] = $_GET['Level'];
          }

          //usw.


          //Beim Aufbauen der Liste verwendest du die Session-Variablen:

          if ( isset($_SESSION['listparams']['Level']) ) {
              
          //..

          Kommentar


          • #6
            Bei der Gelegenheit solltest Du vielleicht auch eine Reload Sperre einbauen. Denn böse Menschen neigen dazu die Vor und Zurück Navigation im Browser exzessiv zu verwenden.

            Stichwort wären hier Formular Token

            Kommentar


            • #7
              Hi dennis81,
              danke für deine Hilfe. Sorry, ich bin Anfänger.

              1. Was meinst du mit "in die Session"? In welcher Datei: "Computer-Kurse_Planung_aendern.php" und/oder "save.php"?

              Ich vermute mal in "Computer-Kurse_Planung_aendern.php" in der $abfrage in der die Datensätze in einer Schleife angezeigt werden?

              In der "save.php" gibt es den Code
              PHP-Code:
                if ($update>0) {
                         .........
                 
              $url="Computer-Kurse_Planung.php";
                 echo 
              '<meta http-equiv="refresh" content="'.$nDelay.'; url='.$url.'">'

              2. Es gibt mehrere Daten die übertragen werden sollen: Level, Kurstitel, Kursort, Status, sortierung. Wie kettet man die aneinander?

              Danke und Salü
              Ralphonso

              Kommentar


              • #8
                Zitat von Ralphonso Beitrag anzeigen
                Hi dennis81,
                danke für deine Hilfe. Sorry, ich bin Anfänger.

                1. Was meinst du mit "in die Session"? In welcher Datei: "Computer-Kurse_Planung_aendern.php" und/oder "save.php"?
                Denke mal logisch darüber nach "Wann" Du die Information erhälst und genau da speicherst du es in die SESSION.

                Wie wir alle wissen ist das HTTP Protokoll zustandslos und somit kann der Webserver den Client im eigentlichen Sinne nicht wiedererkennen.

                Deshalb gibt es die Semantik eines Token der bei der Anfrage übertragen wird um die Benutzersitzung wiederzuerkennen.

                Die Session Daten sind im superglobalen $_SESSION enthalten und dort kannst Du nach belieben $_SESSION['variable']="heuteregnetes"; speichern. Solltest nur dafür sorgen das session_start(); in allen Scripten am Anfang steht und absolut gar nichts vorher ausgegeben wird, sonst wirst du ein headers already sent Problem ernten.

                Kommentar


                • #9
                  zu 1) siehe payne_of_death
                  zu 2) Stichwort assoziative Arrays
                  $_SESSION['Level']
                  $_SESSION['Kurstitel']
                  etc.

                  Kommentar

                  Lädt...
                  X