POST Daten nicht in SESSION möglich

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

  • POST Daten nicht in SESSION möglich

    Hi Leute!

    Ich habe folgendes Problem: Es gibt 2 Dateien (datei1.php und datei2.php).

    In datei1.php habe ich ein Formular mit einigen Dropdowns und Textfeldern. Diese übergebe ich per POST an datei2.php, wo die Werte auch wohlbehalten ankommen. Nun möchte ich aber diese Werte in SESSION-Variablen anspeichern, damit ich diese verfügbar habe, falls man eine Auswahl in datei1.php ändern möchte.

    Leider ist es mir aber nicht möglich, die Werte aus der SESSION in datei1.php abzurufen, in datei2.php aber schon. Nun ist mir folgendes aufgefallen.

    Eigentlich möchte ich das ganze so in datei2.php lösen:
    PHP-Code:
    $bundesland $_POST['f_bundesland'];
    $_SESSION['s_bundesland'] = $bundesland
    Rufe ich nun $_SESSION['s_bundesland'] in datei2.php ab, funktioniert es tadellos, in datei1.php aber nicht.

    Weise ich den Wert aber nicht von der POST-Variable zu, sondern schreibe ich den Wert direkt in die Session Variable, also so

    PHP-Code:
    $_SESSION['s_bundesland'] = "mein Bundesland"
    funktioniert alles und ich kann den Wert auch in datei1.php abrufen.

    Nun nehme ich an, dass die Werte aus der POST Variable irgendwie nicht richtig an die SESSION übergeben werden können:

    Ich habe PHP 4.3.10 lokal laufen, aber bisher hatte ich so ein Problem noch nicht. Ich zeige euch auch noch den HTML-Teil des Formulars:

    Code:
    <form method="POST" id="suchform" action="index.php?cmd=datei2">
    
    <select name="f_bundesland" size="1">
      <option value="egal1">egal1</option>
      <option value="egal2">egal2</option>
      <option value="egal3">egal3</option>
    </select>
    
    </form>
    Kann mir vielleicht jemand einen Tipp geben, wieso das nicht funktioniert?

    Danke Greetz Lukas

  • #2
    quatsch.

    überprüf mal lieber, dass die sessionid auch übertragen wird, und die daten eingetragen wurden. debuggen halt!!!

    Kommentar


    • #3
      PHP-Code:
      if (isset($_POST['f_bundesland']))
      {
          
      $_SESSION['s_bundesland'] = $_POST['f_bundesland'];

      evtl hilft dir ja sowas.....
      Wir werden alle sterben

      Kommentar


      • #4
        Re: POST Daten nicht in SESSION möglich

        Hi TobiaZ!

        Hast du dir meinen Beitrag eigentlich gänzlich durchgelesen? Ich habe doch geschrieben:

        Original geschrieben von skalu

        Weise ich den Wert aber nicht von der POST-Variable zu, sondern schreibe ich den Wert direkt in die Session Variable, also so

        PHP-Code:
        $_SESSION['s_bundesland'] = "mein Bundesland"
        funktioniert alles und ich kann den Wert auch in datei1.php abrufen.
        Daher muss die Session-ID übergeben werden, sonst würde es kaum funktionieren, wenn ich den Wert direkt zuweise.

        Und debuggen tue ich seit knapp 3 Stunden nur wegen dem Fehler!

        @combie

        Sorry, aber ich verstehe nicht ganz, was ich in der IF-Abfrage prüfen soll. In datei2.php rufe ich den Wert ja direkt aus der SESSION ab und da funktioniert es - nur in datei1 eben dann nicht mehr, also muss der Wert schon in der SESSION abgespeichert sein!

        Greetz Lukas

        Kommentar


        • #5
          nur in datei1 eben dann nicht mehr, also muss der Wert schon in der SESSION abgespeichert sein!
          Dann hätte ich gerne datei1.php gesehen!!

          Steht da auch session_start() drin?

          In datei2.php rufe ich den Wert ja direkt aus der SESSION ab
          Unsinn!
          Oben sagst du, das du die Daten per post an datei2.php sendest!!!!
          Einmal bitte entscheiden
          Zuletzt geändert von combie; 05.07.2006, 16:28.
          Wir werden alle sterben

          Kommentar


          • #6
            @combie

            Brauchst du einen bestimmten Teil? Für mein Problem ist aus datei1.php eigentlich nur folgende Zeile relevant, da ich hier den Wert aus der SESSION abrufen möchte:

            PHP-Code:
            $bundesland $_SESSION['s_bundesland']; 
            Nur die enthält eben keinen Wert!

            Und JA, ich habe session_start() verwendet... zwar nicht in jeder der beiden Dateien, aber in einer übergeordneten "index.php", in die datei1 und datei2 included werden. Bringt aber auch nix, wenn ich das zusätzlich nochmal reinschreibe.

            Danke für deine Hilfe!

            Greetz Lukas

            Kommentar


            • #7
              @combie

              Sorry, das hatte ich nicht gut erklärt. Die Daten sende ich natürlich per POST und möchte dann den Wert in die SESSION speichern.

              In datei2.php habe ich nur testweise den Wert aus der SESSION abgerufen, damit ich prüfen kann, ob der Wert überhaupt reingeschrieben ist.

              Und dieses Abrufen funktioniert zwar in datei2.php, aber nicht in datei1.php.

              So, ich hoffe nun hab ich's geklärt

              Greetz Lukas

              Kommentar


              • #8
                So, ich hoffe nun hab ich's geklärt
                Leider nein!!
                Die Informationen reichen nicht um dir zu helfen!!

                Aber wenn du datei1.php für geheim erklärst, naja, dann musst du dir halt selber helfen....



                Weiterhin:
                Das "händische" reinschreiben funktioniert!
                Mit Post Daten nicht!

                Also:
                Dann stimmt mit deiner Programmlogik irgendwas nicht!!
                Zuletzt geändert von combie; 05.07.2006, 16:57.
                Wir werden alle sterben

                Kommentar


                • #9
                  Dann wäre es nett, wenn du mir sagst, was du genau brauchst. In den Boardregeln steht, dass man nur den relevanten Code-Teil posten soll - das hab ich gemacht.

                  Und geheimhalten tu ich nichts Hier also der PHP-Code von datei1.php

                  PHP-Code:

                  echo "test: ",$_SESSION['s_bundesland'],"<br><br>"// Test, welchen Wert die SESSION enthält

                  // wenn datei1 aufgerufen wird, um Eingaben zu ändern, wird sie mit &load=filter aufgerufen > siehe IF weiter unten
                  if (isset($_GET['load'])) { $load $_GET['load']; } else { $load "no"; }

                  // VAR preset ANFANG

                  $kategorie "egal";
                  $bezirk "egal";
                  $ort "alle";
                  $heizung "egal";

                  $zimmer_von '';
                  $zimmer_bis '';
                  $gesamtflaeche_von '';
                  $gesamtflaeche_bis '';
                  $nutzflaeche_von '';
                  $nutzflaeche_bis '';
                  $kaufpreis_von '';
                  $kaufpreis_bis '';
                  $miete_von '';
                  $miete_bis '';
                  $betriebskosten_von '';
                  $betriebskosten_bis '';

                  $loggia '';
                  $balkon '';
                  $garage '';
                  $lift '';

                  // VAR preset ENDE

                  if ($load == "filter")
                  {
                      
                  $bundesland $_SESSION['s_bundesland'];
                      
                  $kategorie $_SESSION['kategorie'];
                      
                  $bezirk $_SESSION['bezirk'];
                      
                  $ort $_SESSION['ort'];
                      
                  $heizung $_SESSION['heizung'];

                      
                  $zimmer_von $_SESSION['zimmer_von'];
                      
                  $zimmer_bis $_SESSION['zimmer_bis'];
                      
                  $gesamtflaeche_von $_SESSION['gesamtflaeche_von'];
                      
                  $gesamtflaeche_bis $_SESSION['gesamtflaeche_bis'];
                      
                  $nutzflaeche_von $_SESSION['nutzflaeche_von'];
                      
                  $nutzflaeche_bis $_SESSION['nutzflaeche_bis'];
                      
                  $kaufpreis_von $_SESSION['kaufpreis_von'];
                      
                  $kaufpreis_bis $_SESSION['kaufpreis_bis'];
                      
                  $miete_von $_SESSION['miete_von'];
                      
                  $miete_bis $_SESSION['miete_bis'];
                      
                  $betriebskosten_von $_SESSION['betriebskosten_von'];
                      
                  $betriebskosten_bis $_SESSION['betriebskosten_bis'];

                      
                  $heizung $_SESSION['heizung'];
                      
                  $loggia $_SESSION['loggia'];
                      
                  $balkon $_SESSION['balkon'];
                      
                  $garage $_SESSION['garage'];
                      
                  $lift $_SESSION['lift'];

                  Original geschrieben von combie
                  Weiterhin:
                  Das "händische" reinschreiben funktioniert!
                  Mit Post Daten nicht!

                  Also:
                  Dann stimmt mit deiner Programmlogik irgendwas nicht!!
                  Was meinst du mit der Aussage? Ich hab ja nur probiert, ob der SESSION-Wert an datei1 übergeben werden kann, wenn ich den Wert manuell zuweise - was ist daran nicht in Ordnung?

                  Greetz Lukas

                  Kommentar


                  • #10
                    was ist daran nicht in Ordnung?
                    Sessions machen KEINEN Unterschied zwischen
                    "händischen" und POST Daten!!

                    Also wenn das eine funktioniert und das andere nicht,
                    dann stimmt dein Prorammablauf nicht mit deinen Wünschen überein!!


                    Aber jetzt, wo ich das ganze Script sehe, frage ich mich, ob evtl. dieser Vergleich fehlschlägt:

                    PHP-Code:
                    if ($load == "filter"
                    Wir werden alle sterben

                    Kommentar


                    • #11
                      Hi!

                      Also jetzt wird's mir echt zu viel! Im Internet Explorer funkt mein Script und im Mozilla Firefox nicht...

                      Wie kann's sowas bitte geben? Dann muss es am HTML-Code liegen oder?

                      Danke, Greetz Lukas

                      Kommentar


                      • #12
                        hi,
                        ich verstehe deine problematik. postvariable wird nicht behalten, händisch gesetzte schon.

                        nur ansätze:

                        - du bist sicher, das $_POST['f_bundesland'] auch was enthält?
                        (du sagst zwar, das es in datei2.php funzt, doch weiß ich ja nicht, wie
                        du da debuggt hast)

                        - kann es ein cache problem sein? weiß zwar auch nicht wie es zu sowas
                        kommen könnte, aber pferde kotzen nun mal regelmäßig


                        - mehr fällt mir derzeit auch nicht ein. drück die daumen
                        EDIT:
                        aufgrund des neuen post von dir
                        vielleicht doch n cache??

                        wenn es browserabhängig funzt, kann es ja nicht mehr an php liegen

                        setz doch n metatag, der das holen ausm cache unterbinded.

                        **********
                        arkos
                        **********

                        Kommentar


                        • #13
                          Dann hast du im FF wohl Cookies abgeschaltet
                          Und misserabel debugt!


                          ps:
                          Cache fehler sind eigendlich auszuschließen
                          ebenso HTML (aber, das Formular habe ich noch nicht gesehen)
                          Zuletzt geändert von combie; 05.07.2006, 17:28.
                          Wir werden alle sterben

                          Kommentar


                          • #14
                            @combie:

                            wie hätte mit abgeschalteten cookies dann mit dem händischen eintrag in der session klappen können?
                            **********
                            arkos
                            **********

                            Kommentar


                            • #15
                              Selbstzitat:
                              Und misserabel debugt!
                              Wir werden alle sterben

                              Kommentar

                              Lädt...
                              X