Problem mit Session Übergabe

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

  • #16
    Original geschrieben von kraut29
    Der sollte diesen Wert eigentlich , von der Auswertung.php mit übernehmen.
    Wird denn FA_Formular.php nicht vor FA_auswertung.php aufgerufen?
    Denn bei den anderen Werten klappt dies ja auch!
    Wundervolles Argument ...

    Die "anderen Werte" stehen in der Session, und der Name (Index), unter dem sie anzusprechen sind, ist bekannt.

    $FA_NR steht aber nicht in der Session, sondern soll benutzt werden, um auf diese zuzugreifen.


    Langsam solltest du dir mal überlegen, on du überhaupt verstehst, was du da machst.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #17
      Trashar, sorry wegen dem e. Hab es so probiert, wie du es gesagt hast:

      Formular:

      PHP-Code:
      $FA_NR $_GET['FA_NR']; 

      Auswertung:


      PHP-Code:
      header("Location: FA_Formular.php?FA_NR=".$_POST['FA_NR']); 
      Klappt aber leider nicht, denn es werden jetzt auch nicht mehr die anderen Felder mit angezeigt. Übschreib ich mit

      PHP-Code:
      $FA_NR $_GET['FA_NR']; 
      nicht die bestehende Session denn?

      Kommentar


      • #18
        Original geschrieben von kraut29
        Formular:
        $FA_NR = $_GET['FA_NR'];

        Auswertung:
        header("Location: FA_Formular.php?FA_NR=".$_POST['FA_NR']);
        Was kommt denn jetzt zuerst, Formular oder Auswertung?
        Was wird als erstes aufgerufen (und wie)?
        Übschreib ich mit
        $FA_NR = $_GET['FA_NR'];
        nicht die bestehende Session denn?
        Kannst du jetzt bitte mal begreifen, dass $FA_NR mit der Session absolut nichts zu tun hat?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #19
          Wahsaga hast wohl anscheinend Recht, das ich es nicht ganz verstehe. Ja das Formular wird am Anfang vor der Auswertung aufgerufen und danach wird wieder das Formular aufgerufen

          Ich versteh halt nicht, wenn ich in dem Formular
          PHP-Code:
          print_r($_SESSION[$FA_NR]); 
          mache mir dann alles angezeigt wird, außer die $_SESSION[$FA_NR]['FA_NR']. Ich hab dem Wert doch in der Auswertung erzeugt. Mit:

          PHP-Code:
          $FA_NR $_POST['FA_NR']; 
          PHP-Code:
          $_SESSION[$FA_NR]['FA_NR'] = $_POST['FA_NR']; 
          Kannst du mir den Zusammenhang bitte erklären?
          Ich hab es vorher ohne dieses Array $_SESSION[$FA_NR] gemacht, sondern
          PHP-Code:
          $_SESSION['FA_NR'] = $_POST['FA_NR']; 
          da hat alle prima funktioniert, aber jetzt?

          Kommentar


          • #20
            Es kommt zuerst das Formular, wo ich in verschiedene <input> Felder
            Werte reinschreibe, danach wird dies zur Auswertung geschickt,
            welches diese Werte überprüft und zurück zum Formular schickt, wo
            sie wieder angezeigt werden sollen.

            Kommentar


            • #21
              Original geschrieben von kraut29
              Es kommt zuerst das Formular, wo ich in verschiedene <input> Felder
              Werte reinschreibe,
              Welchen Wert hat $FA_NR zu diesem Zeitpunkt?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #22
                Am allen Anfang hat $FA_NR keinen Wert.

                Der Wert ergibt sich aus diesem input Feld:
                PHP-Code:
                <input type="text" name="FA_NR"  value="<?php echo $_SESSION[$FA_NR]['FA_NR']?>>
                welcher jedoch erst in der Auswertung.php zugewiesen wird. Wurden
                die Daten per header wieder zurückgesendet, soll der Wert per echo
                angezeigt werden.

                Kommentar


                • #23
                  Original geschrieben von kraut29
                  Am allen Anfang hat $FA_NR keinen Wert.
                  Und trotzdem willst du es benutzen, um damit als Index auf Werte in $_SESSION zuzugreifen. Erscheint dir das nicht auch ein wenig unlogisch?
                  Wurden die Daten per header wieder zurückgesendet, soll der Wert per echo angezeigt werden.
                  Du versuchst aber jedes mal ihn anzuzeigen, auch beim ersten Mal.
                  I don't believe in rebirth. Actually, I never did in my whole lives.

                  Kommentar


                  • #24
                    Mmh irgendwie steh ich auf dem Schlauch, schau mal so hab ich es vorher gemacht:

                    Formular:

                    PHP-Code:
                    <input type="text" name="FA_NR"  value="<?php echo $_SESSION['FA_NR']?>">


                    Auswertung:

                    PHP-Code:
                    $_SESSION['FA_NR'] = $_POST['FA_NR'];
                    header("Location: FA_Formular.php"

                    Damit mir die Daten nicht bei jedem weiteren Aufruf, wieder angezeigt werden sollen, hab ich ein session_destroy (); eingebaut. So nun wollte ich ein Login einbinden, da funktioniert das ja nicht mehr mit dem session_destroy ();. Darauf hat mir ein Kumpel gesagt ich soll alle Werte die ich mit Post zu der Auswertung.php schicke in ein Array stecken. So das ich am Ende, wenn die Daten gespeichert wurden sind, nur das SESSION-Array (mit den Formularwerten ) mit unset zurücksetzten kann, aber die SESSION bleibt dem Benutzer erhalten. Also meine vorheriges Script hat Super funktioniert, nur die momentane Umsetzung nicht. Hast du denn einen anderen Vorschlag? Hoffe du verstehst mein Vorhaben?
                    Zuletzt geändert von kraut29; 26.09.2006, 10:09.

                    Kommentar


                    • #25
                      Original geschrieben von kraut29
                      Hast du denn einen anderen Vorschlag?
                      Affenformular, kommt für die Prüfung der Daten vor der Verarbeitung vollkommen ohne Session aus.
                      I don't believe in rebirth. Actually, I never did in my whole lives.

                      Kommentar


                      • #26
                        Auswertung.php ist natürlich komplexer aufgebaut, wie hier angegeben. Wenn z.B. alle Felder korrekt ausgefüllt wurden sind, wird das komplette Formular auf readonly gesetzt, so das man keine Wert mehr ändern kann, danach kann man das formular speichern oder erneut bearbeiten. Sind Fehler aufgetreten, wird das Formlar mit alle angegeben Feldern wieder gefüllt, wobei Felder die fehlerhaft sind rot unterlegt sind. Nur zur Info

                        Kommentar


                        • #27
                          Ich wollte die Auswertung halt auslagern, wegen der Übersichtlichkeit.
                          Ein Script mit über 1000 Zeilen ist doch nicht wirklich schön oder?

                          Kommentar


                          • #28
                            Kannst du mir an diesen Beispielscript , erklären wie man es richtig macht?


                            Formular:

                            PHP-Code:
                            <?php

                            session_start
                            ();
                            ?>
                            <form action="auswertung.php" method="post">
                            <input type="text" name="Wert1" value="<?php echo $_SESSION[$Wert1]['Wert1']?>">
                            <input type="text" name="Wert2" value="<?php echo $_SESSION[$Wert1]['Wert2']?>">
                            <input type="text" name="Wert3" value="<?php echo $_SESSION[$Wert1]['Wert3']?>">
                            <input type="submit" name="submit" value="submit">
                            </form>

                            Auswertung:

                            PHP-Code:
                            <?PHP
                            session_start
                            ();

                            $Wert1=$_POST['Wert1'];
                            $_SESSION[$Wert1]['$Wert1']=$Wert1;
                            $_SESSION[$Wert1]['$Wert2']=$_POST['$Wert2'];
                            $_SESSION[$Wert1]['$Wert3']=$_POST['$Wert3'];
                            header("Location:formular.php");
                            ?>
                            Wird mich echt riesig über deine Hilfe freuen.

                            Kommentar


                            • #29
                              Original geschrieben von kraut29
                              Auswertung.php ist natürlich komplexer aufgebaut, wie hier angegeben. Wenn z.B. alle Felder korrekt ausgefüllt wurden sind, wird das komplette Formular auf readonly gesetzt, so das man keine Wert mehr ändern kann, danach kann man das formular speichern oder erneut bearbeiten. Sind Fehler aufgetreten, wird das Formlar mit alle angegeben Feldern wieder gefüllt, wobei Felder die fehlerhaft sind rot unterlegt sind.
                              Also klassischer Anwendungsfall für ein Affenformular.

                              Ich wollte die Auswertung halt auslagern, wegen der Übersichtlichkeit.
                              Dann lagere Code-Teile in include-Dateien aus.

                              Derzeit machst du das Auslagern ja offenbar "über HTTP", in dem du ständig von der einen Ressource zur anderen und per Header wieder zurück springst. Das ist 'ne ziemlich ungewöhnliche (und m.E. nicht sehr sinnvolle) Art des "Auslagerns" ...
                              I don't believe in rebirth. Actually, I never did in my whole lives.

                              Kommentar


                              • #30
                                Das wäre meine letzte Alternative, will es eigentlich verhindern nochmal alles umzustricken. Geht denn ein mehrdimensonales Array nicht?

                                Kommentar

                                Lädt...
                                X