Ankündigung

Einklappen
Keine Ankündigung bisher.

Änderung einer Sessionvariablen feststellen

Einklappen

Neue Werbung 2019

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

  • Änderung einer Sessionvariablen feststellen

    Hallo!
    Ich arbeite bei einem Formular mit Sessionvariablen.
    Um eine Navigation im Formular zu ermöglichen, wollte ich eine Step-Variable benutzen.
    Nun würde ich gerne einen Teil meines Code anpassen, sobald der Step ($_SESSION['step']) verändert würde.
    Gibt es da ne Abfrage "ifChanged" oder so?


  • #2
    Nein. Wirst doch wohl noch selbst merken, wenn du die Variable änderst?!
    Zitat von nikosch
    Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

    Kommentar


    • #3
      Zitat von tkausl Beitrag anzeigen
      Nein. Wirst doch wohl noch selbst merken, wenn du die Variable änderst?!
      Das ist ja ne tolle Antwort.
      Natürlich merke ich das!
      Ich möchte aber, dass die Funktion jedes mal neu aufgerufen wird, wenn ich die Variable ändere.

      PHP-Code:
      function navigation(){
          echo 
      '<!-- Navigation --> <div> <ul id="nav">';
          
      $take $_SESSION['step'];
          
      $navigation $_SESSION['navi'];
          echo 
      '<li> Notwendige Schritte: </li>'
          foreach (
      $navigation as $text => $s){            
              echo 
      '<li><a href="Wetterlage_archivieren.php?step='.$s.'"'.($s==$take ' class="active"' '').' > '.$s.'. '.$text.' festlegen </a></li>';            
          }
          echo 
      '</ul></div>';
          echo 
      "<div style='clear:left;'/><p>";

      Da der erzeugte HTML-Code am Kopf der Seite sein soll und die Seite nach unten hin immer weiter aufgebaut wird, bringt es auch nichts, die Funktion immer wieder neu aufzurufen...

      Kommentar


      • #4
        Dann halte dich an EVA, dann hast du das Problem nicht.
        Zitat von nikosch
        Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

        Kommentar


        • #5
          Ich erfasse zunächst alle Daten und verarbeite Sie dann, indem ich Sie einem Skript übergebe.
          Ich habe nur als Aufgabe bekommen, dass ich für den Nutzer ersichtlich machen soll, bei welchem von welchem Schritt er sich gerade befindet.
          Von mir aus, muss in der Navigationsleiste noch nicht einmal die Link-Funktionalität vorhanden sein, da man alle Daten im Formular auch so noch ändern kann.
          War nur auch so gewünscht.

          Wie kann ich dem Nutzer denn sonst eine Übersicht aller benötigten Schritte plus Anzeige, wo er sich befindet geben? Bzw wie soll ich das angehen, um dem EVA-Prinzip treu zu bleiben?

          Kommentar


          • #6
            Na dann ändert sich doch nach der Ausgabe von der Navigation nichts mehr an der Step-Variable, dann verstehe ich dein Problem nicht.
            Zitat von nikosch
            Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

            Kommentar


            • #7
              Doch, dass ist eine Hilfsvariable, die ich eingeführt habe, um irgendwie eine Art Navigation zu basteln.
              Ansonsten ändert sich keine Variable!

              Kommentar


              • #8
                Eine simple, absolut Grundlagen behaftete Variante wäre so etwas:
                PHP-Code:
                session_start();


                if ( !isset(
                $_SESSION['step']) ) {
                    
                    
                $_SESSION['step'] = 0;
                    
                }


                $aStepItems = array( 'Step-1''Step-2''Step-3''Step-4''Step-5' );


                echo 
                '<ul>';


                foreach ( 
                $aStepItems as $index=>$step ) {
                    
                    
                $sListItem = ( $index == $_SESSION['step'] )? '<li class="highlight-step">''<li>';
                    echo 
                $sListItem $step '</li>';

                }


                echo 
                '</ul>';


                // ...irgendwo im Dokument wird natürlich $_SESSION['step'] entsprechend gesetzt !


                session_write_close(); 
                Competence-Center -> Enjoy the Informatrix
                PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                Kommentar


                • #9
                  Ehrlich gesagt, weiß ich gerade nicht, wo der Unterschied zu meinem Code ist (abgesehen davon, dass ich einen Link erzeuge)!?
                  Und die Frage, wie sich der gehighlightete Step während den Eingaben ändert, wurde mir auch noch nicht beantwortet...

                  Kommentar


                  • #10
                    Weltbewegende Unterschiede gibt es auch nicht, ich habe Dir nur ein Grundlagenbeispiel mit übersichtlichem Code zeigen wollen.
                    Mich dünkt nämlich, daß Du die Grundlagen nicht verstanden hast...
                    Das Highlightning kannst Du jetzt mit reinem CSS bewerkstelligen
                    Code:
                    /* CSS-Datei */
                    LI.highlight-step { font-weight:bold; color:#c00; }
                    ...das geht sicher auch mit Deinem Code, aber da Du darauf nicht selber kommst, muß ich davon ausgehen, daß meine Vermutung bestätigt wurde und verweise auf die Grundlagen.
                    Competence-Center -> Enjoy the Informatrix
                    PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

                    Kommentar


                    • #11
                      Zitat von Arne Drews Beitrag anzeigen
                      Weltbewegende Unterschiede gibt es auch nicht, ich habe Dir nur ein Grundlagenbeispiel mit übersichtlichem Code zeigen wollen.
                      Mich dünkt nämlich, daß Du die Grundlagen nicht verstanden hast...
                      Das Highlightning kannst Du jetzt mit reinem CSS bewerkstelligen
                      Ich denke schon, dass ich grundsätzlich verstanden habe, worum es geht

                      Mein Problem ist, dass weder dein noch mein Code funktioniert...
                      In der Navigation ändert sich erst etwas bei Step 4 (nachdem ich den ersten Submit-Button gedrückt hatte)
                      Angehängte Dateien

                      Kommentar


                      • #12
                        Ich denke schon, dass ich grundsätzlich verstanden habe, worum es geht
                        Nee, haste nicht.
                        Gibt es da ne Abfrage "ifChanged" oder so?
                        Ändere den Status früh an EINER Stelle und frage ihn hinterher ab, wo Du ihn brauchst.
                        --

                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


                        --

                        Kommentar

                        Lädt...
                        X